/* Mabaliyo — bandeau d'agenda défilant.
   Ces règles ne s'appliquent qu'une fois la classe `mab-defile` posée par le script :
   sans JavaScript, le bandeau garde le défilement manuel du socle. */

/* La piste ne défile plus à la main : plus de barre, plus d'accroche, et la fuite
   se fait des deux côtés puisque le contenu entre autant qu'il sort. */
.bnr-events-strip.mab-defile .bnr-events-strip__scroller {
	overflow: hidden;
	scroll-snap-type: none;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}

/* Les flèches du socle n'ont plus d'objet. */
.bnr-events-strip.mab-defile .bnr-strip-nav {
	display: none;
}

.bnr-events-strip.mab-defile .mab-agenda__voie {
	display: flex;
	flex: none;
	gap: 32px;
	align-items: baseline;
	animation: mab-defile var(--mab-defile-duree, 40s) linear infinite;
	will-change: transform;
}

.bnr-events-strip.mab-defile .mab-agenda__groupe {
	display: flex;
	flex: none;
	gap: 32px;
	align-items: baseline;
}

/* On s'arrête pour laisser lire — au survol, et dès qu'un lien du bandeau est
   atteint au clavier. */
.bnr-events-strip.mab-defile:hover .mab-agenda__voie,
.bnr-events-strip.mab-defile:focus-within .mab-agenda__voie {
	animation-play-state: paused;
}

/* Une seule translation, de la largeur d'un groupe plus l'écart : la copie
   suivante est alors exactement là où le groupe d'origine a commencé. */
@keyframes mab-defile {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(-1 * var(--mab-defile-distance, 100%))); }
}

@media (prefers-reduced-motion: reduce) {
	.bnr-events-strip.mab-defile .mab-agenda__voie { animation: none; }
}
