/* ==========================================================================
   ARI/WE/SO — legal.css
   Impressum, Datenschutz, AGB
   ========================================================================== */

.legal-wrap {
    max-width: 820px;
    margin-inline: auto;
    padding: clamp(24px, 4vw, 44px);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--line-subtle);
    border-radius: var(--border-radius);
}

.legal-actions { display: flex; justify-content: flex-end; margin-bottom: 28px; }

.legal-content { font-size: 0.96rem; line-height: 1.75; }

.legal-content h2 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-size: 1.45rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--line-subtle);
}
.legal-content h2:first-child { margin-top: 0; }

.legal-content h3 {
    margin-top: 1.9rem;
    margin-bottom: 0.7rem;
    font-size: 1.1rem;
    color: var(--neon-blue);
}

.legal-content h4 {
    margin-top: 1.4rem;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.legal-content p { color: var(--text-muted); }
.legal-content p + p { margin-top: 0.9rem; }

.legal-content ul,
.legal-content ol {
    margin: 0.9rem 0 0.9rem 1.3rem;
    color: var(--text-muted);
}
.legal-content ul li { list-style: disc; margin-bottom: 0.5rem; }
.legal-content ol li { list-style: decimal; margin-bottom: 0.5rem; }

.legal-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
    /* lange URLs dürfen den Textfluss auf Handys nicht sprengen */
    word-break: break-word;
}

.legal-content strong { color: var(--text-strong); }

.legal-divider {
    border: 0;
    height: 1px;
    background: var(--line-soft);
    margin-block: 2.5rem;
}

.legal-content table {
    width: 100%;
    margin-block: 1.2rem;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.legal-content th,
.legal-content td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--line-subtle);
    color: var(--text-muted);
}
.legal-content th { color: var(--text-strong); font-weight: 600; }

/* --- Druckansicht -------------------------------------------------------- */

@media print {
    .site-header,
    .nav-panel,
    .site-footer,
    .floating-btn,
    .scroll-progress,
    .breadcrumb,
    .legal-actions,
    .consent-overlay,
    .page-hero::before { display: none !important; }

    html, body { background: #fff !important; color: #000 !important; }

    .legal-wrap {
        max-width: none;
        padding: 0;
        background: none;
        border: 0;
    }

    .legal-content,
    .legal-content p,
    .legal-content li,
    .legal-content td { color: #000 !important; }

    .legal-content h1,
    .legal-content h2,
    .legal-content h3,
    .legal-content h4,
    .page-hero h1 { color: #000 !important; }

    .gradient-text {
        background: none !important;
        -webkit-text-fill-color: #000 !important;
        color: #000 !important;
    }

    .legal-content a { color: #000 !important; }
    /* Ziel-URL mitdrucken, sonst ist der Link auf Papier wertlos */
    .legal-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; }

    [data-anim] { opacity: 1 !important; transform: none !important; }
}
