.customer-marquee-section {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: var(--bg-2, #f8f9fc);
  overflow: hidden;
  position: relative;
}

.customer-marquee-title {
  text-align: center;
  margin-bottom: 50px;
}

.customer-marquee-title h2 {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-headings, #25373f);
  margin-bottom: 0;
}

.marquee-container {
  display: flex;
  overflow: hidden;
  user-select: none;
  width: 100%;
  position: relative;
}

.marquee-content {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 80px;
  min-width: 100%;
  animation: scroll 30s linear infinite;
  padding-right: 80px;
  /* Match gap */
}

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

.marquee-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.marquee-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--color-headings, #25373f);
  transition: transform 0.3s ease;
}

.marquee-item a:hover {
  transform: translateY(-5px);
}

.marquee-item img {
  height: 60px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.7);
  transition: all 0.3s ease;
}

.marquee-item img.invert-logo {
  filter: grayscale(100%) opacity(0.7) invert(1);
}

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

.marquee-item a:hover img.invert-logo {
  filter: grayscale(0%) opacity(1) invert(1);
}

.marquee-item span.client-name {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-2, #3b4656);
  display: none;
  /* Hidden if image loads */
}

/* Fallback class added by JS if image fails */
.marquee-item.text-only img {
  display: none;
}

.marquee-item.text-only span.client-name {
  display: block;
}

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

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

@media (max-width: 768px) {
  .marquee-content {
    gap: 40px;
    padding-right: 40px;
    animation-duration: 20s;
  }

  .marquee-item img {
    height: 40px;
  }
}