/* ============================================================
   impressions.be — design tokens v1
   Fichier unique prêt à enqueue dans le thème enfant WordPress.
   Source de vérité : charte graphique v1.0 (juin 2026).
   wp_enqueue_style( 'impressions-tokens', ..., array(), '1.0.0' );
   ============================================================ */

:root {
  /* ---- Couleurs — base ---- */
  --ip-papier:        #F6F3EC; /* fond général — papier chaud */
  --ip-papier-carte:  #FFFDF8; /* fond carte / surface surélevée (sans ombre) */
  --ip-encre:         #16150F; /* texte, titres, surfaces sombres */
  --ip-bleu:          #2440C8; /* accent, liens, CTA — bleu encre / tampon */
  --ip-bleu-clair:    #5B73E8; /* accent sur fonds sombres */
  --ip-graphite:      #6F6B61; /* légendes, texte secondaire */
  --ip-filigrane:     #E5DFD2; /* filets, bordures, fonds discrets */

  /* ---- Micro-accents CMJN (jamais en aplats ni en fonds) ---- */
  --ip-cyan:    #00AEEF;
  --ip-magenta: #EC008C;
  --ip-jaune:   #FFD400;

  /* ---- États ---- */
  --ip-bleu-press:  #1B31A0;
  --ip-bleu-wash:   #ECEEFB;
  --ip-succes:      #1F7A4D;
  --ip-alerte:      #C0341D;
  --ip-alerte-wash: #FBECE9;

  /* ---- Alias sémantiques ---- */
  --surface-page:    var(--ip-papier);
  --surface-card:    var(--ip-papier-carte);
  --surface-inverse: var(--ip-encre);
  --text-strong:   var(--ip-encre);
  --text-body:     var(--ip-encre);
  --text-muted:    var(--ip-graphite);
  --text-accent:   var(--ip-bleu);
  --text-on-dark:  var(--ip-papier);
  --border-hair:   var(--ip-filigrane);
  --border-strong: var(--ip-encre);
  --accent:        var(--ip-bleu);
  --accent-hover:  #1E37AE;
  --accent-press:  var(--ip-bleu-press);
  --focus-ring:    var(--ip-bleu);

  /* ---- Typographie ---- */
  --ip-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --ip-texte:   'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ip-mono:    'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
  --font-display: var(--ip-display);
  --font-body:    var(--ip-texte);
  --font-mono:    var(--ip-mono);

  --fw-regular:  400;
  --fw-medium:   500;
  --fw-display:  560; /* poids signature Fraunces */
  --fw-semibold: 600;
  --fw-bold:     700;

  --fs-display:  clamp(34px, 5.5vw, 58px);
  --fs-h1:       clamp(30px, 4.5vw, 44px);
  --fs-h2:       clamp(26px, 3.4vw, 34px);
  --fs-h3:       21px;
  --fs-lede:     19px;
  --fs-body:     17px;
  --fs-sm:       15px;
  --fs-xs:       13px;
  --fs-mono:     14px;
  --fs-eyebrow:  12.5px;

  --lh-tight:   1.08;
  --lh-snug:    1.18;
  --lh-normal:  1.6;

  --ls-display: -0.01em;
  --ls-eyebrow: 0.1em;
  --ls-mono:    0.06em;

  /* ---- Espacement (base 4px) ---- */
  --sp-1:  4px;  --sp-2:  8px;  --sp-3:  12px; --sp-4:  16px;
  --sp-5:  20px; --sp-6:  24px; --sp-8:  32px; --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px; --sp-20: 80px; --sp-24: 96px;

  /* ---- Rayons : quasi vifs (papier massicoté) ---- */
  --radius-0:    0px;
  --radius-1:    2px;   /* défaut — boutons, champs, cartes */
  --radius-pill: 999px; /* réservé au repère de calage */

  /* ---- Filets ---- */
  --hair: 1px;
  --border-hair-line: 1px solid var(--ip-filigrane);
  --border-ink-line:  1px solid var(--ip-encre);

  /* ---- Pas d'ombre — token présent pour l'interdire explicitement ---- */
  --shadow-none: none;

  /* ---- Largeurs ---- */
  --measure:        68ch;
  --container:      1040px;
  --container-wide: 1240px;

  /* ---- Cibles tactiles ---- */
  --tap-min: 44px;

  /* ---- Transitions (sobres — jamais de rebond) ---- */
  --ease: cubic-bezier(0.2, 0, 0.2, 1);
  --dur-fast: 120ms;
  --dur:      180ms;
}
