/* ABLOGUI — widget « partenaires » (repris de la maquette d'accueil, maquettes/css/accueil.css) */
.ab-partenaires__titre { margin-bottom: clamp(28px, 3.5vw, 44px); }
.ab-partenaires .ab-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px clamp(24px, 4vw, 64px); list-style: none; margin: 0; padding: 0; }
.ab-partenaires .ab-logos li { display: flex; justify-content: center; overflow: hidden; } /* le logo agrandi (--_echelle) reste dans sa case */
.ab-partenaires .ab-logos img { width: 100%; max-width: 210px; height: calc(clamp(64px, 6vw, 84px) * var(--_hauteur, 1)); object-fit: contain; filter: none; opacity: 1; transform: scale(var(--_echelle, 1)); }
@media (max-width: 700px) {
  .ab-partenaires .ab-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ab-partenaires { padding-block: clamp(48px, 6vw, 80px); }
.ab-partenaires .ab-logos a { display: flex; justify-content: center; width: 100%; }

/* Défilement continu des logos (retours du 23 octobre 2026) : pause au survol, arrêt si l'on demande moins d'animations */
.ab-logos-defile { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ab-logos-defile__piste { display: flex; width: max-content; animation: ab-defile var(--_duree, 45s) linear infinite; }
.ab-logos-defile:hover .ab-logos-defile__piste, .ab-logos-defile:focus-within .ab-logos-defile__piste { animation-play-state: paused; }
.ab-partenaires .ab-logos--defile { display: flex; flex: none; gap: clamp(28px, 4vw, 56px); padding-right: clamp(28px, 4vw, 56px); }
.ab-partenaires .ab-logos--defile li { flex: none; width: calc(clamp(140px, 14vw, 190px) * var(--_largeur, 1)); align-items: center; } /* --_largeur : logos très en longueur */
.ab-partenaires .ab-logos--defile img { height: calc(clamp(56px, 5vw, 72px) * var(--_hauteur, 1)); } /* --_hauteur : logos hauts et étroits (armoiries) */
.ab-logo-texte { display: grid; place-items: center; width: 100%; min-height: clamp(56px, 5vw, 72px); padding: 8px 12px; border: 1.5px dashed var(--ab-ligne-forte); border-radius: 12px; color: var(--ab-texte-doux); font-size: var(--ab-fs-xs); font-weight: 800; line-height: 1.25; text-align: center; }
@keyframes ab-defile { to { transform: translateX(-50%); } }
/* Avec le script : la bande avance en JS et se fait glisser à la souris ou au doigt (le défilement vertical de la page reste libre) */
.ab-logos-defile--main { cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.ab-logos-defile--main.est-saisi { cursor: grabbing; }
.ab-logos-defile--main .ab-logos-defile__piste { animation: none; will-change: transform; }
.ab-logos-defile--main img { -webkit-user-drag: none; }
@media (prefers-reduced-motion: reduce) {
  .ab-logos-defile { -webkit-mask-image: none; mask-image: none; }
  .ab-logos-defile__piste { width: auto; animation: none; }
  .ab-logos-defile__piste .ab-logos--defile { flex-wrap: wrap; justify-content: center; padding-right: 0; }
  .ab-logos-defile__piste .ab-logos--defile[aria-hidden] { display: none; }
}
