/* ─── LogoCarousel — Infinite auto-scroll strip ───────────────────────────────
   Pure CSS animation. JS only handles theme vars, DOM duplication, and pause.
   ─────────────────────────────────────────────────────────────────────────── */

/* ─── Container ──────────────────────────────────────────────────────────── */

[data-logos] {
  font-family: var(--lc-font, system-ui, sans-serif);
}

.lc-wrap {
  width: 100%;
  background: var(--lc-bg, #ffffff);
  border-radius: var(--lc-radius, 0px);
}

/* ─── Outer — clips overflow + fades edges ───────────────────────────────── */

.lc-outer {
  overflow: hidden;
  /* Fade out logos at left and right edges */
  -webkit-mask-image: linear-gradient(to right,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%);
  mask-image: linear-gradient(to right,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%);
}

/* ─── Track — the moving strip ───────────────────────────────────────────── */

.lc-track {
  display: flex;
  gap: var(--lc-gap, 56px);
  width: max-content;
  animation: lc-scroll var(--lc-speed, 30s) linear infinite;
  animation-direction: var(--lc-direction, normal);
  will-change: transform;
}

@keyframes lc-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* ─── Sets — two identical sets side by side for seamless loop ───────────── */

.lc-set {
  display: flex;
  align-items: center;
  gap: var(--lc-gap, 56px);
  flex-shrink: 0;
}

/* ─── Item ───────────────────────────────────────────────────────────────── */

.lc-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none;
}

/* ─── Logo image ─────────────────────────────────────────────────────────── */

.lc-logo {
  height: var(--lc-logo-h, 40px);
  width: auto;
  max-width: 140px;
  object-fit: contain;
  display: block;
  user-select: none;
  transition: filter 0.25s ease, opacity 0.25s ease;
}

/* Grayscale — desaturate by default, full color on hover */
.lc-grayscale {
  filter: grayscale(100%) opacity(0.55);
}

.lc-item:hover .lc-grayscale {
  filter: grayscale(0%) opacity(1);
}

/* ─── Reduced motion — respect OS preference ─────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .lc-track {
    animation: none;
  }

  .lc-set+.lc-set {
    display: none;
    /* hide duplicate set when not animating */
  }
}