/*
 * Tokens de Chez Loéli Conciergerie.
 *
 * Les couleurs et typographies vivent dans le KIT GLOBAL D'ELEMENTOR :
 * ce fichier ne fait que les aliaser. Le client les modifie depuis une
 * interface qu'il connait, et tout le site suit.
 *
 * Engagement 5 : aucun hexadecimal, valeurs de repli comprises.
 */

/*
 * `body` et non `:root` : Elementor ecrit ses variables globales sur
 * `body.elementor-kit-<id>`, jamais sur `html`. Aliase depuis `:root`,
 * `--e-global-color-primary` n'est pas resolue — une variable ne remonte
 * pas d'un descendant vers son ancetre — et c'est la valeur de REPLI qui
 * part dans tout le site. Le symptome est muet : la page s'affiche, en
 * noir et blanc, quelle que soit la palette du kit. Constate le 16 aout
 * 2026 sur instant-home-tarn, ou les 53 fichiers du socle qui lisent ces
 * tokens servaient tous rgb( 17 17 17 ).
 */
/* Palette Chez Loéli (planche cliente + blueprint du 06/10/2026, retour du 14/10 : plus d'olive).
   rgb() seulement : engagement 5. L'olive profond porte les actions et le petit texte d'accent. */
body {
	--ivy-radius-surface: 18px;
	--ivy-radius-action: 999px;
	--ivy-accent: var( --e-global-color-primary, rgb( 91 107 77 ) );
	--ivy-ink: var( --e-global-color-text, rgb( 46 46 46 ) );
	--ivy-surface: var( --e-global-color-secondary, rgb( 253 249 236 ) );
	--ivy-muted: var( --e-global-color-accent, rgb( 111 99 85 ) );
	--ivy-line: rgb( 123 143 107 / 55% );
	--ivy-surface-soft: rgb( 238 240 226 );
	--ivy-line-soft: rgb( 168 154 138 / 55% );
	--ivy-deep: rgb( 123 143 107 );
	--ivy-on-deep: rgb( 253 249 236 );
	--ivy-on-deep-muted: rgb( 253 249 236 / 85% );
	--ivy-line-deep: rgb( 253 249 236 / 35% );
	--ivy-accent-on-deep: rgb( 253 249 236 );
	--ivy-on-accent: rgb( 255 255 255 );
	--ivy-on-accent-muted: rgb( 255 255 255 / 85% );
	--ivy-line-accent: rgb( 74 88 64 );
	--ivy-support: rgb( 214 138 106 );
	--ivy-veil: rgb( 253 249 236 );
	--ivy-danger: rgb( 163 48 42 );
	/* Rôles propres à la charte Chez Loéli */
	--loeli-sable: rgb( 253 220 201 );
	--loeli-sable-doux: rgb( 253 238 223 );
	--loeli-terracotta: rgb( 214 138 106 );
	--loeli-terracotta-profond: rgb( 165 87 58 );
	--loeli-brun: rgb( 122 76 38 );
	--loeli-taupe: rgb( 168 154 138 );
	--loeli-papier: rgb( 255 253 246 );
	/* Papier : le grain de la maquette (bruit fractal brun très léger) sous tous les fonds clairs ; les ombres des tirages. */
	--ivy-grain: url( '/wp-content/themes/chez-loeli-conciergerie/grain.svg' ); /* absolue : une variable résout son url() depuis la feuille qui la lit */
	--ivy-print-paper: var( --loeli-papier );
	--ivy-print-shadow: 0 22px 40px -26px rgb( 122 76 38 / 55% ), 0 2px 6px rgb( 46 46 46 / 7% );
	/* Typographie : la maquette n'a qu'une échelle, lue par les produits via ces rôles. */
	--ivy-font-titre: 'Playfair Display Variable', 'Playfair Display', Georgia, serif;
	--ivy-font-accent: Allura, 'Snell Roundhand', 'Apple Chancery', cursive;
	--ivy-font-body: 1.0625rem;
	--ivy-font-lead: clamp( 1.05rem, 1rem + 0.25vw, 1.2rem );
	--ivy-font-label: 0.78rem;
	--ivy-font-h1: clamp( 2.4rem, 1.55rem + 3.6vw, 4.25rem );
	--ivy-font-h2: clamp( 1.85rem, 1.35rem + 2vw, 3rem );
	--ivy-font-h3: clamp( 1.25rem, 1.1rem + 0.5vw, 1.5rem );
	/* Petits textes d'interface de la maquette (boutons, libellés de formulaire, menu, aide) : un rôle par taille. */
	--ivy-font-h4: 0.9rem;
	--ivy-font-h5: 0.97rem;
	--ivy-font-h6: 1rem;
	--ivy-font-marquee: 1.15rem;
}


/* Polices de la maquette, mêmes fichiers (Fontsource, licence SIL OFL) : mêmes coupures de ligne. */
@font-face { font-family: 'Playfair Display Variable'; font-style: normal; font-display: swap; font-weight: 400 900; src: url( 'fonts/playfair-display-latin-wght-normal.woff2' ) format( 'woff2-variations' ); 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; }
@font-face { font-family: 'Playfair Display Variable'; font-style: normal; font-display: swap; font-weight: 400 900; src: url( 'fonts/playfair-display-latin-ext-wght-normal.woff2' ) format( 'woff2-variations' ); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Playfair Display Variable'; font-style: italic; font-display: swap; font-weight: 400 900; src: url( 'fonts/playfair-display-latin-wght-italic.woff2' ) format( 'woff2-variations' ); 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; }
@font-face { font-family: 'Playfair Display Variable'; font-style: italic; font-display: swap; font-weight: 400 900; src: url( 'fonts/playfair-display-latin-ext-wght-italic.woff2' ) format( 'woff2-variations' ); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter Variable'; font-style: normal; font-display: swap; font-weight: 100 900; src: url( 'fonts/inter-latin-wght-normal.woff2' ) format( 'woff2-variations' ); 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; }
@font-face { font-family: 'Inter Variable'; font-style: normal; font-display: swap; font-weight: 100 900; src: url( 'fonts/inter-latin-ext-wght-normal.woff2' ) format( 'woff2-variations' ); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Allura'; font-style: normal; font-display: swap; font-weight: 400; src: url( 'fonts/allura-latin-400-normal.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; }
@font-face { font-family: 'Allura'; font-style: normal; font-display: swap; font-weight: 400; src: url( 'fonts/allura-latin-ext-400-normal.woff2' ) format( 'woff2' ); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Chiffres alignés dans les titres (global.css de la maquette) : ils changent aussi la largeur des lignes. */
h1, h2, h3, h4 { font-variant-numeric: lining-nums; }
body { background-image: var( --ivy-grain ); -webkit-font-smoothing: auto; text-rendering: auto; }

:root {
	/* Multiplicateur de rythme, unique pour tout le site (spec §5.6). Il ne
	   vient pas du kit : il reste donc sur `:root`, ou le JS le lit. */
	--ivy-motion: 1;
}
