/* Suchseiten (AP5b): Ergänzung zu style.css, nur Klassen, keine Inline-Styles (CSP style-src 'self'). */
.page { max-width: 56rem; }
.page article > h1 { margin-bottom: .75rem; }
.page h2 { margin-top: 1.6rem; }
.page h3 { margin-top: 1rem; }
.page .lead { font-size: 1.08rem; color: #2d3e50; }
.page p, .page li { max-width: 65ch; }
.page ul, .page ol { padding-left: 1.3rem; margin: 0 0 .9rem; }
.page li { margin-bottom: .35rem; }
.page .more { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.page .more li { margin: 0; }
.page .more a { display: inline-block; padding: .35rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; text-decoration: none; }
.page .more a:hover { border-color: var(--teal); }

.page .btn { display: inline-block; text-decoration: none; }
.page .btn.primary { color: #fff; }
.top .nav a.btn { text-decoration: none; display: inline-block; }
.top .nav a.btn.ghost { color: #fff; border-color: #3a5f86; }
.top .nav a.btn.primary { color: #fff; }

.say { background: #eef4fa; border-left: 4px solid var(--blue); border-radius: 6px; padding: .6rem .9rem; margin: .4rem 0 1rem; font-family: ui-monospace, Menlo, monospace; font-size: 1rem; }
.say p { margin: 0 0 .2rem; }
.steps-list li { padding-left: .15rem; }
.note-unbelegt { background: #fff8e8; border: 1px solid #f0dca0; border-radius: 8px; padding: .55rem .8rem; color: #5a4300; }
.cta { border-top: 5px solid var(--teal); margin-top: 1.8rem; }
.quellen { margin-top: 1.8rem; border-top: 1px solid var(--line); padding-top: .5rem; }
.quellen li { font-size: 1rem; }

.tbl-scroll { overflow-x: auto; margin-bottom: 1rem; }
.tbl-scroll .tbl { margin-bottom: 0; }
.tbl-wrap { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: flex-start; margin-bottom: 1rem; overflow-x: auto; }
.tbl { border-collapse: collapse; width: 100%; margin: .4rem 0 1rem; font-size: 1rem; background: #fff; }
.tbl-wrap .tbl { width: auto; min-width: 14rem; margin: 0; }
.tbl caption { text-align: left; font-weight: 700; color: var(--navy); padding-bottom: .35rem; }
.tbl th, .tbl td { border: 1px solid var(--line); padding: .35rem .6rem; text-align: left; vertical-align: top; }
.tbl thead th { background: #e8eef4; }
.tbl tbody th { font-weight: 600; background: #f6f8fa; }

@media (max-width: 600px) {
  .tbl th, .tbl td { padding: .3rem .4rem; }
}

/* S4: Kurzantworten (Frage als Zwischenüberschrift, Ein-Satz-Antwort) und FAQ-Seite */
.page .kurz h3, .page .faq h3 { font-size: 1.05rem; margin: .9rem 0 .2rem; }
.page .kurz p, .page .faq p { margin: 0 0 .4rem; }
.page .faq .mehr { font-size: .95rem; color: #4a5a6a; }
