/* Valblocs — Socle.

   Le jeu de jetons commun aux deux familles d'écrans que traverse un membre :
   les espaces parent et enfant du plugin, et la communauté BuddyPress. Ils
   vivaient jusqu'ici en deux exemplaires, sur .gp-scope et sur #buddypress, et
   repartaient en divergence à chaque retouche — c'est ainsi que le plugin s'est
   retrouvé avec trois palettes qui ne se répondent pas.

   Chargé en dépendance de espaces.css et de communaute.css, jamais seul.

   Les jetons sont posés sur les racines des deux surfaces et non sur :root :
   rien ne fuit vers le reste du site, et le socle reste sans effet sur une page
   qui n'accueille ni shortcode ni écran communautaire. */

.gp-scope,
#buddypress,
.buddypress-wrap {

  /* ── Identité ───────────────────────────────────────────────────────────
     Elle suit les couleurs globales de Divi et retombe sur la charte du clan.
     Une couleur changée dans l'interface du thème se propage aux deux surfaces
     sans qu'on touche à une feuille.

     Seules les variables sémantiques de Divi 5 sont lues. Les autres couleurs
     globales portent un identifiant tiré au sort à la création — --gcid-25qfh64d7i
     et ses semblables — qui diffère d'une installation à l'autre et se perd dès
     qu'on recrée la couleur. */
  --encre:   var(--gcid-heading-color, #1B2A4A);
  --encre2:  #2A3D63;
  --or:      var(--gcid-primary-color, #C9922A);
  --or-clair:#F4E3BE;
  --or-pale: #FBF4E4;
  --ardoise: var(--gcid-body-color,    #5C6B7A);
  --ardoise2:#8A97A3;
  --lien:    var(--gcid-link-color,    #C9922A);

  /* ── États ──────────────────────────────────────────────────────────────
     Ceux-là ne suivent pas Divi, et c'est délibéré. `secondary` est un
     emplacement de marque, pas un statut : y brancher la réussite reviendrait à
     repeindre « opération réussie » le jour où la charte change d'accent. Une
     réussite, un avertissement, une alerte se lisent à des couleurs
     conventionnelles, qui ne se déplacent pas. */
  --mousse:     #3F6B4F;
  --mousse-pale:#E6EFE8;
  --alerte:     #A44A32;
  --alerte-pale:#FBEEEA;

  /* ── Surfaces ───────────────────────────────────────────────────────────
     Le fond est très légèrement teinté et les cartes sont blanches : c'est ce
     décalage, et non une ombre, qui détache un bloc de la page. L'ombre est
     réservée à ce qui flotte réellement — un menu déroulant, un toast. */
  --craie: #fff;
  --fond:  #F7F8FA;
  --pierre:#EDF0EE;
  --pierre2:#E2E7E4;
  --trait: rgba(27,42,74,.10);
  --trait2:rgba(27,42,74,.20);
  --ombre: 0 1px 3px rgba(27,42,74,.06);
  --ombre-flottante:0 8px 24px rgba(27,42,74,.14);

  /* ── Familles ───────────────────────────────────────────────────────────
     IBM Plex n'est chargée que sur les pages qui portent un shortcode du
     plugin. Ailleurs — sur la communauté — les piles de repli prennent le
     relais, et les écrans héritent des polices réglées dans Divi. C'est voulu :
     une requête de police en plus pour aligner deux chiffres serait chère
     payée. */
  --sans: 'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --serif:'IBM Plex Serif',Georgia,serif;
  --mono: 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  /* ── Échelle typographique ──────────────────────────────────────────────
     Elle part de 16 px et ne descend jamais : sous cette taille, iOS zoome à la
     saisie et la lecture devient pénible sur écran de bureau. Il n'y a donc pas
     de niveau « micro » — une étiquette se distingue du corps par la capitale,
     l'interlettrage et la couleur, jamais par la taille.

     C'est une réparation. Trois jetons d'échelle étaient déclarés dans
     espaces.css et aucun n'était utilisé : une quarantaine de règles écrivaient
     `font-size:1rem` en dur, si bien qu'étiquette, corps et légende avaient
     exactement la même taille. */
  --fs-base:1rem;         /* 16 — corps courant, étiquettes, légendes */
  --fs-sec: 1.0625rem;    /* 17 — corps de lecture, texte long */
  --fs-lead:1.25rem;      /* 20 — chapeau, phrase mise en avant */
  --fs-h3:  1.375rem;     /* 22 — titre de carte */
  --fs-h2:  1.75rem;      /* 28 — titre d'écran */
  --fs-num: 2.25rem;      /* 36 — chiffre clé */
  --fs-num-l:clamp(2.25rem,6vw,3.25rem);  /* le solde, seul chiffre héroïque */

  /* ── Rayons et respiration ──────────────────────────────────────────────
     --rl est le rayon de carte. */
  --r: 6px;
  --rl:10px;
  --rx:14px;
  --pad-carte:1.25rem;
  --pad-carte-l:1.5rem;
  --gouttiere:1.5rem;
}
