/* ===== FINDOMI PRO — DESIGN TOKENS (chargé en premier) =====
   Source unique des couleurs, typo, espacements, rayons et ombres.
   Identité : navy #003580 (confiance, B2B) + accent chaud ambre utilisé avec parcimonie
   (progression, « en cours », point du logo, mises en avant). Gris neutres teintés bleu.
   Les alias legacy (--terra, --sage, --brown, --cream, --navy, --bg, --text…) pointent
   sur ces tokens pour que les classes existantes continuent de fonctionner. */
:root {
  /* ---- Couleur de marque : navy ---- */
  --c-primary: #003580;
  --c-primary-800: #001F4D;
  --c-primary-700: #002560;
  --c-primary-600: #0A4AA3;
  --c-primary-500: #1F5FC0;
  --c-primary-200: #B9CCEC;
  --c-primary-100: #DCE6F5;
  --c-primary-50: #EEF3FA;
  --c-primary-border: rgba(0, 53, 128, 0.22);
  --c-on-primary: #FFFFFF;

  /* ---- Accent chaud (ambre) — CTA secondaires de mise en avant, progression, "en cours" ---- */
  --c-accent: #E8891A;
  --c-accent-600: #A85D0A;
  --c-accent-100: #FDEBD3;
  --c-accent-50: #FFF6EA;
  --c-accent-border: rgba(232, 137, 26, 0.32);

  /* ---- Sémantique ---- */
  --c-success: #0F9D6A;
  --c-success-700: #0B7A52;
  --c-success-50: #EDFAF4;
  --c-success-border: rgba(15, 157, 106, 0.28);
  --c-info: #1F5FC0;
  --c-info-50: #EAF1FC;
  --c-info-border: rgba(31, 95, 192, 0.28);
  --c-warning: #D97706;
  --c-warning-700: #B45309;
  --c-warning-50: #FEF5E7;
  --c-warning-border: rgba(217, 119, 6, 0.3);
  --c-danger: #C0392B;
  --c-danger-700: #A02E22;
  --c-danger-50: #FBEDEB;
  --c-danger-border: rgba(192, 57, 43, 0.25);

  /* ---- Neutres (gris teintés bleu) ---- */
  --c-bg: #F5F7FA;
  --c-bg-2: #EDF1F6;
  --c-bg-3: #E1E7EF;
  --c-surface: #FFFFFF;
  --c-surface-2: #FAFBFD;
  --c-text: #0F172A;
  --c-text-2: #475569;
  --c-text-3: #64748B;
  --c-text-disabled: #A9B4C4;
  --c-border: #E2E8F0;
  --c-border-2: #CBD5E1;
  --c-overlay: rgba(15, 23, 42, 0.52);

  /* ---- Typo (Inter) — hiérarchie : titre 24/700 · section 12 caps · corps 15–16 · méta 13 ---- */
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --fs-xs: 12px;     /* libellés de section (caps, tracking .08em), badges */
  --fs-meta: 13px;   /* métadonnées, sous-lignes */
  --fs-sm: 14px;     /* boutons, lignes de liste */
  --fs-body: 15px;   /* corps de texte */
  --fs-md: 16px;     /* inputs (pas de zoom iOS), titres de carte */
  --fs-lg: 18px;     /* titres de sheet / hub */
  --fs-xl: 24px;     /* titre de page */
  --fs-2xl: 30px;    /* chiffres clés, prix */
  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-body: 1.5;
  --ls-caps: 0.08em;
  --ls-title: -0.02em;

  /* ---- Espacements (grille 8px) ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;

  /* ---- Rayons ---- */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-pill: 999px;

  /* ---- Ombres (douces, teintées navy) ---- */
  --sh-1: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.04);
  --sh-2: 0 4px 12px rgba(15, 23, 42, 0.07), 0 1px 2px rgba(15, 23, 42, 0.04);
  --sh-3: 0 16px 40px rgba(15, 23, 42, 0.16), 0 2px 6px rgba(15, 23, 42, 0.06);
  --sh-primary: 0 6px 16px rgba(0, 53, 128, 0.22);
  --focus-ring: 0 0 0 3px rgba(31, 95, 192, 0.28);

  /* ---- Mouvement ---- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 150ms;
  --dur: 200ms;
  --dur-slow: 320ms;

  /* ---- Layout ---- */
  --topbar-h: 56px;
  --nbh: 60px;               /* hauteur tabbar (hors safe-area) */
  --tap: 44px;               /* cible tactile minimale */
  --input-h: 48px;
  --pwa-banner-h: 76px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);

  /* ===== Alias legacy (ne pas utiliser dans le nouveau code) ===== */
  --navy: var(--c-primary);
  --navy-dark: var(--c-primary-700);
  --terra: var(--c-primary);
  --terra-bg: var(--c-primary-50);
  --terra-bd: var(--c-primary-border);
  --blue: var(--c-primary);
  --blue-bg: var(--c-primary-50);
  --blue-bd: var(--c-primary-border);
  --sage: var(--c-success);
  --sage-bg: var(--c-success-50);
  --sage-bd: var(--c-success-border);
  --alert-orange: var(--c-warning);
  --alert-bg: var(--c-warning-50);
  --alert-bd: var(--c-warning-border);
  --red: var(--c-danger);
  --red-bg: var(--c-danger-50);
  --red-bd: var(--c-danger-border);
  --cream: var(--c-bg);
  --cream2: var(--c-bg-2);
  --brown: var(--c-text);
  --bg: var(--c-bg);
  --bg2: var(--c-bg-2);
  --bg3: var(--c-bg-3);
  --text: var(--c-text);
  --text2: var(--c-text-2);
  --text3: var(--c-text-3);
  --bd: var(--c-border);
  --bd2: var(--c-border-2);
  --white: var(--c-surface);
  --sh: var(--sh-1);
  --sh2: var(--sh-2);
  --sh-lg: var(--sh-3);
  --r: var(--r-lg);
  --rsm: var(--r-md);
  --rxs: var(--r-sm);
  /* Alias findomi-pro-v2 / theme-modern (feuilles supprimées) */
  --fp-bg: var(--c-bg);
  --fp-surface: var(--c-surface);
  --fp-text: var(--c-text);
  --fp-text-secondary: var(--c-text-2);
  --fp-text-muted: var(--c-text-3);
  --fp-border: var(--c-border);
  --fp-terra: var(--c-primary);
  --fp-terra-hover: var(--c-primary-700);
  --fp-terra-soft: var(--c-primary-50);
  --fp-terra-border: var(--c-primary-border);
  --fp-green: var(--c-success);
  --fp-green-soft: var(--c-success-50);
  --fp-shadow: var(--sh-1);
  --fp-shadow-md: var(--sh-2);
  --fp-shadow-terra: var(--sh-primary);
  --fp-radius: var(--r-md);
  --fp-radius-lg: var(--r-lg);
  --fp-radius-pill: var(--r-pill);
  --ln-navy: var(--c-primary);
  --ln-navy-dark: var(--c-primary-700);
  --ln-orange: var(--c-accent);
  --ln-green: var(--c-success);
  --ux-ease: var(--ease);
  --ux-dur: var(--dur-slow);
}

/* Focus visible global (accessibilité) — anneau bleu, jamais d'outline navigateur brut */
:focus{outline:none}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.finput:focus-visible,.fselect:focus-visible,.ftextarea:focus-visible{box-shadow:var(--focus-ring)}

/* Mouvement réduit */
@media (prefers-reduced-motion: reduce){
  :root{--dur-fast:1ms;--dur:1ms;--dur-slow:1ms}
  *,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}
}
