/**
 * L'Âme au Corps — styles globaux (étape 1).
 *
 * Règle d'or : aucune couleur écrite en dur ici.
 * On utilise uniquement les variables générées par theme.json
 * (var(--wp--preset--color--…)), pour que la palette se change en un seul endroit.
 */

/* ------------------------------------------------------------------
 * 1. Accessibilité : focus clavier bien visible
 * ------------------------------------------------------------------ */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--primaire-fonce);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Les boutons gardent leur forme de pilule avec le focus. */
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	border-radius: 999px;
}

/* ------------------------------------------------------------------
 * 2. Cibles tactiles d'au moins 44 px
 * ------------------------------------------------------------------ */
.wp-element-button,
.wp-block-button__link,
.wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close,
.wp-block-social-link-anchor {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 44px;
	justify-content: center;
}

/* Bouton « contour » : variante secondaire (style natif de WordPress). */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
	color: var(--wp--preset--color--primaire);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primaire);
	border-color: var(--wp--preset--color--primaire);
	color: var(--wp--preset--color--surface);
}

/* ------------------------------------------------------------------
 * 3. Détails visuels : liens, sélection, images
 * ------------------------------------------------------------------ */
a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

::selection {
	background: var(--wp--preset--color--doux);
	color: var(--wp--preset--color--texte);
}

img {
	height: auto;
}

/* Transitions douces au survol (désactivées si l'utilisateur le demande, voir §5). */
a,
.wp-element-button,
.wp-block-button__link {
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
}

/* ------------------------------------------------------------------
 * 4. Apparition légère au défilement
 * À ajouter sur un bloc via la classe CSS « lac-apparition ».
 * 100 % CSS, sans JavaScript : les navigateurs qui ne gèrent pas
 * cette technique affichent simplement le bloc normalement.
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.lac-apparition {
			animation: lac-apparition linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 35%;
		}
	}
}

@keyframes lac-apparition {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ------------------------------------------------------------------
 * 5. Respect de « réduire les animations »
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.wp-element-button:hover,
	.wp-block-button__link:hover {
		transform: none;
	}
}
