/* ============================================================
   Typografie für Rechts-/Textseiten
   (impressum, datenschutz, widerruf, agb)
   Scope: <main class="legal-page"> — Topbar/Header/Footer bleiben unberührt
   ============================================================ */

/* Lesbare Spaltenbreite statt voller Landingpage-Breite */
.legal-page .container {
    max-width: 820px;
}

/* Seitentitel */
.legal-page h1 {
    font-size: 2rem;
    line-height: 1.3;
    margin: 0 0 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--green-100);
}

/* Abschnittsüberschriften */
.legal-page h2 {
    font-size: 1.35rem;
    line-height: 1.35;
    margin: 40px 0 12px;
}

/* Unterüberschriften */
.legal-page h3 {
    font-size: 1.08rem;
    line-height: 1.4;
    margin: 26px 0 8px;
    color: var(--green-700);
}

/* Fließtext */
.legal-page p {
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 16px;
    color: var(--text);
}

/* Listen */
.legal-page ul,
.legal-page ol {
    margin: 0 0 16px 1.3rem;
    line-height: 1.75;
}
.legal-page li {
    margin-bottom: 6px;
}

/* Links im Fließtext */
.legal-page a {
    color: var(--green-600);
    text-decoration: underline;
}
.legal-page a:hover {
    color: var(--green-700);
}

/* Etwas mehr Luft nach oben unter dem fixierten Header/Topbar
   und angenehmer Lesepuffer nach unten */
.legal-page {
    padding-top: 150px !important;
    padding-bottom: 80px !important;
}

/* Mobil kompakter */
@media (max-width: 640px) {
    .legal-page { padding-top: 130px !important; }
    .legal-page h1 { font-size: 1.7rem; }
    .legal-page h2 { font-size: 1.2rem; }
    .legal-page h3 { font-size: 1.02rem; }
}

/* ============================================================
   AGB (Stand 25.07.2026): Teile A/B/C, Paragraphen, Unterabschnitte
   ============================================================ */

/* Stand-Angabe unter dem Seitentitel */
.legal-page .agb-stand {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-top: -18px;
    margin-bottom: 32px;
}

/* Teil-Ueberschriften (Teil A / B / C) */
.legal-page .agb-teil {
    margin-top: 56px;
    padding-top: 24px;
    border-top: 2px solid var(--green-100);
    color: var(--green-700);
}
.legal-page .agb-geltung {
    font-size: 0.94rem;
    color: var(--text-muted);
    margin-top: -4px;
    margin-bottom: 24px;
}

/* Unterabschnitte (1.1, 2.3 …) */
.legal-page h4 {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 24px 0 8px;
    color: var(--text-dark);
}

/* Inhaltsverzeichnis */
.legal-page .agb-toc {
    background: var(--green-50);
    border: 1px solid var(--green-100);
    border-radius: 10px;
    padding: 22px 26px;
    margin-bottom: 40px;
}
.legal-page .agb-toc a {
    display: block;
    padding: 3px 0;
    font-size: 0.95rem;
    text-decoration: none;
}
.legal-page .agb-toc a:hover { text-decoration: underline; }
.legal-page .agb-toc-teil {
    margin: 14px 0 2px;
    font-weight: 600;
}
.legal-page .agb-toc-teil:first-child { margin-top: 0; }
.legal-page .agb-toc-teil a { display: inline; font-size: 1rem; color: var(--green-700); }
.legal-page .agb-toc-geltung {
    font-size: 0.86rem;
    color: var(--text-muted);
    margin: 0 0 8px;
}

/* Aufzaehlungen a) b) c) und deren Unterzeilen
   (im Original nicht hervorgehoben - nur eingerueckt) */
.legal-page .agb-alpha {
    margin: 0 0 4px 1.3rem;
}
.legal-page .agb-alpha-sub {
    margin-left: 2.6rem;
}

/* Sprungziele aus dem Inhaltsverzeichnis nicht unter den fixen Header schieben */
.legal-page [id] {
    scroll-margin-top: 140px;
}

/* Hinweis-Kasten */
.legal-page .agb-hinweis {
    background: var(--green-50);
    border-left: 4px solid var(--green-500);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    font-size: 0.95rem;
}

/* Adress- und Einzelzeilen (Widerrufsbelehrung, Unternehmensangaben) */
.legal-page .agb-adresse,
.legal-page .agb-zeile {
    margin-bottom: 6px;
}
.legal-page .agb-adresse { margin-bottom: 16px; }

/* Muster-Widerrufsformular */
.legal-page .agb-formular {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    margin-bottom: 10px;
    color: var(--text-dark);
    overflow-wrap: break-word;
}

@media (max-width: 640px) {
    .legal-page .agb-toc { padding: 18px 20px; }
    .legal-page .agb-alpha { margin-left: 0.9rem; }
    .legal-page .agb-alpha-sub { margin-left: 1.8rem; }
}

/* Etwas mehr Luft nach oben unter dem fixierten Header/Topbar
   und angenehmer Lesepuffer nach unten */
.legal-page {
    padding-top: 150px !important;
    padding-bottom: 80px !important;
}

/* Mobil kompakter */
@media (max-width: 640px) {
    .legal-page { padding-top: 130px !important; }
    .legal-page h1 { font-size: 1.7rem; }
    .legal-page h2 { font-size: 1.2rem; }
    .legal-page h3 { font-size: 1.02rem; }
}
