/* =========================================================
   CAROUSEL.CSS — Logo carousel component
   ========================================================= */

.logo-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--navy);
  border-radius: var(--r-lg);
  padding: var(--sp-2xl) var(--sp-lg);
  box-shadow: var(--shadow-md);
}

.logo-carousel__track {
  display: flex;
  align-items: center;
  gap: var(--sp-2xl);
  animation: scroll-left 20s linear infinite;
}

.logo-carousel__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  height: 80px;
  opacity: 0.85;
  transition: opacity var(--dur) var(--ease);
}

.logo-carousel__item:hover {
  opacity: 1;
}

.logo-carousel__item img {
  max-width: 180px;
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(30%);
  transition: filter var(--dur) var(--ease);
}

.logo-carousel__item:hover img {
  filter: grayscale(0%);
}

/* Duplicate items for seamless loop */
.logo-carousel__track::after {
  content: '';
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Mobile: slower scroll, smaller layout */
@media (max-width: 768px) {
  .logo-carousel {
    padding: var(--sp-lg) var(--sp-md);
  }

  .logo-carousel__track {
    gap: var(--sp-lg);
    animation: scroll-left 30s linear infinite;
  }

  .logo-carousel__item {
    min-width: 150px;
    height: 60px;
  }

  .logo-carousel__item img {
    max-width: 130px;
    max-height: 45px;
  }
}

/* Pause on hover for desktop */
@media (hover: hover) {
  .logo-carousel:hover .logo-carousel__track {
    animation-play-state: paused;
  }
}
