.icslc-carousel {
  --icslc-speed: 28s;
  --icslc-gap: 28px;
  --icslc-logo-height: 76px;
  --icslc-card-width: 210px;
  --icslc-card-height: 125px;
  position: relative;
  width: 100%;
  padding: 14px 0;
  overflow: hidden;
  isolation: isolate;
}

.icslc-carousel * { box-sizing: border-box; }
.icslc-viewport { width: 100%; overflow: hidden; }
.icslc-track {
  display: flex;
  width: max-content;
  gap: var(--icslc-gap);
  animation: icslc-scroll var(--icslc-speed) linear infinite;
  will-change: transform;
}
.icslc-group { display: flex; flex-shrink: 0; gap: var(--icslc-gap); }
.icslc-card {
  width: var(--icslc-card-width);
  height: var(--icslc-card-height);
  flex: 0 0 var(--icslc-card-width);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 22px;
  overflow: hidden;
  border: 1px solid rgba(15, 40, 73, .1);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 40, 73, .08);
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}
.icslc-card--dark { background: #071c33; border-color: rgba(255, 255, 255, .08); }
.icslc-logo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: var(--icslc-logo-height);
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.icslc-card:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 14px 34px rgba(15,40,73,.15); }
.icslc-pause-hover:hover .icslc-track { animation-play-state: paused; }
.icslc-grayscale .icslc-card:not(.icslc-card--dark) { filter: grayscale(1); opacity: .78; }
.icslc-grayscale .icslc-card:hover { filter: grayscale(0); opacity: 1; }
.icslc-direction-right .icslc-track { animation-direction: reverse; }
.icslc-fade {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: clamp(28px, 7vw, 110px);
  pointer-events: none;
}
.icslc-fade--left { left: 0; background: linear-gradient(90deg, var(--icslc-edge, #fff), transparent); }
.icslc-fade--right { right: 0; background: linear-gradient(270deg, var(--icslc-edge, #fff), transparent); }

@keyframes icslc-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-50% - (var(--icslc-gap) / 2)), 0, 0); }
}

@media (max-width: 767px) {
  .icslc-carousel {
    --icslc-card-width: min(var(--icslc-card-width), 170px);
    --icslc-card-height: min(var(--icslc-card-height), 105px);
    --icslc-logo-height: min(var(--icslc-logo-height), 62px);
    --icslc-gap: 16px;
  }
  .icslc-card { padding: 14px 17px; border-radius: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .icslc-track { animation-play-state: paused; }
  .icslc-viewport { overflow-x: auto; scrollbar-width: thin; }
  .icslc-group[aria-hidden="true"] { display: none; }
  .icslc-fade { display: none; }
}

