/* =========================================================
   ISS IMAGE CAROUSEL
========================================================= */
.iss-image-carousel { --iss-carousel-gap:18px; --iss-carousel-height:340px; --iss-carousel-visible:4; position:relative; width:100vw; max-width:none; margin-left:calc(50% - 50vw); overflow:hidden; }
.iss-image-carousel--3 { --iss-carousel-visible:3; }
.iss-image-carousel--4 { --iss-carousel-visible:4; }
.iss-image-carousel-viewport { width:100%; overflow:hidden; cursor:grab; touch-action:pan-y; }
.iss-image-carousel-viewport:active { cursor:grabbing; }
.iss-image-carousel-track { display:flex; gap:var(--iss-carousel-gap); width:max-content; will-change:transform; transform:translate3d(0,0,0); }
.iss-image-carousel-slide { flex:0 0 calc((100vw - ((var(--iss-carousel-visible) - 1) * var(--iss-carousel-gap))) / var(--iss-carousel-visible)); height:var(--iss-carousel-height); overflow:hidden; border-radius:12px; user-select:none; }
.iss-image-carousel-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; user-select:none; }

/* ===== Carousel Dots ===== */
.iss-image-carousel-dots { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:20px; }
.iss-image-carousel-dot { width:8px; height:8px; padding:0; margin:0; border:0; border-radius:50%; background:rgba(30,42,42,.25); cursor:pointer; transition:width 250ms ease,background-color 250ms ease,transform 250ms ease; }
.iss-image-carousel-dot.is-active { width:22px; border-radius:999px; background:#4faeaa; }
.iss-image-carousel-dot:hover { transform:scale(1.08); }

/* ===== Carousel Loading ===== */
.iss-image-carousel { opacity:0; transition:opacity 300ms ease; }
.iss-image-carousel.is-loaded { opacity:1; }

/* ===== Large Desktop ===== */
@media (min-width:1400px) {
.iss-image-carousel { --iss-carousel-gap:20px; }
}

/* ===== Small Desktop / Large Tablet Fix ===== */
@media (max-width:1100px) {
.iss-image-carousel { --iss-carousel-visible:3; --iss-carousel-height:320px; --iss-carousel-gap:16px; }
}

/* ===== Tablet ===== */
@media (max-width:980px) {
.iss-image-carousel { --iss-carousel-visible:2; --iss-carousel-height:300px; --iss-carousel-gap:14px; }
}

/* ===== Mobile ===== */
@media (max-width:767px) {
.iss-image-carousel { --iss-carousel-visible:1; --iss-carousel-height:280px; --iss-carousel-gap:12px; }
.iss-image-carousel-slide { flex-basis:84vw; }
.iss-image-carousel-dots { margin-top:16px; gap:7px; }
}

/* ===== Small Mobile ===== */
@media (max-width:479px) {
.iss-image-carousel { --iss-carousel-height:250px; }
.iss-image-carousel-slide { flex-basis:88vw; }
}