/* Jetons de la charte — copie fidèle de maquette/_ds/tokens/ (colors, shape, spacing, typography, motion, elevation).
   Ne pas modifier ici sans mettre à jour les Global Colors / Fonts du Kit Elementor (§5 du plan). */
:root {
  /* Vert forêt : l'encre de la marque. Le texte est vert, jamais noir. */
  --forest-950: #0e2416; --forest-900: #122c1e; --forest-800: #163521; --forest-700: #1d3a28; --forest-600: #2b422f;
  --olive-700: #3b492d; --olive-600: #435330; --olive-500: #4b5a3c;
  --sage-600: #52684a; --sage-500: #5b724d; --sage-400: #7c9068; --sage-300: #a3b394; --sage-200: #c6d0b9; --sage-100: #e3e8da; --sage-050: #f0f3e9;
  /* Or : la seconde voix. Seul --gold-900 est admis sur du texte (5,1:1 sur crème). */
  --gold-950: #6a511c; --gold-900: #7f6224; --gold-800: #8e6a22; --gold-700: #a37b34; --gold-600: #bd8b1d; --gold-500: #c48b44;
  --gold-400: #c9a25c; --gold-300: #dbb464; --gold-200: #e5c274; --gold-150: #ead3a2; --gold-100: #efe0c2; --gold-050: #f6edd9;
  /* Papier : jamais de blanc pur. */
  --cream-050: #fefdfb; --cream-100: #fdfaf4; --cream-200: #fbf7f0; --cream-300: #faf2e8; --cream-400: #f6ede3; --cream-500: #f1e5d3; --cream-600: #e9dac4;
  /* Aveu : réservé au bloc « Ce qui pourrait vous déplaire » et à la voix signée de Mélanie. */
  --aveu-700: #6f444a; --aveu-600: #8c5a60; --aveu-500: #a06a70; --aveu-200: #e4cdcd; --aveu-100: #f1e3e2; --aveu-050: #f9f1f0;
  /* Encre neutre, petits textes seulement. --ink-400 = bordures, jamais du texte. */
  --ink-600: #4a5343; --ink-500: #5c6652; --ink-450: #6b7263; --ink-400: #8a8f80; --ink-300: #b3b7a9;
  --red-700: #8c0201; --red-600: #a20201; --red-500: #c0342e; --navy-800: #01254c; --navy-600: #1b4a78;
  --blue-500: #2e6c9e; --blue-100: #dbe7f0; --emerald-900: #023119; --orange-600: #c07a16; --orange-500: #d47b02;

  --text-primary: var(--forest-800); --text-secondary: var(--olive-700); --text-muted: var(--ink-500); --text-faint: var(--ink-450);
  --text-accent: var(--gold-900); --text-accent-soft: var(--gold-900); --text-aveu: var(--aveu-700);
  --text-on-dark: var(--cream-100); --text-on-dark-accent: var(--gold-200); --text-link: var(--gold-900); --text-link-hover: var(--forest-800);
  --surface-page: var(--cream-300); --surface-page-alt: var(--cream-200); --surface-card: var(--cream-050); --surface-card-tint: var(--cream-200);
  --surface-sand: var(--cream-500); --surface-band: var(--forest-800); --surface-band-deep: var(--forest-900); --surface-badge: var(--forest-800);
  --surface-sage: var(--sage-050); --surface-aveu: var(--aveu-050);
  --border-hairline: #e7d8bb; --border-gold: var(--gold-500); --border-gold-strong: var(--gold-700); --border-soft: #ede3d2;
  --border-sage: var(--sage-200); --border-on-dark: rgba(229, 194, 116, 0.42); --border-aveu: var(--aveu-200);
  --rule-aveu: var(--aveu-600); --rule-gold: var(--gold-300); --rule-soft: var(--gold-100); --focus-ring: var(--gold-500);

  /* Formes : une seule échelle de rayon. */
  --radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 22px; --radius-2xl: 28px; --radius-pill: 999px; --radius-circle: 50%;
  --border-hair: 1px; --border-thin: 1.5px; --border-thick: 2px; --border-badge: 1.5px;
  --card-border: var(--border-hair) solid var(--border-hairline); --card-radius: var(--radius-lg); --band-radius: var(--radius-lg); --field-radius: var(--radius-sm);
  --badge-size: 44px; --badge-size-lg: 64px; --badge-size-sm: 32px; --icon-stroke: 1.75px;

  /* Espacements, base 4 px. */
  --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-7: 28px; --space-8: 32px;
  --space-10: 40px; --space-12: 48px; --space-14: 56px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --space-32: 128px;
  --pad-card: var(--space-6); --pad-card-lg: var(--space-8); --pad-band: var(--space-8); --pad-field: 12px 16px;
  --gap-grid: var(--space-5); --gap-stack: var(--space-3); --gap-inline: var(--space-2);
  --page-max: 1200px; --prose-max: 62ch; --page-gutter: var(--space-8); --section-gap: var(--space-24); --header-h: 84px;
  /* Rang des couches plein ecran (panneau, visionneuse, galerie par piece) : un seul nombre pour les trois.
     Il doit passer devant l’en-tete fixe (z 20), les conteneurs Elementor (z 1) et la barre d’administration (99999). */
  --z-couche: 2147483000;

  /* Typographie : cinq familles, chacune un rôle. */
  /* Valeurs des pages validees (page-kit.css de la maquette) : Karla + Cormorant Garamond. */
  --font-serif: "Cormorant Garamond", Garamond, "Times New Roman", serif;
  --font-display: var(--font-serif);
  --font-lockup: var(--font-display);
  --font-body: "Karla", sans-serif;
  --font-sans: "Karla", sans-serif;
  --font-script: "Pinyon Script", "Apple Chancery", cursive;
  --text-3xs: 10px; --text-2xs: 11px; --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px; --text-lg: 21px; --text-xl: 24px;
  --text-2xl: 30px; --text-3xl: 38px; --text-4xl: 48px; --text-5xl: 62px; --text-6xl: 80px;
  --weight-light: 300; --weight-regular: 400; --weight-medium: 500; --weight-semibold: 600; --weight-bold: 700;
  --leading-none: 1; --leading-tight: 1.12; --leading-snug: 1.28; --leading-normal: 1.5; --leading-relaxed: 1.65;
  --tracking-logo: 0.34em; --tracking-wide: 0.2em; --tracking-caps: 0.12em; --tracking-label: 0.06em; --tracking-title: 0.01em; --tracking-none: 0;
  --type-poster: var(--weight-bold) var(--text-6xl) / var(--leading-none) var(--font-display);
  --type-h1: var(--weight-medium) var(--text-4xl) / var(--leading-tight) var(--font-display);
  --type-h2: var(--weight-medium) var(--text-2xl) / var(--leading-snug) var(--font-display);
  --type-h3: var(--weight-semibold) var(--text-lg) / var(--leading-snug) var(--font-serif);
  --type-label: var(--weight-semibold) var(--text-xs) / var(--leading-snug) var(--font-sans);
  --type-label-en: var(--weight-medium) var(--text-xs) / var(--leading-snug) var(--font-sans);
  --type-body: var(--weight-regular) var(--text-md) / var(--leading-relaxed) var(--font-body);
  --type-body-en: italic var(--weight-regular) var(--text-base) / var(--leading-relaxed) var(--font-body);
  --type-small: var(--weight-regular) var(--text-sm) / var(--leading-normal) var(--font-body);
  --type-data: var(--weight-semibold) var(--text-xl) / var(--leading-none) var(--font-sans);
  --type-script: var(--weight-regular) var(--text-2xl) / var(--leading-tight) var(--font-script);

  /* Mouvement : calme, lent, jamais de rebond. */
  --dur-instant: 90ms; --dur-fast: 140ms; --dur-base: 240ms; --dur-slow: 420ms; --dur-image: 700ms; --dur-reveal: 560ms;
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1); --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --ease-soft: cubic-bezier(0.32, 0.72, 0.28, 1);
  --transition-color: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
  --transition-lift: box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
  --transition-image: transform var(--dur-image) var(--ease-soft);
  --press-translate: translateY(1px); --hover-lift: translateY(-2px);

  /* Élévation : ombres teintées vert, larges et légères. */
  --shadow-xs: 0 1px 2px rgba(22, 53, 33, 0.05); --shadow-sm: 0 2px 6px rgba(22, 53, 33, 0.06); --shadow-md: 0 4px 14px rgba(22, 53, 33, 0.07);
  --shadow-lg: 0 10px 30px rgba(22, 53, 33, 0.09); --shadow-xl: 0 20px 48px rgba(22, 53, 33, 0.12);
  --shadow-band: 0 6px 24px rgba(18, 44, 30, 0.18); --shadow-badge: 0 2px 6px rgba(18, 44, 30, 0.16);
  --ring-hairline: inset 0 0 0 1px var(--border-hairline); --ring-gold: inset 0 0 0 1px var(--border-gold); --ring-focus: 0 0 0 3px rgba(196, 139, 68, 0.28);
  --scrim-bottom: linear-gradient(to top, rgba(18, 44, 30, 0.72) 0%, rgba(18, 44, 30, 0.42) 34%, rgba(18, 44, 30, 0) 78%);
  --scrim-top: linear-gradient(to bottom, rgba(18, 44, 30, 0.5) 0%, rgba(18, 44, 30, 0) 62%);
  --scrim-full: linear-gradient(to top, rgba(18, 44, 30, 0.66), rgba(18, 44, 30, 0.28));
  --glass-light: rgba(253, 250, 244, 0.86); --glass-dark: rgba(18, 44, 30, 0.5); --glass-blur: saturate(1.05) blur(14px);
}
