/**
 * Bouton « Revenir en haut » — voir inc/retour-haut.php pour le pourquoi de chaque valeur.
 *
 * Couleurs par presets, jamais en dur : `primaire` au repos, `accent` au survol — le
 * même motif que les boutons de l'en-tête. La distance aux bords (30 px) et le SVG
 * (26 × 28) sont repris de la production.
 */

.cefips-retour-haut {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 90;                      /* sous l'en-tête fixe, qui est à 100 */

	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;

	border: 0;
	border-radius: 50%;
	background-color: var( --wp--preset--color--primaire, #016308 );
	color: var( --wp--preset--color--blanc, #fff );
	box-shadow: 0 2px 8px rgba( 0, 0, 0, .25 );
	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	transform: translateY( 8px );
	transition: opacity .2s ease, transform .2s ease, background-color .2s ease, visibility .2s;
}

/* Posée par le script au-delà du seuil de défilement. */
.cefips-retour-haut.est-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.cefips-retour-haut:hover,
.cefips-retour-haut:focus-visible {
	background-color: var( --wp--preset--color--accent, #fbbc09 );
	color: var( --wp--preset--color--blanc, #fff );
}

/* Le focus doit rester lisible sur les deux fonds. */
.cefips-retour-haut:focus-visible {
	outline: 2px solid var( --wp--preset--color--blanc, #fff );
	outline-offset: 2px;
}

.cefips-retour-haut__icone {
	width: 22px;
	height: 24px;
	display: block;
}

@media ( prefers-reduced-motion: reduce ) {
	.cefips-retour-haut {
		transition: opacity .01ms, visibility .01ms;
		transform: none;
	}
}
