/*
 * Animations des composants — voir assets/js/animate.js et inc/animation.php.
 * Aucune valeur de design ici : seulement le masquage avant animation.
 */

/* Masqué jusqu'à ce que le script ait posé l'état de départ de ses éléments. */
.tce-avia[data-tce-anim] {
	opacity: 0;
	/* Filet de sécurité : si le script n'arrive jamais, le bloc apparaît quand même. */
	animation: tce-anim-failsafe 0.01s linear 3s forwards;
}

/* Le script a pris la main : il masque lui-même les éléments qu'il anime. */
html.tce-anim-on .tce-avia[data-tce-anim] {
	opacity: 1;
	animation: none;
}

/* Un bloc qui arrive de côté ne doit pas créer de défilement horizontal. */
.tce-avia[data-tce-anim="left"],
.tce-avia[data-tce-anim="right"] {
	overflow-x: clip;
}

@keyframes tce-anim-failsafe {
	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tce-avia[data-tce-anim] {
		opacity: 1;
		animation: none;
	}
}
