/* ===== Partners (scrollende logo-balk; 2 unieke logo's, herhaald) ===== */
.partners-section{
  --brand:#100273;
  --gap:48px;
  --logo-h:38px;
  --speed:28s;
  background:#fff;
  padding:2.25rem 0 2rem;
  border-top:1px solid rgba(16,2,115,.06);
  border-bottom:1px solid rgba(16,2,115,.06);
}

.partners-head .partners-title{ margin:0; font-weight:700; color:#333; letter-spacing:.3px; }
.partners-cta{ font-weight:600; color:var(--brand); text-decoration:none; }
.partners-cta:hover{ text-decoration:underline; }

/* Marquee setup */
.partners-marquee{ position:relative; overflow:hidden; margin-top:1rem; }
.marquee{
  display:flex; width:max-content;
  animation: scroll var(--speed) linear infinite;
  will-change: transform;
}
.marquee:hover{ animation-play-state: paused; }

/* Twee identieke groepen -> naadloze loop */
.marquee-group{ display:flex; align-items:center; gap:var(--gap); }

/* Logos */
.partner-logo{
  height:var(--logo-h); width:auto;
  filter:grayscale(100%); opacity:.9;
  transition:filter .25s ease, opacity .25s ease, transform .25s ease;
  object-fit:contain;
}
.partner-logo:hover{ filter:none; opacity:1; transform:translateY(-1px); }

/* Scroll-animatie: verplaats precies één groepsbreedte (50%) */
@keyframes scroll{
  from{ transform: translateX(0); }
  to  { transform: translateX(-50%); }
}

/* Fade randen */
.fade{ position:absolute; top:0; bottom:0; width:80px; pointer-events:none; }
.fade-left{ left:0;  background:linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.fade-right{ right:0; background:linear-gradient(270deg, #fff, rgba(255,255,255,0)); }

/* Responsive */
@media (max-width: 992px){
  .partners-section{ --gap:36px; --logo-h:32px; --speed:24s; }
}
@media (max-width: 576px){
  .partners-section{ --gap:28px; --logo-h:26px; --speed:20s; }
}

/* Respecteer reduced motion */
@media (prefers-reduced-motion: reduce){
  .marquee{ animation:none; }
}
