/* ====== LEGAL BASE ====== */
.legal {
    background: transparent;
    margin-top: clamp(-280px, -10vw, -80px);
    padding: clamp(2rem, 6vw, 5rem) 5vw clamp(3rem, 7vw, 6rem);
    position: relative;
    z-index: 2;
}

.legal__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.legal-section + .legal-section {
    margin-top: clamp(1.8rem, 4vw, 2.5rem);
}

.legal-section__title {
    font-family: InterTight, sans-serif;
    font-weight: 900;
    letter-spacing: -0.02em;
    font-size: clamp(1.4rem, 3.6vw, 2rem);
    color: #D0FF92;
    margin: 0 0 .8rem 0;
}

/* Untertitel (h3) */
.legal-subtitle {
    font-weight: 800;
    font-size: clamp(1.05rem, 2.4vw, 1.25rem);
    color: #ffffff;
    margin: 1rem 0 .4rem 0;
}

/* Lauftext */
.legal-text {
    color: #e9fdf0;
    line-height: 1.8;
    font-size: 1.05rem;
    margin: 0 0 1rem 0;
}
.legal-text--muted {
    color: #bfeccd;
}

/* Karten/Container für Kernangaben */
.legal-card {
    background: #00231f;
    border: 2px solid #0f3c37;
    padding: clamp(1rem, 3vw, 1.4rem);
    display: grid;
    gap: .75rem;
}

/* Address optisch abheben */
.legal-address {
    font-style: normal;
    line-height: 1.7;
    color: #ffffff;
}

/* Definition list (key/value) */
.legal-list {
    margin: .2rem 0 0 0;
}
.legal-list__row {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: .8rem;
    padding: .5rem 0;
    border-top: 1px solid rgba(208,255,146,0.12);
}
.legal-list__row:first-child { border-top: 0; }
.legal-list dt {
    color: #bfeccd;
    font-weight: 700;
}
.legal-list dd {
    margin: 0;
    color: #e9fdf0;
}

/* Links */
.legal-link {
    color: #D0FF92;
    text-decoration: none;
    border-bottom: 1px solid rgba(208,255,146,0.4);
}
.legal-link:hover {
    border-bottom-color: transparent;
    text-decoration: underline;
}

/* Bullets */
.legal-bullets {
    list-style: disc inside;
    color: #e9fdf0;
    line-height: 1.8;
    margin: .3rem 0 1rem;
}
.legal-bullets li + li { margin-top: .25rem; }

/* Inline-Linkliste */
.legal-links {
    display: inline-flex;
    gap: .6rem;
    align-items: baseline;
    color: #bfeccd;
}

/* Responsiv */
@media (max-width: 640px) {
    .legal-list__row {
        grid-template-columns: 1fr;
        gap: .2rem;
    }
}