:root{
  --icic-height:auto; --icic-bg:#000; --icic-dot:#d0d0d0; --icic-dot-active:#333;
  --icic-radius:16px; --icic-nav-size:42px; --icic-dot-size:10px;
}
.icic-carousel{position:relative;width:100%;overflow:hidden;font-family:inherit;color:inherit}
.icic-carousel .icic-viewport{position:relative;background:var(--icic-bg);border-radius:var(--icic-radius);overflow:hidden;height:var(--icic-height)}
.icic-carousel[style*="--icic-ratio"] .icic-viewport{height:auto;aspect-ratio:var(--icic-ratio)}
.icic-carousel .icic-track{display:flex;transition:transform .45s ease;will-change:transform;height:100%}
.icic-carousel .icic-slide{flex:0 0 100%;position:relative;display:flex;align-items:center;justify-content:center;background:#000;height:100%}
.icic-carousel .icic-slide-image{width:100%;height:100%;display:block;object-fit:cover}
.icic-carousel[data-fit="contain"] .icic-slide-image{object-fit:contain;background:#000}
.icic-carousel .icic-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));color:#fff;padding:.6rem .8rem;font-size:.95rem;line-height:1.35}
.icic-carousel .icic-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;border-radius:999px;width:var(--icic-nav-size);height:var(--icic-nav-size);line-height:var(--icic-nav-size);text-align:center;font-size:calc(var(--icic-nav-size)*.5);cursor:pointer;z-index:2;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.icic-carousel .icic-prev{left:10px}.icic-carousel .icic-next{right:10px}
.icic-carousel .icic-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:8px;justify-content:center;z-index:2}
.icic-carousel .icic-dots button{width:var(--icic-dot-size);height:var(--icic-dot-size);border-radius:50%;border:none;background:var(--icic-dot);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.icic-carousel .icic-dots button.is-active{background:var(--icic-dot-active)}
.icic-carousel[data-effect="fade"] .icic-track{display:block;position:relative}
.icic-carousel[data-effect="fade"] .icic-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;flex:unset}
.icic-carousel[data-effect="fade"] .icic-slide.is-active{opacity:1;z-index:1}
