/* ==========================================================================
   CONSTRUISEZ — patch design-taste (10/08/2026)
   Chargé après tokens.css. Additif, sélecteurs en :where() (spécificité 0) :
   toute règle existante plus précise garde la main.
   Corrections faites directement dans tokens.css (même déploiement) :
   - :focus-visible réparé (était ::focus-visible, syntaxe invalide → ignoré)
   - .stats-band__eyebrow #62BE39 → #9BD97A (4,6:1 sur la bande #215E3C)
   - .stamp #A9772E → #8A5F20 (5,3:1, tampon encré)
   ========================================================================== */

:root {
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --dur-fast: 150ms;
  --dur-base: 220ms;
  --ambre-texte: #8A5F20;   /* ambre lisible < 18 px (5,3:1 sur papier) */
  --vert-lien: #215E3C;     /* 7,2:1 — petits textes et liens verts */
}

/* --- Typographie ------------------------------------------------------- */
:where(h1, h2, h3) {
  text-wrap: balance;
  letter-spacing: -0.02em;
}

:where(p) {
  text-wrap: pretty;
}

/* --- Liens dans la prose ------------------------------------------------ */
:where(main p a):not(:where([class])) {
  color: var(--vert-lien);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: text-decoration-thickness var(--dur-fast) var(--ease-out);
}

:where(main p a):not(:where([class])):hover {
  text-decoration-thickness: 2px;
}

/* --- États d'interaction ------------------------------------------------ */
/* Retour tactile à l'appui — complète le hover translateY existant */
:where(.btn, button, input[type="submit"]):active {
  transform: scale(0.97);
}

:where(input, textarea, select):focus-visible {
  outline: 2px solid var(--accent, #2E7D52);
  outline-offset: 1px;
}

/* Cibles tactiles barre mobile (scopé — ne touche pas les liens du footer) */
:where(.mobile-actions a) {
  min-height: 44px;
}

/* --- Motion : couverture reduced-motion totale -------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
