.ct-ig--grid { display: grid; grid-template-columns: repeat(var(--ct-pv-d, 4), minmax(0, 1fr)); gap: var(--ct-gap, 10px); }
.ct-ig__item { position: relative; line-height: 0; overflow: hidden; aspect-ratio: 1; }
.ct-ig__item a { display: block; height: 100%; }
.ct-ig__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ct-ig__item a:hover img { transform: scale(1.05); }
.ct-ig__badge { position: absolute; inset: 0; background: rgba(0, 0, 0, 0); transition: background-color .3s; }
.ct-ig__item a:hover .ct-ig__badge { background: rgba(35, 61, 123, .35); }
@media (max-width: 1024px) { .ct-ig--grid { grid-template-columns: repeat(var(--ct-pv-t, 3), minmax(0, 1fr)); } }
@media (max-width: 767px) { .ct-ig--grid { grid-template-columns: repeat(var(--ct-pv-m, 2), minmax(0, 1fr)); } }
