/* CardFlip / Novamira — design tokens v1 (août 2026) */
:root {
  /* Couleurs — rôles */
  --nv-fond: #F6F5F0;
  --nv-surface: #FFFFFF;
  --nv-surface-enfoncee: #ECEAE2;
  --nv-encre: #16181D;
  --nv-encre-secondaire: #5B5E66;
  --nv-encre-attenuee: #8A8D95; /* placeholders/légendes uniquement */
  --nv-accent: #2036C7;         /* 1 seule occurrence pleine par écran */
  --nv-accent-appuye: #1A2CA3;
  --nv-accent-presse: #16226E;
  --nv-accent-teinte: #EDEFFA;
  --nv-succes: #1E7B45;
  --nv-succes-fond: #E5F2EA;
  --nv-attention: #7A5B00;
  --nv-attention-fond: #FCF1D6;
  --nv-attention-vive: #F5B31B; /* bordures/fonds de badge, jamais en texte */
  --nv-erreur: #B42318;
  --nv-erreur-fond: #FBEAE7;
  --nv-bordure: #DDD9CE;
  --nv-bordure-appuyee: #C9C4B6;

  /* Typographie */
  --nv-font-titre: 'Space Grotesk', sans-serif;
  --nv-font-texte: 'Instrument Sans', sans-serif;
  --nv-display: 700 clamp(34px, 3.4vw, 44px)/1.1 var(--nv-font-titre);
  --nv-titre: 700 clamp(22px, 2.2vw, 28px)/1.15 var(--nv-font-titre);
  --nv-bouton: 600 16px/1.2 var(--nv-font-titre);
  --nv-corps: 400 clamp(15px, 1.1vw, 16px)/1.5 var(--nv-font-texte);
  --nv-meta: 500 clamp(13px, 1vw, 14px)/1.45 var(--nv-font-texte);
  --nv-surtitre: 600 clamp(11px, .9vw, 12px)/1.3 var(--nv-font-titre); /* + letter-spacing:1.5px; text-transform:uppercase */

  /* Espacements (base 4) & rayons */
  --nv-s1: 4px; --nv-s2: 8px; --nv-s3: 12px; --nv-s4: 16px;
  --nv-s5: 24px; --nv-s6: 32px; --nv-s7: 48px;
  --nv-tap-min: 44px; --nv-tap: 48px;
  --nv-r-badge: 8px; --nv-r-champ: 12px; --nv-r-carte: 16px; --nv-r-pilule: 999px;

  /* Motion */
  --nv-t-micro: 120ms;
  --nv-t-standard: 200ms;
  --nv-t-ecran: 320ms;
  --nv-ease-in: cubic-bezier(.2,.8,.2,1);
}

/* Focus global */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--nv-accent);
  outline-offset: 2px;
}

/* Liens */
a { color: var(--nv-accent); }
a:hover { color: var(--nv-encre); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 80ms !important;
    animation: none !important;
    transform: none !important;
  }
}
