/* ═══════════════════════════════════════════════════════════════
   Cornelius — Brand Foundations (core/ui/foundations.css)
   ═══════════════════════════════════════════════════════════════
   Layer 0 — Design tokens shared by ALL Cornelius products.

   This file contains ONLY variables and font imports.
   No classes, no reset, no layout — just the raw brand DNA.

   Consumers:
     • Admin DS (VELOC admin, TAD admin, OD dashboard)
     • Portal DS (VELOC public, TAD public)
     • Transport DS (VISTA, widgets OnDEMAND)
     • Auth pages (Connect)
     • Any future product

   Usage — CETTE FEUILLE SE CHARGE EN PREMIER, avant DesignSystem.css :
     Via PHP :  Layout::head(['vertical' => 'veloc']);   // <link> versionné, cf. Layout::asset
     Sinon   :  <link rel="stylesheet" href="/assets/core/foundations.css">
     En CSS  :  @import url('/assets/core/foundations.css');   // cf. veloc/assets/css/veloc.css

   ⚠️ DesignSystem.css NE L'IMPORTE PLUS (lot 005) : un `?v=` posé sur l'importeur ne se
   propageait pas à l'importé, et les tokens de marque restaient derrière le cache.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Fonts ──────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap');

/* ─── Brand Tokens ───────────────────────────────────────── */
:root {
    /* Brand accent (Cornelius orange) */
    --orange: #E75C0B;
    --orange-light: #FF7A2F;
    --orange-glow: rgba(231, 92, 11, 0.25);
    --orange-alpha: rgba(231, 92, 11, 0.15);

    /* ─── Accent SÉMANTIQUE ⟨lot 024 §2.1⟩ ─────────────────────────────────────────
       Le socle ne lit plus `--orange` en direct : il lit ces quatre-là. C'est ce qui
       permet à UNE verticale de prendre son accent sans toucher aux quatre autres.

       🔑 LA VALEUR PAR DÉFAUT EST L'ORANGE, ET C'EST UN INVARIANT, pas une commodité.
       À jeu de valeurs identique, VELOC · VISTA · OnDEMAND · APP doivent rendre
       EXACTEMENT comme avant. C'est le premier contrôle de recette du lot, et il passe
       avant tout le reste (brief §4.1) : une erreur d'indirection ne casse pas une page,
       elle décolore quatre produits d'un coup.

       🔴 NE PAS CHAÎNER SUR `--brand-cta`. La tentation est forte — c'est le jeton que
       `Layout::brandingStyles()` écrit, et le brancher ici « rendrait enfin réelle » la
       marque blanche. MESURÉ le 25/08/2026 sur une page VELOC rendue :
       `--brand-cta` vaut **#3b82f6** (le bleu que `TenantService::getBranding()` rend
       hors tenant), pas l'orange. Le chaîner repeindrait les CINQ verticales en bleu.
       Rendre la marque blanche réelle est un geste à part, avec sa propre décision sur
       la valeur par défaut — voir le rapport 024.

       ⚠️ `--orange` NE disparaît pas et NE se renomme pas : il reste la valeur par défaut,
       et `Theme.css` continue de le redéfinir par thème (#D95209 en clair). Comme la
       substitution des propriétés personnalisées est PARESSEUSE, `--brand-accent` suit
       cette redéfinition sans qu'on ait à la dupliquer. */
    --brand-accent: var(--orange);
    --brand-accent-light: var(--orange-light);
    --brand-accent-glow: var(--orange-glow);
    --brand-accent-alpha: var(--orange-alpha);
    --brand-gradient: linear-gradient(135deg, var(--orange), var(--orange-light));

    /* Semantic colors */
    --success: #22c55e;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #3b82f6;

    /* Typography */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    /* Radii */
    --radius: 16px;
    --radius-sm: 10px;
}
