/* Socle Vialid — jetons partagés par l'application marque et le portail
   fournisseur (chantier UI/UX, docs/audits/2026-09-20-audit-ui-ux.md § 5).

   La page publique DPP ne charge PAS ce fichier : elle porte l'identité de la
   marque cliente et doit rester stable dix ans derrière des QR imprimés
   (ADR 0008). Rien d'ici ne doit y fuir.

   Règle : toute couleur de l'interface se définit ICI et nulle part ailleurs.
   `tests/_meta/test_socle_css.py` refuse un hexadécimal dans les autres
   feuilles, et vérifie les contrastes annoncés ci-dessous. */
:root {
  /* --- Encre et papier ---------------------------------------------------
     Gris chauds, accordés au papier — l'ancien #1f2937 était un gris bleuté.
     #272525 est le noir relevé sur le site du client pilote. Les ratios sont
     donnés sur --color-bg ; ils sont plus élevés sur --color-surface. */
  --color-text: #272525; /* 13,6:1 */
  --color-text-muted: #6b6560; /* 5,14:1 */
  --color-text-faint: #736c64; /* 4,63:1 — plancher pour du texte */
  --color-on-primary: #ffffff; /* texte posé sur --color-primary ou --color-danger */
  --color-bg: #f5f2ec;
  --color-surface: #fffdfa;
  --color-surface-alt: #faf7f2;
  --color-surface-hover: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));

  /* --- Filets --------------------------------------------------------------
     L'ancienne bordure #a8a294 encadrait tout d'un trait sombre. */
  --color-border: #e3dcd0;
  --color-border-subtle: #ede8df;
  --color-border-strong: #cfc6b8;

  /* --- Accents -------------------------------------------------------------- */
  --color-primary: #2a5d45; /* 6,83:1 — actions, états valides */
  --color-primary-hover: #1f4a36;
  --color-primary-soft: #eef3ef;
  --color-accent-amber: #b7792b;
  /* Variante foncée pour du texte blanc dessus (≥ 4,5:1, audit portail 18/09). */
  --color-accent-amber-deep: #8a5a20;
  --color-accent-terracotta: #a65d45;
  --color-accent-brown: #6b4f3b;

  /* --- Sémantique -----------------------------------------------------------
     Le rouge est réservé à l'erreur. L'attention (échéance, incomplet) est en
     terracotta : #9a5340 (5,10:1) pour du texte, #a65d45 (4,40:1) pour les
     barres et pastilles seulement (seuil 3:1 des éléments graphiques).
     Il n'y a pas de bleu dans la palette : « info » est neutre. */
  --color-success: #2a5d45;
  --color-success-fg: #1f4a36;
  --color-success-bg: #eef3ef;
  --color-success-border: #b9d0c3;
  --color-warning: #9a5340;
  --color-warning-graph: #a65d45;
  --color-warning-bg: #f7eeea;
  --color-danger: #b42318;
  --color-danger-fg: #8f1c13;
  --color-danger-bg: #f9ebe9;
  --color-danger-border: #e6b8b3;
  --color-info-fg: #3e3a35;
  --color-info-bg: #eceae5;
  --color-info-border: #cfc6b8;
  --color-muted-fg: #6b6560;
  --color-muted-bg: #f3f0ea;
  --color-muted-border: #e3dcd0;

  /* --- Teintes de composant (arbre de traçabilité, étiquettes) --------------
     Repère de lecture conservé de l'ancien arbre, accordé à la palette ;
     chaque encre fait ≥ 4,5:1 sur son lavis. */
  --tint-product-bg: #eceae5;
  --tint-product-fg: #3e3a35;
  --tint-doublure-bg: #f7e9e3;
  --tint-doublure-fg: #8a4a38;
  --tint-premiere-bg: #f6eedd;
  --tint-premiere-fg: #75561b;
  --tint-semelle-bg: #e7f0ea;
  --tint-semelle-fg: #2a5d45;
  --tint-tige-bg: #ece7f1;
  --tint-tige-fg: #5a4a7a;

  /* --- Typographie -----------------------------------------------------------
     Les deux fontes sont vendorisées (static/css/fonts.css). */
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  --font-serif: "Bodoni Moda", Didot, "Bodoni MT", Georgia, serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.2;
  --lh-base: 1.5;
  --lh-relaxed: 1.7;

  /* --- Rythme ---------------------------------------------------------------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  /* --- Points de rupture ------------------------------------------------------ */
  --bp-sm: 40em;
  --bp-md: 48em;
  --bp-lg: 64em;
  --bp-xl: 80em;

  /* --- Tailles de composants --------------------------------------------------- */
  --h-btn: 44px;
  --h-btn-sm: 36px;
  --h-btn-lg: 52px;
  --h-input: 40px;

  /* --- Rayons ------------------------------------------------------------------
     Un seul rayon, discret : la tenue se lit dans le filet, pas dans l'arrondi.
     Les anciens 14–24 px donnaient l'aspect « bulles ». */
  --radius-xs: 2px;
  --radius-sm: 3px;
  --radius-md: 3px;
  --radius-lg: 4px;
  --radius-xl: 4px;
  --radius-pill: 999px;

  /* --- Ombres ------------------------------------------------------------------
     Aucune : on sépare par la ligne et l'espace (le site du client pilote
     n'a pas un seul box-shadow). Seul l'anneau de focus subsiste. */
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --shadow-focus: 0 0 0 3px color-mix(in srgb, var(--color-primary) 35%, transparent);

  /* --- Mouvement ---------------------------------------------------------------- */
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Empilement ---------------------------------------------------------------- */
  --z-base: 1;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-overlay: 30;
  --z-modal: 40;
  --z-toast: 50;
  --z-tooltip: 60;

  /* --- Icônes ---------------------------------------------------------------------- */
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;

  /* --- Alias ------------------------------------------------------------------------
     Noms historiques encore lus par components.css et les feuilles annexes.
     Ils pointent tous vers un jeton ci-dessus : aucune valeur propre. */
  --border-color: var(--color-border-subtle);
  --surface-muted: var(--color-bg);
  --color-surface-muted: var(--color-surface-alt);
  --color-surface-subtle: var(--color-surface-alt);
  --color-surface-strong: var(--color-bg);
  --color-bg-subtle: var(--color-surface-alt);
  --surface-elevated: var(--color-surface);
  --bg-muted: var(--color-surface-alt);
  --text-muted: var(--color-text-muted);
  --text-sm: var(--fs-sm);
  --text-xs: var(--fs-xs);
  --color-accent: var(--color-accent-amber-deep);
  --color-link: var(--color-primary);
  --color-link-bg: var(--color-primary-soft);
  --ui-border: var(--color-border);
  --ui-surface: var(--color-surface);
}
