/* ─────────────────────────────────────────────────────────────
   variables.css — Design tokens CertifPlus
   Palette : bleu vif type Qonto / Revolut
   ───────────────────────────────────────────────────────────── */

:root {

  /* ── Couleurs primaires ──────────────────────────────────── */
  --color-primary-50:  #EEF4FF;
  --color-primary-100: #D9E6FF;
  --color-primary-200: #BACEFF;
  --color-primary-300: #89ADFF;
  --color-primary-400: #5581FF;
  --color-primary-500: #2F5BFF;   /* Primaire principal */
  --color-primary-600: #1A3CF5;
  --color-primary-700: #142EE0;
  --color-primary-800: #1626B5;
  --color-primary-900: #18278F;
  --color-primary-950: #131A57;

  --color-primary:       var(--color-primary-500);
  --color-primary-dark:  var(--color-primary-700);
  --color-primary-light: var(--color-primary-50);

  /* ── Couleurs sémantiques ────────────────────────────────── */
  --color-success-50:  #ECFDF5;
  --color-success-100: #D1FAE5;
  --color-success-500: #10B981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success:     var(--color-success-500);

  --color-warning-50:  #FFFBEB;
  --color-warning-100: #FEF3C7;
  --color-warning-500: #F59E0B;
  --color-warning-600: #D97706;
  --color-warning:     var(--color-warning-500);

  --color-error-50:  #FEF2F2;
  --color-error-100: #FEE2E2;
  --color-error-500: #EF4444;
  --color-error-600: #DC2626;
  --color-error:     var(--color-error-500);

  --color-info-50:  #F0F9FF;
  --color-info-500: #0EA5E9;
  --color-info:     var(--color-info-500);

  /* ── Neutres (gris froid) ────────────────────────────────── */
  --color-gray-0:   #FFFFFF;
  --color-gray-50:  #F8FAFC;
  --color-gray-100: #F1F5F9;
  --color-gray-200: #E2E8F0;
  --color-gray-300: #CBD5E1;
  --color-gray-400: #94A3B8;
  --color-gray-500: #64748B;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1E293B;
  --color-gray-900: #0F172A;

  /* ── Alias sémantiques ───────────────────────────────────── */
  --color-bg:           var(--color-gray-0);
  --color-bg-subtle:    var(--color-gray-50);
  --color-bg-muted:     var(--color-gray-100);
  --color-border:       var(--color-gray-200);
  --color-border-focus: var(--color-primary);
  --color-text:         var(--color-gray-900);
  --color-text-muted:   var(--color-gray-500);
  --color-text-subtle:  var(--color-gray-400);
  --color-text-inverse: var(--color-gray-0);

  /* ── Typographie ─────────────────────────────────────────── */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
               Roboto, Oxygen, Ubuntu, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code',
               'Courier New', monospace;

  /* Échelle typographique (modular scale 1.25) */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */
  --text-5xl:  3rem;       /* 48px */
  --text-6xl:  3.75rem;    /* 60px */

  --font-weight-normal:   400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;
  --font-weight-extrabold:800;

  --leading-tight:  1.25;
  --leading-snug:   1.375;
  --leading-normal: 1.5;
  --leading-relaxed:1.625;

  /* ── Espacement (grille 4px) ─────────────────────────────── */
  --space-0:   0;
  --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 */

  /* ── Rayons de bordure ───────────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* ── Ombres ──────────────────────────────────────────────── */
  --shadow-xs:  0 1px 2px 0 rgb(0 0 0 / .05);
  --shadow-sm:  0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
  --shadow-md:  0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
  --shadow-lg:  0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
  --shadow-xl:  0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);
  --shadow-primary: 0 4px 14px 0 rgb(47 91 255 / .35);

  /* ── Transitions ─────────────────────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-base:   200ms ease;
  --transition-slow:   300ms ease;
  --transition-slower: 500ms ease;

  /* ── Z-index ─────────────────────────────────────────────── */
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;

  /* ── Layout ──────────────────────────────────────────────── */
  --container-max:  1200px;
  --container-wide: 1440px;
  --header-height:  84px;

  /* ── Formulaires ─────────────────────────────────────────── */
  --input-height:       48px;
  --input-height-sm:    40px;
  --input-padding-x:    var(--space-4);
  --input-border:       1.5px solid var(--color-border);
  --input-border-focus: 1.5px solid var(--color-primary);
  --input-radius:       var(--radius-md);
  --input-bg:           var(--color-bg);
  --input-bg-disabled:  var(--color-bg-muted);
}
