/* ==========================================================================
   BYANSEL — Design tokens
   Source de vérité : charte graphique du cahier des charges.
   ========================================================================== */

:root {
  /* --- Couleurs de la charte --- */
  --navy: #102A43;
  --coral: #E4572E;
  --slate: #5B6B7F;
  --surface: #F4F6F8;
  --white: #FFFFFF;

  /* --- Dérivés (teintes utilitaires) --- */
  --navy-900: #0B1D2F;            /* fonds profonds, pied de page */
  --navy-700: #1B3A5C;            /* survol sur fond marine */
  --navy-100: #D9E2EC;            /* filets et bordures */
  --navy-50:  #EEF2F6;            /* fonds de champs */
  --coral-deep: #C9431C;          /* corail portant du texte blanc ou posé sur blanc : AA 4.9:1 */
  --coral-light: #EE7047;         /* texte corail sur fond marine : AA 4.7:1 */
  --coral-soft: #FBE9E3;          /* fond de badge clair */
  --slate-300: #B8C4D3;           /* texte secondaire sur fond marine */
  --slate-100: #E6EBF0;

  /* --- Rôles sémantiques --- */
  --color-bg: var(--white);
  --color-bg-alt: var(--surface);
  --color-text: var(--navy);
  --color-text-muted: var(--slate);
  --color-border: var(--navy-100);
  --color-accent: var(--coral);
  --color-accent-text: var(--coral-deep);
  --color-focus: var(--coral-deep);
  --color-error: #B3261E;
  --color-success: #1B6B3A;

  /* --- Typographie --- */
  --font-heading: "Poppins", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --fs-xs: 0.75rem;      /* 12 */
  --fs-sm: 0.875rem;     /* 14 */
  --fs-base: 1.0625rem;  /* 17 */
  --fs-md: 1.125rem;     /* 18 */
  --fs-lg: 1.25rem;      /* 20 */
  --fs-xl: 1.5rem;       /* 24 */
  --fs-h3: clamp(1.25rem, 0.5vw + 1.1rem, 1.5rem);
  --fs-h2: clamp(2rem, 2.6vw + 1.1rem, 3.25rem);
  --fs-display: clamp(2.25rem, 2.6vw + 0.6rem, 3rem);

  --lh-tight: 1.05;
  --lh-snug: 1.25;
  --lh-body: 1.6;

  /* --- Espacements (échelle 4 px) --- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --section-y: clamp(4rem, 9vw, 8rem);
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --container: 80rem; /* 1280 px */

  /* --- Formes --- */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-pill: 999px;
  --rule: 1px solid var(--color-border);

  /* --- Ombres (échelle unique) --- */
  --shadow-sm: 0 1px 2px rgba(16, 42, 67, 0.06);
  --shadow-md: 0 8px 24px -8px rgba(16, 42, 67, 0.18);
  --shadow-lg: 0 24px 48px -16px rgba(16, 42, 67, 0.28);

  /* --- Mouvement --- */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-hover: ease;

  --dur-press: 160ms;
  --dur-hover: 200ms;
  --dur-ui: 250ms;
  --dur-drawer: 400ms;
  --dur-reveal: 600ms;
  --dur-hero: 700ms;

  /* --- Plans --- */
  --z-header: 100;
  --z-drawer: 200;
  --z-dialog: 300;
}
