/* ============================================================
   TOKENS SEMANTIQUES : les ROLES que consomment les blocs.
   Couche 2 sur 3. C'est le CONTRAT entre blocs et packs :
   un bloc ne connait que ces noms, un pack ne fait que les remplir.
   Les valeurs ci-dessous sont des DEFAUTS neutres volontairement
   ternes : si un rendu ressemble a ca, c'est qu'un pack manque.
   Chaque pack (tokens.<style>.css) REMAPPE tout ce fichier.
   ============================================================ */
:root {

  /* ---- Surfaces ---- */
  --surface: #ffffff;          /* fond de page */
  --surface-alt: #f2f2f2;      /* fond de section alternee, cartes posees */
  --surface-raised: #ffffff;   /* cartes au-dessus du fond */
  --surface-invert: #1a1a1a;   /* bandes inversees (CTA, footer) */

  /* ---- Encres ---- */
  --ink: #1a1a1a;              /* texte principal */
  --ink-muted: #575757;        /* texte secondaire, doit rester AA sur --surface */
  --ink-invert: #ffffff;       /* texte sur --surface-invert */
  --ink-invert-muted: #c4c4c4;

  /* ---- Accent (l'identite du pack) ---- */
  --accent: #333333;           /* actions, liens, points d'energie */
  --accent-contrast: #ffffff;  /* texte pose sur --accent : AA obligatoire */
  --accent-soft: #ebebeb;      /* fond tres dilue de l'accent (badges, halos) */

  /* ---- Filets et focus ---- */
  --border: #dcdcdc;
  --border-strong: #b0b0b0;
  --focus-ring: #333333;       /* outline clavier, jamais supprime */

  /* ---- Etats ---- */
  --success: #1d7a46;
  --danger: #bb2124;

  /* ---- Typographie (roles remplis par le pack) ---- */
  --font-display: 'Archivo', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --w-display: 700;            /* graisse des titres */
  --w-strong: 600;             /* graisse des emphase / boutons */
  --w-body: 400;
  --ls-display: -0.02em;       /* approche des titres */
  --tt-display: none;          /* text-transform des titres (uppercase chez certains packs) */

  /* ---- Composants : decisions de forme laissees au pack ---- */
  --r-field: var(--r-1);       /* champs de formulaire */
  --r-btn: var(--r-2);         /* boutons */
  --r-card: var(--r-3);        /* cartes */
  --btn-px: 1.5rem;            /* padding horizontal bouton */
  --btn-py: 0.8rem;
  --shadow-card: var(--sh-2);  /* ombre des cartes (les packs sombres la coupent) */
}

/* Le focus clavier est un role, pas une option : identique partout,
   colore par le pack via --focus-ring. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: var(--bw-2) solid var(--focus-ring);
  outline-offset: 2px;
}
