/* =========================
   LOGO MARQUEE (2-row)
   ========================= */

.logo-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 28px;
  padding: 10px 0;
}

/* Edge fade (modern) */
@supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
  .logo-marquee {
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%
    );
  }
}

/* Edge fade fallback (older browsers): overlay gradients */
.logo-marquee::before,
.logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 70px;
  pointer-events: none;
  z-index: 2;
}

.logo-marquee::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
}

.logo-marquee::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
}

/* If your section background isn't white, set this to match it */
.vtz-logo__container .logo-marquee::before,
.vtz-logo__container .logo-marquee::after {
  /* Change rgba(255,255,255,1) if needed */
}

/* Track */
.logo-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}

/* Images */
.logo-marquee__track img {
  height: auto;
  max-height: 70px;
  width: auto;
  max-width: none;
  object-fit: contain;
  flex-shrink: 0;
  margin-right: 64px;
  opacity: 0.9;
  transition: opacity 0.25s ease;
}


.logo-marquee__track img:hover {
  opacity: 1;
}

/* Pause on hover */
.logo-marquee:hover .logo-marquee__track {
  animation-play-state: paused;
}

/* Direction + animation (requires duplicated logos in markup) */
.logo-marquee--left .logo-marquee__track {
  animation: marquee-left 40s linear infinite;
}

.logo-marquee--right .logo-marquee__track {
  animation: marquee-right 45s linear infinite;
}

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

@keyframes marquee-right {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

/* Mobile */
@media (max-width: 768px) {
  .logo-marquee::before,
  .logo-marquee::after {
    width: 44px;
  }

  .logo-marquee--left .logo-marquee__track { animation-duration: 25s; }
  .logo-marquee--right .logo-marquee__track { animation-duration: 30s; }

  .logo-marquee__track img {
    margin-right: 40px;
    max-height: 55px;
  }
}

/* Reduced motion: stop animation and allow manual horizontal scroll */
@media (prefers-reduced-motion: reduce) {
  .logo-marquee__track {
    animation: none !important;
    transform: none !important;
  }

  .logo-marquee {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Make track behave like a scroll strip */
  .logo-marquee__track {
    padding-bottom: 8px;
  }
}


