/* =====================================================================
   PALETTE DE BASE — fixe toute l'année
   ---------------------------------------------------------------------
   Ces cinq couleurs ne changent JAMAIS avec la saison.
   Les accents saisonniers sont dans seasons.css.

   --fond        Lin écru : un blanc cassé chaud, plus doux à l'œil
                 qu'un blanc pur, rappelle le papier et le tissu.
   --fond-2      Papier kraft clair : fonds de sections, encarts,
                 emplacements photo. Même famille, un ton plus bas.
   --encre       Brun presque noir : texte courant. Moins dur qu'un noir
                 pur (confort de lecture), contraste > 13:1 sur --fond.
   --structure   Sable : bordures, séparateurs, filets. Purement
                 décoratif (jamais seul porteur d'information).
   --feuillage   Vert feuillage profond : liens et actions de base
                 (boutons secondaires, sélection). Évoque la tige et la
                 feuille, commun à toutes les saisons.
   ===================================================================== */

:root {
  --fond: #FAF6EF;
  --fond-2: #F1E9DC;
  --encre: #2B2622;
  --structure: #D5C7B2;
  --feuillage: #2F4A3A;

  /* Dérivés neutres (calculés à partir de la palette, pas de nouvelle teinte) */
  --encre-douce: color-mix(in srgb, var(--encre) 78%, var(--fond)); /* texte secondaire, ≥ 7:1 */
  --feuillage-voile: color-mix(in srgb, var(--feuillage) 10%, var(--fond));

  /* ---- Typographie ---- */
  --police-titre: "Fraunces", "Fraunces Fallback", Georgia, serif;
  --police-texte: "Source Sans 3", "Source Sans Fallback", "Segoe UI", system-ui, sans-serif;

  --taille-base: 1.125rem;   /* 18 px : lisible par tous, ≥ 17 px exigés */
  --interligne: 1.6;
  --t-petit: 1.0625rem;      /* 17 px : plus petite taille autorisée */
  --t-h1: clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);
  --t-h2: clamp(1.6rem, 1.35rem + 1.2vw, 2.25rem);
  --t-h3: clamp(1.3rem, 1.2rem + .5vw, 1.55rem);

  /* ---- Rythme & formes ---- */
  --espace-1: .5rem;
  --espace-2: 1rem;
  --espace-3: 1.5rem;
  --espace-4: 2.5rem;
  --espace-5: 4rem;
  --rayon-s: .6rem;
  --rayon-m: 1.25rem;
  --rayon-l: 2rem;
  --rayon-pilule: 999px;
  --cible: 44px;             /* taille minimale des cibles tactiles */
  --largeur-texte: 38rem;
  --largeur-page: 72rem;

  --duree: 220ms;
  --courbe: cubic-bezier(.3, .7, .3, 1);
}

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

/* Polices de secours ajustées aux métriques des polices web
   pour limiter le décalage de mise en page (CLS) pendant le chargement. */
@font-face {
  font-family: "Fraunces Fallback";
  src: local("Georgia");
  size-adjust: 104%;
  ascent-override: 92%;
  descent-override: 24%;
}
@font-face {
  font-family: "Source Sans Fallback";
  src: local("Segoe UI"), local("Arial");
  size-adjust: 94%;
  ascent-override: 104%;
  descent-override: 29%;
}
