/* ==========================================================================
   Avigail — jetons de charte graphique v1 (2026)
   Source unique de vérité. Extrait de « Charte Avigail » §09 Intégration.
   --------------------------------------------------------------------------
   Emplacement          : wp-content/themes/avigail-child/assets/avigail-tokens.css
   Enqueue              : functions.php du child, priorité 5, après 'hello-elementor'
   NE PAS coller        : ni dans le Custom CSS global Elementor, ni dans le Kit
                          (arbitrage mission portage — leçon RI-158 côté défisc)
   Règle d'usage        : aucun widget ne redéfinit une valeur en dur.
                          Toute couleur, taille, rayon ou ombre passe par var(--av-*).
   Thème sombre         : s'active via [data-theme="dark"] ou la préférence système.
   ========================================================================== */

:root {
  /* Neutres */
  --av-bg:          #FAF5EF;
  --av-bg-soft:     #F3EAE0;
  --av-surface:     #FFFFFF;
  --av-border:      #E4D8CB;
  --av-ink:         #16232B;
  --av-ink-soft:    #4A5A63;
  --av-ink-muted:   #5F6D75;

  /* Accents */
  --av-gold:        #A9803F;
  --av-gold-deep:   #7A5A22;
  --av-gold-soft:   #F0E3CE;
  --av-clay:        #B5654F;
  --av-clay-deep:   #8E4634;
  --av-clay-soft:   #F6E4DD;
  --av-sage:        #4E6F5C;
  --av-sage-soft:   #E2EBE3;

  /* Typographie */
  --av-font-display: 'Newsreader', Georgia, serif;
  --av-font-text:    'Manrope', system-ui, sans-serif;
  --av-fs-display:  34px;  /* ≥768px : 56px */
  --av-fs-h1:       30px;  /* ≥768px : 44px */
  --av-fs-h2:       24px;  /* ≥768px : 32px */
  --av-fs-h3:       20px;  /* ≥768px : 24px */
  --av-fs-lead:     18px;
  --av-fs-body:     16px;
  --av-fs-prose:    17px;  /* corps éditorial desktop */
  --av-fs-quote:    22px;  /* exergue, ≥768px : 28px */
  --av-prose-max:   65ch;  /* largeur de ligne éditoriale */
  --av-fs-sm:       14px;
  --av-fs-xs:       13px;
  --av-fs-over:     12px;  /* majuscules, letter-spacing .16em */
  --av-lh-tight:    1.15;
  --av-lh-body:     1.65;

  /* Espacement (base 4) */
  --av-sp-1: 4px;  --av-sp-2: 8px;  --av-sp-3: 12px;
  --av-sp-4: 16px; --av-sp-5: 20px; --av-sp-6: 24px;
  --av-sp-8: 32px; --av-sp-10: 40px; --av-sp-14: 56px;

  /* Formes */
  --av-radius-sm:   8px;
  --av-radius-md:   14px;
  --av-radius-lg:   16px;
  --av-radius-pill: 999px;
  --av-tap:         48px;   /* cible tactile minimale */
  --av-shadow:      0 1px 2px rgba(22,35,43,.04), 0 8px 24px rgba(22,35,43,.06);
  --av-shadow-bar:  0 -2px 12px rgba(22,35,43,.07);  /* barre CTA collante */
  --av-h-progress:  2px;    /* barre de lecture */
  --av-z-sticky:    20;     /* sommaire + barre collante */
  --av-h-header:    64px;   /* en-tête, ≥768px : 72px */
  --av-overlay:     rgba(22,35,43,.55);  /* voile menu mobile */
  --av-ring:        0 0 0 3px rgba(22,35,43,.10);
  --av-ease:        160ms cubic-bezier(.32,.72,.4,1);
}

[data-theme="dark"] {
  --av-bg:        #10191E;
  --av-bg-soft:   #17232A;
  --av-surface:   #1C2A31;
  --av-border:    #2C3D45;
  --av-ink:       #F1E8DD;
  --av-ink-soft:  #B9C6CC;
  --av-ink-muted: #93A2A9;
  --av-gold:      #D9AE6A;
  --av-gold-deep: #E7C48D;
  --av-gold-soft: #2A2418;
  --av-clay:      #DE9179;
  --av-clay-deep: #EBAF9C;
  --av-clay-soft: #2E211C;
  --av-sage:      #8FB39C;
  --av-sage-soft: #1D2A23;
  --av-ring:      0 0 0 3px rgba(217,174,106,.18);
}

/* Préférence système, uniquement si aucun thème n'a été forcé sur <html>.
   Valeurs strictement identiques au bloc [data-theme="dark"] : aucune
   couleur nouvelle n'est introduite ici. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --av-bg:        #10191E;
    --av-bg-soft:   #17232A;
    --av-surface:   #1C2A31;
    --av-border:    #2C3D45;
    --av-ink:       #F1E8DD;
    --av-ink-soft:  #B9C6CC;
    --av-ink-muted: #93A2A9;
    --av-gold:      #D9AE6A;
    --av-gold-deep: #E7C48D;
    --av-gold-soft: #2A2418;
    --av-clay:      #DE9179;
    --av-clay-deep: #EBAF9C;
    --av-clay-soft: #2E211C;
    --av-sage:      #8FB39C;
    --av-sage-soft: #1D2A23;
    --av-ring:      0 0 0 3px rgba(217,174,106,.18);
  }
}

/* Bascule des tailles au-delà de 768px — reportée de l'échelle mobile-first
   de la charte §02. Aucune valeur nouvelle : ce sont les variantes desktop
   déjà annoncées en commentaire dans le bloc :root. */
@media (min-width: 768px) {
  :root {
    --av-fs-display: 56px;
    --av-fs-h1:      44px;
    --av-fs-h2:      32px;
    --av-fs-h3:      24px;
    --av-fs-quote:   28px;
    --av-h-header:   72px;
  }
}

/* --------------------------------------------------------------------------
   RAPPELS DE CONFORMITÉ (charte §01 et §05) — à respecter dans les widgets
   --------------------------------------------------------------------------
   · --av-gold (#A9803F) plafonne à 3,3:1 sur --av-bg : réservé aux aplats,
     filets, icônes décoratives et titres ≥ 24px.
     Pour du TEXTE courant en accent, utiliser --av-gold-deep (#7A5A22).
   · Le violet est proscrit. L'ancien --violet #2e2158 n'a aucun équivalent.
   · --av-font-display (Newsreader) : titres, chiffres-clés, citations.
     Jamais en corps de texte long.
   · Cibles tactiles : --av-tap (48px) minimum.
   · Une seule surface sombre autorisée en thème clair : la carte d'appel CTA.
   -------------------------------------------------------------------------- */
