/* Design tokens.
   Palette et rayons révisés par le brief de refonte du 2026-09-08, qui
   remplace le §5 du cahier des charges sur ces points.
   Toute couleur, tout espacement, tout rayon vit ici. */

:root {
  /* Couleurs */
  --nuit:           #0F1F38;   /* sections contrastées et pied de page */
  --nuit-clair:     #102943;
  --fond:           #F6F9FC;
  --surface:        #FFFFFF;
  --texte:          #10213A;
  --texte-secondaire: #63728A;
  --gris-doux:      #55637C;   /* texte secondaire lisible, 15-17 px */
  --bordure:        #DFE7F1;

  --bleu:           #1264E8;
  --bleu-survol:    #0F55C8;
  --bleu-clair:     #EEF5FF;

  --vert:           #139447;
  --vert-clair:     #E8F8EE;
  --orange:         #EF8B10;
  --orange-clair:   #FFF7E6;
  --rouge:          #B42318;
  --rouge-clair:    #FEF3F2;

  /* Fonds de section, du plus clair au plus soutenu */
  --fond-offres:    #F9FBFD;
  --fond-capacite:  #F5F8FC;
  --fond-marques:   #F3F7FB;

  /* Sur fond nuit */
  --nuit-texte:     #F1F5F9;
  --nuit-secondaire:#C4D0DF;
  --nuit-bordure:   rgba(255, 255, 255, 0.12);

  /* Typographie */
  --police: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
            "Helvetica Neue", Arial, sans-serif;

  /* Échelle du brief de finition. Les hauteurs de ligne sont serrées sur les
     titres et larges sur le texte : c'est ce qui donne le contraste, pas la
     seule taille. */
  --h1:      2.375rem;  --h1-inter:  1.08;
  --h2:      1.75rem;   --h2-inter:  1.18;
  --h3:      1.25rem;   --h3-inter:  1.25;
  --prix-xxl:      2rem;    --prix-xxl-inter: 2.25rem;
  --prix-carte:    1.75rem; --prix-carte-inter: 2rem;

  --corps-large: 1.0625rem; --corps-large-inter: 1.625rem;
  --corps:       1rem;      --corps-inter:       1.5rem;
  --petit:       0.875rem;  --petit-inter:       1.25rem;
  --minuscule:   0.75rem;   --minuscule-inter:   1.125rem;

  --noir: 900;
  --gras: 700;
  --demi-gras: 600;

  /* Espacement */
  --e1: 0.5rem;   --e2: 0.75rem;  --e3: 1rem;    --e4: 1.5rem;
  --e5: 2rem;     --e6: 3rem;     --e7: 4rem;    --e8: 6rem;

  --largeur: 1200px;
  --largeur-texte: 800px;        /* FAQ et blocs de lecture */
  --largeur-titre: 650px;        /* H1 et intros de section */
  --marge: 1.25rem;

  /* Respiration des grandes sections, à un seul endroit. */
  --section: 3.75rem;

  /* Rayons réduits : le brief demande de sortir de l'impression
     « tout est arrondi ». Les grandes sections n'en ont aucun. */
  --rayon-bouton: 9px;
  --rayon-carte:  12px;
  --rayon-pilule: 999px;

  --trait: 1px solid var(--bordure);

  /* Ombres presque absentes : la séparation vient des bordures et du fond. */
  --ombre: 0 1px 2px rgba(15, 31, 56, 0.04);

  --transition: 160ms ease;
}

@media (min-width: 768px) {
  :root {
    --marge: 1.5rem;
    --section: 5rem;
    --h1: 2.875rem;  --h1-inter: 1.08;
    --h2: 1.9375rem;
  }
}

@media (min-width: 1024px) {
  :root {
    --marge: 2rem;
    --section: 6rem;
    --h1: 3.375rem;  --h1-inter: 1.07;
    --h2: 2.125rem;
    --h3: 1.25rem;
    --prix-xxl: 2.5rem;   --prix-xxl-inter: 2.75rem;
    --prix-carte: 1.9375rem; --prix-carte-inter: 1.1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --transition: 0ms; }
}
