.faq-topics { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.5rem; }
.faq-topics a { padding: .5rem 1rem; border: 1px solid var(--accent-line); border-radius: 2rem; background: var(--surface); text-decoration: none; }
.faq-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.faq-section { min-width: 0; padding: clamp(1rem, 2.5vw, 1.75rem); background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--brand-teal); border-radius: var(--radius); }
.faq-section h2 { margin: 0 0 1rem; padding: 0; border: 0; font-size: 1.5rem; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item summary { padding: 1rem 0; cursor: pointer; font-weight: 650; line-height: 1.5; }
.faq-item summary::marker { color: var(--brand-teal-dark); }
.faq-item summary:focus-visible { outline: 3px solid var(--brand-teal-dark); outline-offset: 3px; border-radius: .25rem; }
.faq-answer { padding: 0 0 1rem; }
.faq-answer p { margin: 0 0 .75rem; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-contact p { max-width: 780px; }
.faq-sources { margin-top: 1.25rem; font-size: .85rem; overflow-wrap: anywhere; }
.faq-sources p { color: var(--muted); }
#verordnung, #kosten, #ablauf, #termin { scroll-margin-top: 12rem; }
@media (max-width: 800px) { .faq-layout { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.faq-appointments { margin-top: var(--card-row-gap); }
