/* =========================================
   NXTFORMA — DESIGN SYSTEM V1.0 — TOKENS
   Source unique des variables. Ne pas dupliquer ailleurs.
   ========================================= */

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Instrument Serif";
  src: url("../fonts/instrument-serif-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/ibm-plex-mono-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {

  /* =========================================================
     PALETTE TUTOR LMS (V4, éclaircie le 04/11/2026 : fond #1E2638, cartes #2A3550) — reprend le thème sombre natif de Tutor LMS, pour que le site
     et l'espace apprenant forment un seul produit.
     #161B26  fond (surface-base)   #1F242F  cartes (surface-l1)   #2D3039  surfaces élevées
     #3E64DE  bleu Tutor (boutons)  #2B49CA  survol                #4979E8  décor
     #6F8FF0  mot d'accent          #A4BCF4  liens / accent texte
     Contrastes AA : blanc sur #3E64DE 5,1:1 · #6F8FF0 5,1:1 et #A4BCF4 8,2:1 sur carte.
     ========================================================= */

  /* ACCENT */
  --nxt-primary: #3E64DE;                 /* --tutor-brand-600 : fond des boutons */
  --nxt-primary-hover: #2B49CA;           /* --tutor-brand-700 */
  --nxt-on-primary: #FFFFFF;              /* 5,1:1 (7,2:1 au survol) */
  --nxt-lavender: rgba(62, 100, 222, 0.18); /* fond de badge / surbrillance */
  --nxt-link: #A4BCF4;                    /* --tutor-brand-400 : 8,2:1 sur carte */
  --nxt-accent-text: #8AA4F6;             /* mots en italique : 6,3:1 sur fond, 5:1 sur carte */
  --nxt-accent-deco: #4979E8;             /* --tutor-brand-500 : traits, halos */

  /* SURFACES */
  --nxt-bg: #1E2638;
  --nxt-background: #1E2638;
  --nxt-background-soft: #2A3550;
  --nxt-surface-2: #33405F;

  /* TYPOGRAPHY COLORS */
  --nxt-heading: #FFFFFF;
  --nxt-text: #DEE2EA;                    /* 9,4:1 sur carte */
  --nxt-muted: #B4BAC6;                   /* 6,2:1 sur carte */

  /* BORDERS */
  --nxt-border: rgba(175, 196, 247, 0.18);
  --nxt-border-strong: rgba(175, 196, 247, 0.32);

  /* SEMANTIC (AA sur fond sombre) */
  --nxt-success: #4ADE80;
  --nxt-success-bg: rgba(74, 222, 128, 0.10);
  --nxt-warning: #FDB022;
  --nxt-warning-bg: rgba(253, 176, 34, 0.10);
  --nxt-danger: #F87171;
  --nxt-danger-bg: rgba(248, 113, 113, 0.10);
  --nxt-info: #A4BCF4;
  --nxt-info-bg: rgba(62, 100, 222, 0.18);

  /* FOCUS */
  --nxt-focus-ring: 0 0 0 3px #1E2638, 0 0 0 5px #6F8FF0;

  /* BORDER RADIUS — cartes arrondies */
  --nxt-radius-sm: 10px;
  --nxt-radius: 14px;
  --nxt-radius-lg: 20px;
  --nxt-radius-xl: 28px;

  /* ALIAS (sections, en-tête, pied) */
  --nxt-dark: #1E2638;
  --nxt-dark-line: rgba(175, 196, 247, 0.16);
  --nxt-on-dark: #FFFFFF;
  --nxt-on-dark-text: #DEE2EA;
  --nxt-on-dark-muted: #B4BAC6;
  --nxt-on-dark-accent: #A4BCF4;

  /* GRILLE — un seul conteneur et une seule gouttière pour tout le site */
  --nxt-container: 1200px;
  --nxt-gutter: clamp(1.25rem, 0.8rem + 2vw, 2.5rem);
  --nxt-section-y: clamp(5rem, 3.5rem + 6vw, 9rem);
  --nxt-stack: clamp(2.5rem, 2rem + 2vw, 4rem);

  /* SHADOWS & LUEURS */
  --nxt-shadow-sm: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 8px 24px rgba(0, 0, 0, 0.30);
  --nxt-shadow-md: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 20px 50px rgba(0, 0, 0, 0.40);
  --nxt-shadow-lg: 0 30px 80px rgba(0, 0, 0, 0.50);
  --nxt-glow: 0 24px 70px -20px rgba(62, 100, 222, 0.45);
  --nxt-gradient-border: linear-gradient(140deg, rgba(164, 188, 244, 0.45), rgba(255, 255, 255, 0.05) 40%, rgba(255, 255, 255, 0.03) 60%, rgba(62, 100, 222, 0.45));

  /* TRANSITIONS */
  --nxt-transition-fast: 150ms ease;
  --nxt-transition: 250ms ease;

  /* TYPOGRAPHY — familles */
  --nxt-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nxt-font-accent: "Instrument Serif", Georgia, "Times New Roman", serif;
  --nxt-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* TYPOGRAPHY — tailles fluides (360px → 1440px) */
  --nxt-fs-xs: 0.8125rem;
  --nxt-fs-sm: 0.9375rem;
  --nxt-fs-base: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --nxt-fs-lg: clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  --nxt-fs-h4: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  --nxt-fs-h3: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --nxt-fs-h2: clamp(1.875rem, 1.45rem + 2.1vw, 3rem);
  --nxt-fs-h1: clamp(2.5rem, 1.7rem + 4vw, 4.75rem);
  --nxt-fs-display: clamp(2.75rem, 1.4rem + 5.6vw, 5.75rem);

  /* ESPACEMENTS */
  --nxt-space-1: 0.25rem;
  --nxt-space-2: 0.5rem;
  --nxt-space-3: 0.75rem;
  --nxt-space-4: 1rem;
  --nxt-space-6: 1.5rem;
  --nxt-space-8: 2rem;
  --nxt-space-12: 3rem;
  --nxt-space-16: 4rem;
  --nxt-space-section: var(--nxt-section-y);
}
