﻿
/* =========================================================
   CleanDation – Rechtliche Seiten
   Impressum, Datenschutz, AGB
   ========================================================= */

.legal-site {
    --legal-navy: #111827;
    --legal-light: #F7F9FC;
    --legal-blue: #0050E8;
    --legal-accent: #80C7FF;
    --legal-text: #52617A;
    width: 100%;
    min-width: 0;
    min-height: 100vh;
    background: var(--legal-light);
}

    .legal-site,
    .legal-site * {
        box-sizing: border-box;
    }

/* =========================================================
   Gemeinsamer Container
   ========================================================= */

.legal-container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 2.5rem;
}

/* =========================================================
   Dunkler Hero
   ========================================================= */

.legal-hero {
    position: relative;
    overflow: hidden;
    padding: 5rem 0;
    color: #FFFFFF;
    background: var(--legal-navy);
}

    .legal-hero::before {
        content: "";
        position: absolute;
        top: -250px;
        right: -150px;
        width: 650px;
        height: 650px;
        border-radius: 50%;
        pointer-events: none;
        background: radial-gradient( circle, rgba(0, 80, 232, 0.20) 0%, rgba(0, 80, 232, 0.06) 45%, transparent 70% );
    }

.legal-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.legal-eyebrow {
    display: block;
    margin-bottom: 1rem;
    color: var(--legal-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
}

.legal-hero h1 {
    margin: 0 0 1.5rem;
    color: #FFFFFF;
    font-size: clamp(2.2rem, 4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.legal-hero-description {
    max-width: 720px;
    margin: 0;
    color: #CBD5E1;
    font-size: 1.13rem;
    line-height: 1.8;
}

/* =========================================================
   Heller Inhaltsbereich
   ========================================================= */

.legal-content {
    padding: 5rem 0 6rem;
    background: var(--legal-light);
}

.legal-content-inner {
    max-width: 980px;
    margin: 0 auto;
}

/* =========================================================
   Inhaltskarte
   ========================================================= */

.legal-card {
    width: 100%;
    padding: 3.5rem;
    color: var(--legal-navy);
    background: #FFFFFF;
    border: 1px solid #E4EAF2;
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(17, 24, 39, 0.045);
    overflow-wrap: anywhere;
}

    .legal-card section {
        margin: 0 0 2.5rem;
        padding: 0 0 2.5rem;
        border-bottom: 1px solid #E4EAF2;
    }

        .legal-card section:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: none;
        }

    .legal-card h2 {
        margin: 0 0 1.15rem;
        color: var(--legal-navy);
        font-size: clamp(1.25rem, 2vw, 1.5rem);
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: -0.015em;
    }

    .legal-card h3 {
        margin: 1.5rem 0 0.8rem;
        color: var(--legal-navy);
        font-size: 1.1rem;
        font-weight: 750;
        line-height: 1.4;
    }

    .legal-card p {
        margin: 0 0 1.2rem;
        color: #475569;
        font-size: 1rem;
        line-height: 1.85;
    }

        .legal-card p:last-child {
            margin-bottom: 0;
        }

    .legal-card ul,
    .legal-card ol {
        margin: 0 0 1.5rem;
        padding-left: 1.5rem;
        color: #475569;
    }

    .legal-card li {
        padding-left: 0.25rem;
        margin-bottom: 0.6rem;
        font-size: 1rem;
        line-height: 1.75;
    }

        .legal-card li:last-child {
            margin-bottom: 0;
        }

    .legal-card a {
        color: var(--legal-blue);
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

        .legal-card a:hover {
            color: #003FC0;
        }

        .legal-card a:focus-visible {
            outline: 3px solid var(--legal-accent);
            outline-offset: 4px;
        }

/* =========================================================
   Kontaktdaten
   ========================================================= */

.legal-contact {
    display: grid;
    gap: 1rem;
}

.legal-contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
}

.legal-contact-label {
    min-width: 75px;
    color: var(--legal-navy);
    font-weight: 700;
}

.legal-contact-row a {
    overflow-wrap: anywhere;
}

/* =========================================================
   Hinweise
   ========================================================= */

.legal-note {
    padding: 1.5rem;
    background: #EDF3FF;
    border: 1px solid #D8E5FF;
    border-left: 4px solid var(--legal-blue);
    border-radius: 12px;
}

    .legal-note strong {
        display: block;
        margin-bottom: 0.5rem;
        color: var(--legal-navy);
    }

    .legal-note p {
        margin: 0;
        color: #475569;
    }

.legal-draft-label {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin-bottom: 1.25rem;
    padding: 0.35rem 0.85rem;
    color: #8A4800;
    background: #FFF4D9;
    border: 1px solid #F3D69E;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 750;
}

/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 991.98px) {

    .legal-container {
        padding: 0 2rem;
    }

    .legal-hero {
        padding: 4rem 0;
    }

    .legal-content {
        padding: 4rem 0;
    }

    .legal-card {
        padding: 2.5rem;
    }
}

/* =========================================================
   Smartphone
   ========================================================= */

@media (max-width: 767.98px) {

    .legal-container {
        padding: 0 1.25rem;
    }

    .legal-hero {
        padding: 3.5rem 0 4rem;
    }

        .legal-hero h1 {
            font-size: 2.1rem;
        }

    .legal-hero-description {
        font-size: 1rem;
        line-height: 1.7;
    }

    .legal-eyebrow {
        font-size: 0.72rem;
    }

    .legal-content {
        padding: 3rem 0 4rem;
    }

    .legal-card {
        padding: 1.75rem;
        border-radius: 15px;
    }

        .legal-card section {
            margin-bottom: 2rem;
            padding-bottom: 2rem;
        }

        .legal-card h2 {
            font-size: 1.25rem;
        }

        .legal-card p,
        .legal-card li {
            font-size: 0.96rem;
            line-height: 1.75;
        }

    .legal-contact-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
}

@media (max-width: 380px) {

    .legal-container {
        padding: 0 1rem;
    }

    .legal-hero h1 {
        font-size: 1.9rem;
    }

    .legal-card {
        padding: 1.4rem;
    }
}
