/* ============================================================
   Bausteine für alle Seiten im neuen Stil (Startseite und
   Unterseiten): Farben, Abschnitte, Knöpfe, Textlinks, Fakten.
   Text-Kontraste auf WCAG 2.1 AA geprüft.
   ============================================================ */
:root {
    --s-ink: #111827;
    --s-muted: #4b5563;
    --s-surface: #ffffff;
    --s-line: #e5e7eb;
    --s-blue: #1565c0;
    --s-blue-hover: #0d47a1;
    --s-tint: #eef4fb;
}
html.dark {
    --s-ink: #f0f1f3;
    --s-muted: #b4b8bf;
    --s-surface: #252830;
    --s-line: #3a3f4a;
    --s-blue: #90c2ff;
    --s-blue-hover: #bcd9ff;
    --s-tint: #1e2a3a;
}

/* ---- Abschnitte ---- */
.abschnitt { padding: 4rem 1rem; scroll-margin-top: 5rem; }
.abschnitt--hell { background: var(--s-surface); }
.abschnitt__innen { max-width: 72rem; margin: 0 auto; }
.abschnitt__titel {
    margin: 0 0 1rem;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600;
    font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
    line-height: 1.15;
    color: var(--s-ink) !important;
    text-wrap: balance;
}
.abschnitt__lead {
    max-width: 40rem;
    margin: 0 0 1.5rem;
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--s-muted);
}

/* ---- Knöpfe + Textlinks ---- */
.knopf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    min-height: 52px;
    padding: 0 1.375rem;
    border-radius: 999px;
    font-size: 1.0625rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background-color .15s ease, border-color .15s ease;
}
.knopf:focus-visible, .textlink:focus-visible { outline: 3px solid #ff6600; outline-offset: 3px; }
.knopf--haupt { background: var(--s-blue); color: #fff !important; }
html.dark .knopf--haupt { color: #0b1a2e !important; }
.knopf--haupt:hover { background: var(--s-blue-hover); }
.knopf--rand { border: 2px solid var(--s-line); color: var(--s-ink) !important; }
.knopf--rand:hover { border-color: var(--s-blue); }
.textlink {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 44px;
    font-weight: 700;
    color: var(--s-blue) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.knopf--wa { background: #0f7a3d; color: #fff !important; }   /* 5,4:1 mit Weiß */
.knopf--wa:hover { background: #0a5c2d; }
@media (max-width: 480px) { .knopf--voll-handy { width: 100%; } }

/* ---- Fakten (Häkchen- oder Symbolliste) ---- */
.fakten { list-style: none; margin: 0 0 1.75rem; padding: 0; display: grid; gap: 0.625rem; }
.fakten li { display: flex; align-items: center; gap: 0.75rem; font-size: 1.0625rem; font-weight: 600; color: var(--s-ink); }
.fakten i { width: 1.5rem; text-align: center; color: var(--s-blue); font-size: 1.125rem; }

@media (prefers-reduced-motion: reduce) {
    .knopf { transition: none; }
}
/* Link mitten im Satz: fließt mit dem Text (Ausnahme „inline“ von WCAG 2.5.8) */
.textlink--imtext { display: inline; min-height: 0; }
