/* ══════════════════════════════════════
   PARTNERS SECTION
══════════════════════════════════════ */
.partners-section {
  position: relative;
  overflow: hidden;
  background: transparent;
  padding: 36px 0 44px;
}

.partners-label {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #aab4be;
  margin: 0 0 28px;
}

/* ── Track wrapper : masque les bords avec un fondu ── */
.partners-track-wrapper {
  position: relative;
  z-index: 1;
  overflow: hidden;
  /* Fondu gauche/droite pour un scroll naturel */
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}

/* ── Track : double set de logos côte à côte ── */
.partners-track {
  display: flex;
  align-items: center;
  gap: 48px;
  width: max-content;
  animation: partnersScroll 32s linear infinite;
}

.partners-track:hover {
  animation-play-state: paused;
}

@keyframes partnersScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-25%); }
}

/* ── Logo individuel ── */
.partner-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-decoration: none;
  background: transparent;
  transition: transform 0.25s ease;
}

.partner-logo:hover {
  transform: translateY(-2px);
}

.partner-logo img {
  height: 54px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  background: transparent;
  /* Gris désaturé au repos */
  filter: grayscale(100%) opacity(42%);
  transition: filter 0.35s ease;
  display: block;
}

.partner-logo:hover img {
  /* Couleur révélée au survol */
  filter: grayscale(0%) opacity(100%);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .partners-section {
    padding: 28px 0 36px;
  }
  .partners-track {
    gap: 36px;
    animation-duration: 20s;
  }
  .partner-logo img {
    height: 40px;
    max-width: 110px;
  }
}
