/* FAQ layout uses the wedding site's existing palette and typography. */
.faq-content { max-width: 960px; margin-inline: auto; padding-top: 0; }
.faq-topics { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.5rem; }
.faq-topics a { padding: .55rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-weight: 700; text-decoration: none; }
.faq-topics a:hover { background: var(--soft); }
.faq-group { margin-bottom: 2.5rem; }
.faq-group, #contact-us { scroll-margin-top: 9rem; }
.faq-group h2 { color: var(--wine); margin-bottom: 1rem; }
.faq-question { border-top: 1px solid var(--line); padding: 1rem 0; }
.faq-question:last-child { border-bottom: 1px solid var(--line); }
.faq-question summary { cursor: pointer; font-size: 1.05rem; font-weight: 700; padding: .25rem 0; }
.faq-answer { padding-left: 1.2rem; }
.faq-answer p { margin: .75rem 0 .25rem; max-width: none; }
.faq-answer a, .page-hero p a { color: var(--wine); text-underline-offset: .2em; font-weight: 700; }
.faq-topics a:focus-visible, .faq-question summary:focus-visible { outline: 3px solid var(--wine); outline-offset: 4px; }
@media (max-width: 600px) { .faq-topics { gap: .5rem; } .faq-topics a { padding: .45rem .75rem; } .faq-answer { padding-left: 0; } }
