/* =========================================================
   CURSEUR PERSONNALISÉ
   ========================================================= */

@media (pointer: fine) and (prefers-reduced-motion: no-preference) {

	/*
	 * Masque le curseur système.
	 */
	/* html,
	body,
	a,
	button,
	[role="button"] {
		cursor: none !important; */
	}


	/*
	 * Cercle jaune.
	 */
	.rds-cursor {
		position: fixed;
		top: 0;
		left: 0;

		width: 12px;
		height: 12px;

		border-radius: 50%;

		background:
			var(--theme-palette-color-1, #ffd022);

		z-index: 999999;

		pointer-events: none;

		transform:
			translate3d(-100px, -100px, 0)
			translate(-50%, -50%);

		will-change: transform;
	}


	/*
	 * Trait qui suit le curseur.
	 */
	.rds-cursor-trail {
		position: fixed;

		inset: 0;

		width: 100vw;
		height: 100vh;

		z-index: 999998;

		pointer-events: none;
	}
}


/*
 * Pas de curseur personnalisé si
 * l'utilisateur préfère limiter
 * les animations.
 */
@media (prefers-reduced-motion: reduce) {

	.rds-cursor,
	.rds-cursor-trail {
		display: none !important;
	}

}
/* =========================================================
   SOULIGNEMENT ANIMÉ DES TITRES
   ========================================================= */

.rds-underline-title {
	position: relative;
	isolation: isolate;
}


/*
 * Le texte reste au-dessus
 * des traits de surlignement.
 */
.rds-underline-title .rds-title-text {
	position: relative;
	z-index: 2;
}


/*
 * Les titres généraux s'animent
 * lorsqu'ils entrent dans l'écran.
 */
.rds-underline-title.is-visible
.rds-line-highlight {

	transform: scaleX(1);

	transition-delay:
		var(--rds-line-delay, 0s);
}


/*
 * Accessibilité.
 */
@media (prefers-reduced-motion: reduce) {

	.rds-underline-title
	.rds-line-highlight {

		transform: scaleX(1);
		transition: none;
	}
}
/* =========================================================
   TITRES CARTES — SURLIGNEMENT LIGNE PAR LIGNE
   ÉVÉNEMENTS + LE JOURNAL
   ========================================================= */

.rds-line-title {
	position: relative;
	isolation: isolate;
}


/*
 * Le texte reste au-dessus du surlignement.
 */
.rds-line-title > a {
	position: relative;
	z-index: 2;

	color: inherit;
	text-decoration: none !important;
}


/*
 * Un trait indépendant pour chaque ligne.
 */
.rds-line-highlight {
	position: absolute;

	z-index: 1;

	background:
		var(--theme-palette-color-1, #ffd022);

	border-radius: 999px;

	pointer-events: none;

	transform: scaleX(0);
	transform-origin: left center;

	transition:
		transform 0.45s
		cubic-bezier(0.22, 1, 0.36, 1);
}


/*
 * Animation au survol.
 * Chaque ligne possède son propre délai.
 */
.rds-line-title:hover .rds-line-highlight,
.rds-line-title:focus-within .rds-line-highlight {

	transform: scaleX(1);

	transition-delay:
		var(--rds-line-delay, 0s);
}


/*
 * Accessibilité.
 */
@media (prefers-reduced-motion: reduce) {

	.rds-line-highlight {
		transform: scaleX(1);
		transition: none;
	}
}