/*
 * Design tokens v3 « direction épurée » (Claude Design, 2026-10), from the client's identity
 * (logotype, business card). Single source of truth shared by the Astro site and the Symfony app
 * (mapped by AssetMapper under the "shared/" namespace).
 * Only change values here, never hard-code colours or sizes in components.
 */
:root {
  /* Colours */
  --color-lin: #F6F3EC;          /* page background, header, footer */
  --color-craie: #FBFAF6;        /* alternate sections, map background, text on photos */
  --color-encre: #26251F;        /* text, button border (14:1) */
  --color-pierre: #6B6A63;       /* secondary text, labels (5:1) */
  --color-filet: #DCD6C9;        /* rules */
  --color-filet-champ: #B5B0A4;  /* field underline, inactive regions */
  --color-vert: #53954E;         /* logotype ONLY (client identity, sampled from his catalogue), never running text */
  --color-rouge: #6E1B2B;        /* the single accent, lie-de-vin of the client's catalogue: action links, current page, map, errors, focus (10:1) */
  --color-photo-voile: rgba(20, 22, 16, .55); /* dark gradient under text on a photo */
  --color-photo-voile-fort: rgba(20, 22, 16, .72); /* behind several lines of text on a bright video (home hero) */

  /* Typography: 2 families, self-hosted (fonts.css) */
  --font-titre: "Cormorant Garamond", Garamond, serif;   /* 400, 400 italic, 500 */
  --font-texte: "Jost", "Gill Sans", sans-serif;          /* 400, 500 */
  /* Moderate sizes: the client set aside very large titles (2026-10-13). */
  --fs-hero: clamp(38px, 4.4vw, 64px);    /* lh 1.02 */
  --fs-h1: clamp(38px, 4.2vw, 60px);      /* lh 1 */
  --fs-h2: clamp(32px, 3.4vw, 48px);      /* lh 1.05 */
  --fs-phrase: clamp(24px, 2.4vw, 32px);  /* sentence of intent, lh 1.32 */
  --fs-citation: clamp(26px, 2.6vw, 36px);  /* italic, lh 1.25 */
  --fs-nom: 28px;                         /* estate name, lh 1.1 */
  --fs-article: 22px;                     /* article body (Cormorant), lh 1.65 */
  --fs-body: 17px;                        /* Jost, lh 1.6 */
  --lh-body: 1.6;
  --fs-small: 15px;
  --fs-label: 12px;                       /* Jost 500, uppercase, ls .22em */
  --fs-nav: 13px;                         /* Jost, uppercase, ls .18em */
  --measure-article: 660px;
  --measure-texte: 720px;

  /* Spacing */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 72px; --space-9: 120px;
  --gutter: clamp(20px, 4vw, 56px);
  --container: 1360px;
  --section-y: clamp(96px, 12vw, 180px);  /* breathing space between blocks */
  --section-y-xl: clamp(96px, 14vw, 200px);

  /* Shapes: no radius, no shadow, 1 px rules */
  --radius: 0;
  --rule: 1px solid var(--color-filet);
  --button-border: 1px solid var(--color-encre);

  /* Interaction */
  --target-min: 44px;
  --transition: 200ms ease-out;

  /* Wine-region map */
  --map-fond: var(--color-craie);
  --map-terre: var(--color-lin);
  --map-actif: var(--color-rouge);
  --map-inactive: var(--color-filet-champ);
  --map-graticule: #ECE8DE;

  /* Legacy names (client space styles written before v3): mapped onto the v3 palette. */
  --color-papier: var(--color-lin);
  --color-etiquette: var(--color-craie);
  --color-creme: var(--color-lin);
  --color-encre-2: var(--color-pierre);
  --color-terre: var(--color-rouge);
  --color-lie: var(--color-rouge);
  --color-lie-fonce: #5E2230;
  --color-olive: var(--color-vert);
  --color-ocre: var(--color-filet);
  --color-erreur: var(--color-rouge);
  --color-succes: #3F6F3B;
  --color-footer-texte: var(--color-pierre);
  --font-affiche: var(--font-titre);
  --fs-lead: clamp(19px, 1.6vw, 22px);
  --rule-light: var(--rule);
  --shadow-photo: none;
  --color-bg: var(--color-lin);
  --color-surface: var(--color-craie);
  --color-surface-muted: #EEEAE0;
  --color-text: var(--color-encre);
  --color-text-muted: var(--color-pierre);
  --color-border: var(--color-filet);
  --color-primary: var(--color-encre);
  --color-primary-hover: var(--color-rouge);
  --color-on-primary: var(--color-lin);
  --color-accent: var(--color-rouge);
  --color-success: var(--color-succes);
  --color-warning: #8A5A00;
  --color-danger: var(--color-rouge);
  --color-info: #2B5A86;
  --color-disabled: #A9A69D;
  --color-focus: var(--color-rouge);
  --map-open: var(--color-rouge);
  --map-closed: #DDD8CC;
  --map-empty: #ECE8DE;
  --map-stroke: var(--color-encre);
  --font-sans: var(--font-texte);
  --font-serif: var(--font-titre);
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.0625rem;
  --font-size-lg: 1.1875rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 2.25rem;
  --font-size-3xl: 3rem;
  --line-height: 1.6;
  --radius-lg: 0;
  --shadow: none;
}
