/* Design tokens, PleinDébit / Variant A "Bleu confiance + Orange action" */

:root {
  /* Palette */
  --pd-primary: #0B4DA2;
  --pd-primary-dark: #083B7C;
  --pd-primary-light: #2E6DB8;
  --pd-primary-50: #E6EEF7;

  --pd-accent: #FF6A2C;
  --pd-accent-hover: #E5571B;
  --pd-accent-dark: #C84613;
  --pd-accent-50: #FFF1E8;

  --pd-success: #1FBF7A;
  --pd-warning: #F5B400;
  --pd-danger: #E03131;

  --pd-neutral-900: #0F172A;
  --pd-neutral-800: #1E293B;
  --pd-neutral-700: #334155;
  --pd-neutral-600: #475569;
  --pd-neutral-500: #64748B;
  --pd-neutral-400: #94A3B8;
  --pd-neutral-300: #CBD5E1;
  --pd-neutral-200: #E2E8F0;
  --pd-neutral-100: #F1F5F9;
  --pd-neutral-50: #F8FAFC;
  --pd-white: #FFFFFF;

  /* Typography */
  --pd-font-heading: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --pd-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --pd-font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  --pd-fs-xs: 0.75rem;    /* 12 */
  --pd-fs-sm: 0.875rem;   /* 14 */
  --pd-fs-base: 1rem;     /* 16 */
  --pd-fs-md: 1.125rem;   /* 18 */
  --pd-fs-lg: 1.375rem;   /* 22 */
  --pd-fs-xl: 1.75rem;    /* 28 */
  --pd-fs-2xl: 2.25rem;   /* 36 */
  --pd-fs-3xl: 3rem;      /* 48 */
  --pd-fs-4xl: 4rem;      /* 64 */

  --pd-fw-regular: 400;
  --pd-fw-medium: 500;
  --pd-fw-semibold: 600;
  --pd-fw-bold: 700;
  --pd-fw-extra: 800;

  --pd-lh-tight: 1.15;
  --pd-lh-snug: 1.3;
  --pd-lh-normal: 1.6;
  --pd-lh-relaxed: 1.75;

  --pd-tracking-tight: -0.02em;
  --pd-tracking-snug: -0.01em;

  /* Spacing scale */
  --pd-space-0: 0;
  --pd-space-1: 4px;
  --pd-space-2: 8px;
  --pd-space-3: 12px;
  --pd-space-4: 16px;
  --pd-space-5: 24px;
  --pd-space-6: 32px;
  --pd-space-7: 48px;
  --pd-space-8: 64px;
  --pd-space-9: 96px;

  /* Layout */
  --pd-container-narrow: 900px;
  --pd-container: 1400px;
  --pd-container-wide: 1280px;

  /* Borders + radius */
  --pd-radius-sm: 6px;
  --pd-radius: 10px;
  --pd-radius-lg: 16px;
  --pd-radius-xl: 24px;
  --pd-radius-pill: 999px;

  --pd-border: 1px solid var(--pd-neutral-200);
  --pd-border-strong: 1px solid var(--pd-neutral-300);

  /* Shadows */
  --pd-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --pd-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  --pd-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.10);
  --pd-shadow-lg: 0 18px 50px rgba(15, 23, 42, 0.15);

  /* Motion */
  --pd-ease: cubic-bezier(.2, .8, .2, 1);
  --pd-dur-fast: 150ms;
  --pd-dur: 250ms;
  --pd-dur-slow: 400ms;

  /* Z */
  --pd-z-base: 1;
  --pd-z-sticky: 50;
  --pd-z-overlay: 80;
  --pd-z-modal: 100;
  --pd-z-toast: 150;
}

@media (prefers-reduced-motion: reduce) {
  :root { --pd-dur-fast: 0ms; --pd-dur: 0ms; --pd-dur-slow: 0ms; }
}
