/**
 * Design System du site — adaptateur de jetons + police de marque.
 *
 * ARCHITECTURE (Option 1) : Elementor est la SOURCE DE VÉRITÉ éditable de la
 * charte. Ce fichier n'est qu'un ADAPTATEUR : il mappe les variables globales
 * stables d'Elementor (slots système, cœur d'Elementor — pas la feature Variables
 * encore alpha) vers les jetons « --artefact-site-* » que consomment les blocs
 * Gutenberg du plugin. Modifier une couleur système dans Elementor met donc à
 * jour, sans code, les templates ET les blocs.
 *
 *   Elementor Global Colors (système)  → variables --e-global-color-*
 *        ↓ (cet adaptateur)
 *   --artefact-site-*                   → consommées par .artefact-block (avec repli)
 *
 * Repli : chaque jeton porte sa valeur canonique en repli, si bien que les blocs
 * restent corrects même sans Elementor (variable absente) et même sans ce thème
 * (le plugin porte ses propres replis en bout de chaîne).
 *
 * Portée : les jetons sont posés sur « body » — et non « :root » — car Elementor
 * expose ses variables sur « body.elementor-kit-N » ; il faut donc les lire au
 * même niveau. Les blocs, descendants du body, en héritent.
 *
 * Transitoire par conception : quand la feature Variables d'Elementor sera stable
 * (noms de variables lisibles, sans hash), il suffira de remplacer ici les
 * « var(--e-global-color-*) » par les variables correspondantes — sans toucher ni
 * aux blocs ni aux templates.
 *
 * Chargé sur le front, dans l'éditeur de blocs (add_editor_style) et dans
 * l'aperçu Elementor (styles front) — voir functions.php.
 */

/* --------------------------------------------------------------------------
 * Police de marque : Manrope (variable, auto-hébergée)
 *
 * Un seul fichier woff2 variable (axe de graisse 200–800, sous-ensemble latin
 * couvrant le français), sous licence SIL OFL 1.1 (voir assets/fonts/OFL.txt).
 * font-display: swap. Aucune dépendance à Google Fonts. Déclaré ici une seule
 * fois : Elementor la référence sans la recharger (functions.php, groupe
 * « Artefact »). C'est UNIQUEMENT la famille qui est partagée — les tailles et
 * graisses des blocs restent internes aux blocs (voir le récap : la couleur se
 * synchronise depuis Elementor, pas l'échelle typographique des blocs).
 * ----------------------------------------------------------------------- */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/Manrope-variable-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
 * Jetons de charte — adaptateur Elementor → Artefact
 * ----------------------------------------------------------------------- */

body {
	/* Cœur de la charte : dérivé des 4 slots système Elementor (variables stables
	   et lisibles), avec repli = valeur canonique. Source éditable = Elementor. */
	--artefact-site-blue: var(--e-global-color-primary, #0f84cc);
	--artefact-site-text: var(--e-global-color-text, #1f2328);
	--artefact-site-muted: var(--e-global-color-secondary, #50575e);
	--artefact-site-tint: var(--e-global-color-accent, #e8f3fb);

	/* Bleu fort (états actifs / survol) : repli fixe robuste. La dérivation
	   automatique depuis le bleu primaire est ajoutée hors de ce bloc, dans une
	   règle @supports (voir plus bas). On n'utilise PAS une seconde déclaration
	   color-mix() ici : la valeur d'une custom property n'est validée qu'à
	   l'usage, si bien qu'un navigateur sans color-mix() garderait le token
	   invalide et l'élément consommateur tomberait en « inherit » au lieu de ce
	   repli. Le @supports garantit le repli fixe sur ces navigateurs. */
	--artefact-site-blue-strong: #0b6ba6;

	/* Neutres et rayon : constantes de charte, rarement modifiés. Restent dans le
	   thème tant qu'Elementor n'offre pas de slot système pertinent. */
	--artefact-site-surface: #f6f7f8;
	--artefact-site-bg: #ffffff;
	--artefact-site-border: rgba(0, 0, 0, 0.06);
	--artefact-site-radius: 8px;

	/* Police de marque, avec pile de repli sûre si Manrope n'est pas chargée. */
	--artefact-site-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* --------------------------------------------------------------------------
 * Dérivation du bleu fort — uniquement là où color-mix() est réellement
 * supporté (Chrome 111+, Safari 16.2+, Firefox 113+). Sur les navigateurs sans
 * color-mix(), cette règle est entièrement ignorée et le repli fixe #0b6ba6
 * déclaré sur body est conservé. Le bleu fort suit alors le bleu primaire édité
 * dans Elementor.
 * ----------------------------------------------------------------------- */

@supports (color: color-mix(in srgb, red, blue)) {
	body {
		--artefact-site-blue-strong: color-mix(
			in srgb,
			var(--e-global-color-primary, #0f84cc),
			#000 18%
		);
	}
}
