/* ============================================================
   TOKENS — CSS variables shared across the site
   ============================================================
   This file centralizes all design values used
   across modules. To change the visual identity,
   edit here.

   Naming convention:
     --c-* : colors (color)
     --f-* : fonts (font)
     --r-* : corner radii (radius)
     --s-* : spacing — optional, add as needed
   ============================================================ */

:root {
  /* === BRAND COLORS === */
  --c-deep: #0A1F38;                       /* deep blue — hero background, headings, dark surfaces */
  --c-blue: #236FA8;                       /* brand blue — links, accents */
  --c-cyan: #32BCEC;                       /* bright cyan — CTAs, focus */
  --c-gold: #D4A24A;                       /* gold — editorial accents, premium badges */
  --c-cream: #F7F3EC;                      /* pale cream — soft backgrounds */
  --c-ink: #1A1A1A;                        /* editorial black — body text */
  --c-paper: #FDFCFA;                      /* off-white — card backgrounds */
  --c-line: rgba(10, 31, 56, 0.12);        /* separator lines */
  --c-mute: rgba(10, 31, 56, 0.6);         /* secondary text */
  --c-table-head: #E2ECF5;                 /* table headers (admin) — pale brand blue */
  --c-table-head-ink: #1B4A75;             /* table header text */

  /* Vocabulaire de la bibliothèque codia-modules (rôles des couleurs) → couleurs du club.
     Les feuilles du socle lisent ces noms ; ils suivent la marque ci-dessus. */
  --c-primary: var(--c-deep);
  --c-accent: var(--c-blue);
  --c-focus: var(--c-cyan);
  --c-highlight: var(--c-gold);
  --c-soft: var(--c-cream);

  /* Espacement vertical STANDARD des sections publiques (haut et bas) : celui
     de « Par où commencer » (accueil). 48 px sur mobile → 80 px max. Deux
     sections qui se suivent sont donc séparées de 2 × --section-y. */
  --section-y: clamp(48px, 6vw, 80px);

  /* === TYPOGRAPHY === */
  --f-body: 'Montserrat', system-ui, -apple-system, sans-serif;
  --f-display: 'Fraunces', Georgia, serif;

  /* === LAYOUT === */
  /* Une SEULE largeur pour tout le site (en-tête, contenu, espace membre/admin,
     pied de page) : les bords s'alignent d'une zone à l'autre. Avant, l'espace
     membre montait à 1340 px quand l'en-tête et le pied restaient à 1180 px. */
  --container: 1280px;                     /* largeur max du conteneur, marges comprises */
  --gutter: 32px;                          /* marge latérale ; 20px sur mobile (≤ 720px) */
  --header-h: 84px;                        /* sticky header height */

  /* === CORNER RADII === */
  /* All at 0: "sharp corners" design chosen for this site.
     To re-enable rounded corners, set for example:
       --r-sm: 4px; --r-md: 8px; --r-lg: 16px; */
  --r-sm: 0;
  --r-md: 0;
  --r-lg: 0;

  /* === ANIMATIONS === */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);  /* default animation curve */
}

/* Marge latérale réduite sur mobile. */
@media (max-width: 720px) {
  :root { --gutter: 20px; }
}

/* === POLICES, servies par le site (21 octobre 2026) ===
   Montserrat et Fraunces (variables, licence OFL) depuis public/vendor/fonts/,
   déclarées dans public/vendor/vendor.json (paquets @fontsource-variable,
   `npm run vendor`), comme Maison Vénus. Avant : Google Fonts, une feuille
   bloquante sur deux autres origines (~0,9 s sur mobile) et une adresse IP
   de chaque visiteur transmise à Google. Fraunces garde son axe de taille
   optique (fichiers `opsz`), comme la feuille de Google le demandait.
   `unicode-range` : le fichier latin-ext ne se télécharge que si la page en
   contient un caractère. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../vendor/fonts/montserrat-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../vendor/fonts/montserrat-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../vendor/fonts/fraunces-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../../vendor/fonts/fraunces-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
