/* ==========================================================================
   DESIGN TOKENS — EMI-LAB
   Palette unifiée, typographie, espacements, ombres, rayons, grille
   ========================================================================== */

:root {

  /* ------------------------------------------------------------------
     COULEURS — Identité FSJES : teal pétrole #007EA4 + orange #F7941D
     Stratégie : on conserve les NOMS de variables historiques
     (--clr-navy-*, --clr-gold-*) mais on remappe leurs VALEURS sur la
     nouvelle palette pour que les 11 fichiers CSS se réharmonisent seuls.
     ------------------------------------------------------------------ */

  /* Teal — accent secondaire historique (Formation SPSS & Data Mining) */
  --clr-teal-900: #062d38;
  --clr-teal-800: #0d4a5a;
  --clr-teal-700: #0d7a8a;
  --clr-teal-500: #0ea5b0;
  --clr-teal-100: #e0f7fa;

  /* PRIMAIRE — Teal pétrole FSJES #007EA4 (les noms « navy » sont conservés) */
  --clr-navy-900: #063b49;   /* teal le plus profond — aplats */
  --clr-navy-800: #007ea4;   /* RÉFÉRENCE — primaire institutionnel FSJES */
  --clr-navy-700: #0b6e87;   /* liens, hover sombre */
  --clr-navy-600: #2b94b3;   /* tertiaire / hover sur fond clair */
  --clr-navy-500: #4faec8;   /* états intermédiaires, icônes */
  --clr-navy-100: #e6f2f6;   /* tint clair pour fond de carte */
  --clr-navy-050: #f1f9fb;   /* fond alternatif sobre */

  /* ACCENT — Orange FSJES #F7941D (les noms « gold » sont conservés).
     Accorde enfin le logo EMI-LAB (bleu + orange) à son site. */
  --clr-gold-800: #c2710c;   /* orange le plus foncé */
  --clr-gold-700: #f7941d;   /* ACCENT canonique — orange FSJES */
  --clr-gold-600: #e8850f;   /* hover plus soutenu */
  --clr-gold-400: #ffc27a;   /* orange clair */
  --clr-gold-100: #fff6ea;   /* tint chaud (fonds de section) */

  /* Neutres — gris ardoise (slate) façon FSJES */
  --clr-cream: #f7f8f9;      /* surface alternative — gris très clair (~#f5f5f5) */
  --clr-cream-warm: #fff6ea; /* tint CHAUD orange (sections « waouh ») */
  --clr-linen: #eef1f4;      /* séparateurs, fonds de blocs */
  --clr-stone: #e2e8f0;      /* bordures fines (slate-200, valeur FSJES) */
  --clr-stone-dark: #cbd5e1; /* bordures plus marquées (slate-300) */

  /* Texte — ardoise FSJES */
  --clr-ink: #252525;        /* corps de texte principal (valeur FSJES) */
  --clr-ink-mid: #3f4654;    /* texte secondaire */
  --clr-ink-muted: #6b7280;  /* labels, captions (slate-500) */
  --clr-ink-faint: #9ca3af;  /* placeholders, désactivé (slate-400) */

  /* Surfaces */
  --clr-white: #ffffff;
  --clr-surface: var(--clr-white);
  --clr-surface-alt: var(--clr-cream);

  /* Sémantique — à utiliser dans le CSS composant */
  --color-primary:   var(--clr-navy-800);   /* teal #007ea4 */
  --color-primary-h: var(--clr-navy-700);   /* teal foncé #0b6e87 */
  --color-accent:    var(--clr-gold-700);   /* orange #f7941d */
  --color-accent-h:  var(--clr-gold-600);   /* orange soutenu #e8850f */
  --color-text:      var(--clr-ink);
  --color-muted:     var(--clr-ink-muted);
  --color-surface:   var(--clr-surface);
  --color-border:    var(--clr-stone);

  /* Jetons de marque explicites (alias lisibles pour les phases suivantes) */
  --brand-700: #0b6e87;
  --brand-600: #007ea4;   /* primaire */
  --brand-500: #2b94b3;
  --brand-100: #e6f2f6;
  --brand-050: #f1f9fb;
  --accent-600: #e8850f;
  --accent-500: #f7941d;  /* accent */
  --accent-200: #ffdcb2;
  --accent-050: #fff6ea;

  /* Washes dégradés — signature visuelle FSJES (sections « waouh ») */
  --wash-cool: linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%);
  --wash-warm: linear-gradient(135deg, #fff6ea 0%, #ffffff 55%, #fff0df 100%);
  --wash-brand: linear-gradient(135deg, #007ea4 0%, #0b6e87 100%);

  /* ------------------------------------------------------------------
     TYPOGRAPHIE — 100% Inter (registre institutionnel FSJES).
     --font-serif est conservé comme NOM mais remappé sur Inter : tous les
     `var(--font-serif)` des composants deviennent sans-serif sans réécriture.
     ------------------------------------------------------------------ */

  --font-serif:  'Inter', 'system-ui', sans-serif;   /* serif retiré → Inter */
  --font-sans:   'Inter', 'system-ui', sans-serif;
  --font-mono:   'JetBrains Mono', 'Fira Code', monospace;

  /* Échelle typographique (Minor Third × 1.25, base 16px) */
  --text-xs:    0.75rem;    /* 12px — badges, labels uppercase */
  --text-sm:    0.875rem;   /* 14px — corps secondaire */
  --text-base:  1rem;       /* 16px — corps principal */
  --text-lg:    1.125rem;   /* 18px — intro, lead */
  --text-xl:    1.25rem;    /* 20px — sous-titres de section */
  --text-2xl:   1.5rem;     /* 24px — titres de carte */
  --text-3xl:   1.875rem;   /* 30px — titres de page secondaire */
  --text-4xl:   2.25rem;    /* 36px — titres de section hero */
  --text-5xl:   3rem;       /* 48px — H1 page intérieure */
  --text-6xl:   3.75rem;    /* 60px — H1 page d'accueil */
  --text-7xl:   4.5rem;     /* 72px — display grande */

  --leading-tight:  1.15;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  --tracking-tight:   -0.04em;
  --tracking-normal:   0;
  --tracking-wide:     0.04em;
  --tracking-wider:    0.08em;
  --tracking-widest:   0.15em;

  /* Poids */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;
  --fw-extrabold:800;

  /* ------------------------------------------------------------------
     ESPACEMENTS — Échelle 4px (base-4)
     ------------------------------------------------------------------ */

  --space-1:  0.25rem;   /*  4px */
  --space-2:  0.5rem;    /*  8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* Section padding vertical */
  --section-py-sm:  var(--space-12);  /* 48px */
  --section-py:     var(--space-20);  /* 80px */
  --section-py-lg:  var(--space-32);  /* 128px */

  /* ------------------------------------------------------------------
     RAYONS
     ------------------------------------------------------------------ */

  --radius-sm:   8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  20px;
  --radius-2xl: 28px;
  --radius-full: 9999px;

  /* ------------------------------------------------------------------
     OMBRES — douces, multi-couches, teintées teal profond (8,59,73)
     façon « ring + shadow » de la référence FSJES
     ------------------------------------------------------------------ */

  --shadow-xs:  0 1px  2px rgba(8, 59, 73, 0.05);
  --shadow-sm:  0 1px  3px rgba(8, 59, 73, 0.08), 0 1px 2px rgba(8, 59, 73, 0.05);
  --shadow-md:  0 4px 12px rgba(8, 59, 73, 0.08), 0 2px 4px rgba(8, 59, 73, 0.05);
  --shadow-lg:  0 10px 24px rgba(8, 59, 73, 0.10), 0 4px 8px rgba(8, 59, 73, 0.05);
  --shadow-xl:  0 18px 40px rgba(8, 59, 73, 0.12), 0 6px 12px rgba(8, 59, 73, 0.06);
  --shadow-2xl: 0 28px 60px rgba(8, 59, 73, 0.16);
  --shadow-card-hover: 0 12px 30px rgba(8, 59, 73, 0.14);

  /* ------------------------------------------------------------------
     GRILLE ET CONTENEUR
     ------------------------------------------------------------------ */

  --container-max:       1200px;
  --container-max-wide:  1400px;
  --container-max-narrow: 760px;
  --container-px:        var(--space-8);   /* 32px side padding */
  --container-px-sm:     var(--space-5);   /* 20px mobile */

  --grid-cols:    12;
  --grid-gap:     var(--space-6);  /* 24px */
  --grid-gap-lg:  var(--space-8);  /* 32px */

  /* ------------------------------------------------------------------
     TRANSITIONS & ANIMATIONS
     ------------------------------------------------------------------ */

  --ease-out-quart:  cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out:     cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);

  --duration-fast:   150ms;
  --duration-base:   250ms;
  --duration-slow:   400ms;
  --duration-slower: 600ms;

  --transition-base: var(--duration-base) var(--ease-out-quart);
  --transition-slow: var(--duration-slow) var(--ease-out-quart);

  /* ------------------------------------------------------------------
     COMPATIBILITÉ ELEMENTOR — surcharge les variables globales du kit
     Palette unifiée FSJES : primaire teal #007EA4, accent orange #F7941D
     ------------------------------------------------------------------ */

  --e-global-color-primary:   var(--clr-navy-800);   /* teal #007ea4 */
  --e-global-color-secondary: var(--clr-gold-700);   /* orange #f7941d */
  --e-global-color-text:      var(--clr-ink);
  --e-global-color-accent:    var(--clr-gold-700);   /* orange #f7941d */

  --e-global-typography-primary-font-family:   'Inter';
  --e-global-typography-primary-font-weight:    700;
  --e-global-typography-text-font-family:       'Inter';
  --e-global-typography-text-font-weight:       400;
}

/* Accessibilité — désactive les animations pour ceux qui le préfèrent */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast:   0ms;
    --duration-base:   0ms;
    --duration-slow:   0ms;
    --duration-slower: 0ms;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
