/* Rechtsseiten (Impressum, Datenschutz) — seit 01.10.2026 */

/* Sticky-Footer wie auf den übrigen Unterseiten */
body { min-height: 100vh; display: flex; flex-direction: column; }
.legal-page { flex: 1 0 auto; }
#site-footer { margin-top: auto; }

.legal-page {
    position: relative;
    padding: 150px 0 6rem;
    background: var(--bg-primary);
    overflow: hidden;
}
.legal-page::before {
    content: '';
    position: absolute; top: -10%; right: -10%;
    width: 50%; height: 120%;
    background: radial-gradient(ellipse, rgba(212,177,90,0.08) 0%, transparent 60%);
    pointer-events: none;
}

.legal-wrap {
    position: relative; z-index: 1;
    max-width: 860px;
    margin: 0 auto;
    padding: var(--container-padding);
}

.legal-label {
    color: var(--gold);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.legal-page h1 {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 2.5rem;
    text-wrap: balance;
}

.legal-block {
    padding: 1.75rem 0;
    border-top: 1px solid var(--border-light);
}
.legal-block:first-of-type { border-top: 0; padding-top: 0; }

.legal-page h2 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--gold);
    margin: 0 0 0.9rem;
    text-wrap: balance;
}

.legal-page h3 {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 1.5rem 0 0.6rem;
    text-wrap: balance;
}

.legal-page p,
.legal-page li {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-secondary);
    text-wrap: pretty;
}
.legal-page p { margin: 0 0 0.9rem; }
.legal-page p:last-child { margin-bottom: 0; }

.legal-page ul { margin: 0 0 0.9rem; }
.legal-page li { margin-bottom: 0.35rem; }
.legal-page li::marker { color: var(--gold); }

.legal-page a {
    color: var(--gold);
    text-decoration: none;
    transition: color var(--t-fast);
}
.legal-page a:hover { color: var(--gold-light); }

.legal-stand {
    margin-top: 2rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

@media (max-width: 768px) {
    .legal-page { padding: 120px 0 4rem; }
    .legal-wrap { padding: 0 1.25rem; }
    .legal-page h1 { margin-bottom: 1.75rem; }
    .legal-block { padding: 1.4rem 0; }
}

/* Aufzählungen: base.css setzt list-style: none, hier wie auf der alten HP mit Punkten */
.legal-page ul { list-style: disc outside; padding-left: 1.5rem; }
.legal-page li { display: list-item; }

/* Mail-Links mit Briefsymbol wie auf der alten HP */
.legal-page a.legal-mail { text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.legal-page a.legal-mail::after {
    content: '';
    display: inline-block;
    width: 0.95em; height: 0.95em;
    margin-left: 0.3em;
    vertical-align: -0.1em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Text mittig (Sascha, 01.10.2026) */
.legal-wrap { text-align: center; }
.legal-page ul { list-style-position: inside; padding-left: 0; }

/* Zwischenüberschriften unterstrichen (Sascha, 01.10.2026) */
.legal-page h2 {
    text-decoration: underline;
    text-decoration-color: var(--gold);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.35em;
}
