/* Estilos exclusivos da FAQ; não carregados na página inicial. */
main.faq-page { display: block; min-height: auto; max-width: 56rem; margin: auto; padding: 3rem 1.5rem; overflow: visible; }
.faq-page h1 { max-width: none; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; margin: 1.5rem 0; text-wrap: balance; }
.faq-page p { line-height: 1.75; }
.faq-page a { color: #a6d2ff; text-decoration: underline; text-underline-offset: .2em; }
.faq-breadcrumb { font-size: .85rem; color: #c5c7cc; }
.faq-intro { font-size: 1.125rem; color: #d4d4d8; margin-bottom: 1rem; }
.faq-date { color: #a1a1aa; font-size: .85rem; margin-bottom: 2rem; }
.faq-page details { border-top: 1px solid #303034; padding: 1rem 0; }
.faq-page details:last-of-type { border-bottom: 1px solid #303034; }
.faq-page summary { cursor: pointer; font-size: 1.05rem; font-weight: 600; line-height: 1.5; }
.faq-page summary:focus-visible { outline: 2px solid #a6d2ff; outline-offset: 4px; border-radius: .25rem; }
.faq-answer { padding: .5rem 0 0; color: #d4d4d8; }
.faq-answer p { margin: .75rem 0; }
.faq-source { font-size: .8rem; }
.faq-return { margin-top: 2rem; }
@media (max-width: 680px) { main.faq-page { padding: 1.5rem 1.25rem 2.5rem; } }

.faq-page summary { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.faq-page summary::after { content: "+"; flex-shrink: 0; color: #c5c7cc; }
.faq-page details[open] summary::after { content: "−"; }
