/* ════════════════════════════════════════════════════════════════
   ms-core.css — Socle UI MentalSense (toutes apps)
   ────────────────────────────────────────────────────────────────
   Chargé AVANT le CSS propre de chaque app (cf. layouts main.php).
   Fournit : les polices maison, les design tokens neutres --ms-*
   et l'échelle de taille de texte --fs-scale (widget A− / A / A+).

   Règles du contrat :
   • Chaque app surcharge les tokens --ms-* dans son :root (chargé
     après) pour brancher son identité : --ms-accent, --ms-surface…
   • Ne JAMAIS définir ici --font-serif / --font-sans : ces variables
     appartiennent aux apps et à la marque blanche (surcharges société
     injectées via #ms-theme-vars après tous les CSS).
   ════════════════════════════════════════════════════════════════ */

/* ── Polices maison (servies via /shared-assets/fonts) ────────── */
@font-face {
    font-family: 'Figtree';
    src: url('../fonts/figtree.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'RL Limo';
    src: url('../fonts/RLLimoTRIAL-Regular.woff2') format('woff2'),
         url('../fonts/RLLimoTRIAL-Regular.woff')  format('woff'),
         url('../fonts/RLLimoTRIAL-Regular.ttf')   format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ── Design tokens neutres (surchargés par chaque app) ────────── */
:root {
    /* Accent (chaque app pointe le sien : --red, --psy-accent, --adm-accent) */
    --ms-accent:          #4f5d75;
    --ms-accent-contrast: #ffffff;

    /* Surfaces & bordures */
    --ms-surface: rgba(255, 255, 255, 0.70);
    --ms-border:  rgba(0, 0, 0, 0.09);

    /* Texte */
    --ms-text:       #1f2933;
    --ms-text-mid:   rgba(31, 41, 51, 0.60);
    --ms-text-muted: rgba(31, 41, 51, 0.38);

    /* Échelle de rayons — les CTA sont en « pilule » */
    --ms-radius:      14px;
    --ms-radius-sm:   10px;
    --ms-radius-pill: 999px;

    /* Ombres */
    --ms-shadow-1: 0 1px 4px rgba(0, 0, 0, 0.05);
    --ms-shadow-2: 0 8px 32px rgba(0, 0, 0, 0.10);

    /* Mouvement */
    --ms-transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);

    /* Typographie maison (les apps pointent --font-* dessus) */
    --ms-font-sans:  'Figtree', 'Inter', system-ui, sans-serif;
    --ms-font-serif: 'RL Limo', 'Georgia', serif;

    /* Échelle de taille de texte (widget A− / A / A+) */
    --fs-scale: 1;
}

/* ── Taille de texte : 5 crans pilotés par data-fs sur <html> ───
   Le cran est posé côté PHP depuis le cookie « ms-fs » (zéro flash)
   puis mis à jour en direct par ms-fs.js. Toutes les font-size en
   rem héritent automatiquement de la racine. */
html { font-size: calc(100% * var(--fs-scale)); }
html[data-fs="1"] { --fs-scale: 0.85; }
html[data-fs="2"] { --fs-scale: 0.925; }
html[data-fs="3"] { --fs-scale: 1; }
html[data-fs="4"] { --fs-scale: 1.1; }
html[data-fs="5"] { --fs-scale: 1.2; }
