.wpc-logos-wrap {
  width: 100% !important;
  max-width: 1600px !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  font-family: 'Oak Sans', 'Segoe UI', Arial, sans-serif !important;
}

.wpc-logos-wrap,
.wpc-logos-wrap *,
.wpc-logos-wrap *::before,
.wpc-logos-wrap *::after {
  box-sizing: border-box !important;
}

.wpc-logos-bar {
  display: flex !important;
  align-items: center !important;
  gap: clamp(20px, 3vw, 36px) !important;
  background: var(--wpcl-bg, #F5F7FA) !important;
  border-radius: var(--wpcl-radius, 1.75rem) !important;
  padding: clamp(16px, 2.4vw, 22px) clamp(20px, 3vw, 32px) !important;
}

/* ── Intro text ── */
.wpc-logos-intro {
  flex-shrink: 0 !important;
  max-width: 190px !important;
}

.wpc-logos-intro-text {
  font-size: clamp(12px, 1.3vw, 13.5px) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: var(--wpcl-intro-color, #FE5B2C) !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
}

.wpc-logos-divider {
  flex-shrink: 0 !important;
  width: 1px !important;
  height: clamp(36px, 5vw, 48px) !important;
  background: var(--wpcl-divider-color, #dde3e8) !important;
}

/* ── Marquee ── */
.wpc-logos-track-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent) !important;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent) !important;
}

.wpc-logos-track {
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  gap: var(--wpcl-logo-gap, clamp(32px, 5vw, 56px)) !important;
  animation: wpc-logos-scroll var(--wpcl-duration, 30s) linear infinite !important;
}

.wpc-logos-track.wpc-logos-reverse {
  animation-direction: reverse !important;
}

.wpc-logos-wrap.wpc-logos-pause-on-hover .wpc-logos-track-wrap:hover .wpc-logos-track {
  animation-play-state: paused !important;
}

@keyframes wpc-logos-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-25%);
  }
}

.wpc-logos-item {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.wpc-logos-item img {
  display: block !important;
  height: var(--wpcl-logo-height, 32px) !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  filter: var(--wpcl-logo-filter, grayscale(1) opacity(0.6)) !important;
  transition: filter 0.25s ease, opacity 0.25s ease !important;
}

.wpc-logos-item a {
  display: flex !important;
  border: none !important;
  box-shadow: none !important;
}

.wpc-logos-item a:hover img,
.wpc-logos-item a:focus img {
  filter: var(--wpcl-logo-filter-hover, grayscale(0) opacity(1)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .wpc-logos-track {
    animation: none !important;
  }
}

/* ── Responsive ── */
/* Tablet keeps the desktop side-by-side layout (intro text stays on the
   left); only true mobile widths stack it. */
@media (max-width: 599px) {
  .wpc-logos-bar {
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(14px, 3vw, 20px) !important;
  }

  .wpc-logos-intro {
    max-width: none !important;
    text-align: center !important;
  }

  .wpc-logos-divider {
    width: 100% !important;
    height: 1px !important;
  }

  .wpc-logos-track-wrap {
    width: 100% !important;
  }
}

@media (max-width: 359px) {
  .wpc-logos-bar {
    padding: 16px 18px !important;
  }
}
