/* Page /faq : voir faq.js */
.faq-page { max-width: 800px; margin: 0 auto; padding: 2rem clamp(1rem, 4vw, 2.5rem) 1rem; }
.faq-page h1 { margin: 0 0 0.4rem; }
.faq-intro { margin: 0 0 1.2rem; color: var(--color-text-muted); }
.faq-recherche { width: 100%; margin-bottom: 1.5rem; }
.faq-categorie { margin-bottom: 1.6rem; }
.faq-categorie h2 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); margin: 0 0 0.6rem; }
.faq-question { border: 1px solid var(--color-border); border-radius: 0.9rem; background: var(--color-surface); margin-bottom: 0.5rem; }
.faq-question summary {
  cursor: pointer; list-style: none; padding: 0.9rem 1.1rem; font-weight: 600;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.faq-question summary::-webkit-details-marker { display: none; }
.faq-question summary::after { content: '+'; font-size: 1.3rem; line-height: 1; color: var(--color-primary); transition: transform 150ms ease; }
.faq-question[open] summary::after { transform: rotate(45deg); }
.faq-question[open] { border-color: color-mix(in oklab, var(--color-primary) 45%, var(--color-border)); }
.faq-reponse { padding: 0 1.1rem 1rem; color: var(--color-text-muted); line-height: 1.6; }
.faq-reponse a { color: var(--color-primary); }
.faq-vide { color: var(--color-text-muted); }
