/* ═══════════════════════════════════════════════════════════════════════
   FAMILLE DE BOUTONS DU SITE (LP v3, section E) — définie UNE SEULE FOIS.
   Chargée après le <style> inline de chaque page : ces règles font foi.

   Référence des contours (E2) : les boutons de cas-usage.html —
   rayon 999px, bordure 1px solid rgba(20,16,10,.14) (bouton contouré),
   padding 15px 28px, graisse 600. Aucune ombre portée, aucun dégradé,
   aucune lueur. Le rayon plein (999px) reste réservé aux boutons-pilules,
   pastilles et onglets ; les tuiles du pied de page gardent leur rayon 8px.

   Survol (E3) : trois effets cumulés et discrets — bordure un cran plus
   soutenue (rgba(20,16,10,.25), valeur déjà présente sur le site), fond un
   cran (valeurs existantes), remontée d'1px max. 140 ms ease-out sur des
   propriétés NOMMÉES. Appui (E4) : retour à la position d'origine en 80 ms.
   Tout le survol vit sous @media (hover: hover) (E6).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── E2 : la famille au repos — contours nets, rien qui brille ────────── */
.btn {
  border-radius: 999px;
  box-shadow: none;
  overflow: visible;
  transition: none;
  transform: none;
}
.btn::after {
  content: none; /* balayage lumineux supprimé (lueur) */
}
.btn-ink {
  background: var(--ink);
  color: #f5f1e9;
  box-shadow: none;
}
.btn-glass {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(20, 16, 10, 0.14);
  color: var(--ink);
}
.dark .btn-ink {
  background: #f5f1e9;
  color: var(--ink);
  box-shadow: none;
}

/* Neutralisation des survols hérités des pages (repris ci-dessous sous
   @media (hover: hover) — un bouton ne reste jamais allumé après un tap). */
.btn:hover,
.btn-ink:hover,
.btn-glass:hover {
  transform: none;
  box-shadow: none;
}
.btn:hover .arr,
.link-b:hover .arr {
  transform: none; /* la flèche ne glisse plus : effet décoratif */
}
.link-quiet:hover,
.nav a:hover {
  background: transparent;
}
footer.site .ftile:hover {
  background: rgba(245, 241, 233, 0.08);
  color: #cfc8b8;
}

/* ── E3 : survol — pointeur réel uniquement ───────────────────────────── */
@media (hover: hover) {
  .btn,
  .link-quiet,
  .link-b,
  .nav a,
  footer.site .ftile,
  footer.site a {
    transition:
      background-color 0.14s ease-out,
      border-color 0.14s ease-out,
      color 0.14s ease-out,
      transform 0.14s ease-out;
  }
  .btn-ink:hover {
    background: var(--ink-soft);
    transform: translateY(-1px);
  }
  .dark .btn-ink:hover {
    background: #ffffff;
    transform: translateY(-1px);
  }
  .btn-glass:hover {
    background: rgba(255, 255, 255, 0.75);
    border-color: rgba(20, 16, 10, 0.25);
    transform: translateY(-1px);
  }
  .dark .btn-glass:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.34);
    transform: translateY(-1px);
  }
  .link-quiet:hover {
    background: rgba(255, 255, 255, 0.6);
    color: var(--ink);
  }
  .nav a:hover {
    background: rgba(255, 255, 255, 0.65);
    color: var(--ink);
  }
  .link-b:hover {
    color: var(--bronze-2);
  }
  footer.site .ftile:hover {
    background: rgba(245, 241, 233, 0.16);
    color: #f5f1e9;
  }
  footer.site a:hover {
    color: #f5f1e9;
  }
}

/* ── E4 : appui — retour au contact, plus rapide que la montée ────────── */
.btn:active,
.link-quiet:active,
footer.site .ftile:active {
  transform: translateY(0);
  transition-duration: 0.08s;
}

/* ── E5 : focus toujours visible, sur fond clair comme sur le pied
   de page sombre. Jamais supprimé au profit du seul survol. ──────────── */
:focus-visible {
  outline: 2px solid var(--bronze);
  outline-offset: 3px;
  border-radius: 6px;
}
footer.site :focus-visible {
  outline-color: var(--beige, #ddcba9);
}
.btn:focus-visible,
.link-quiet:focus-visible,
.ftile:focus-visible {
  border-radius: 999px;
}
.ftile:focus-visible {
  border-radius: 8px;
}

/* ── E5 : mouvements neutralisés, bordure et fond conservés ───────────── */
@media (prefers-reduced-motion: reduce) {
  .btn,
  .btn:hover,
  .btn:active,
  .link-quiet:hover,
  footer.site .ftile:hover {
    transform: none;
    transition: none;
  }
}
