/* =========================================================
   AYJUNITY — IMPRESSUM UND DATENSCHUTZ
   ========================================================= */

.legal-hero {
    padding:
        clamp(72px, 9vw, 124px)
        0
        clamp(42px, 6vw, 68px);

    border-bottom: 1px solid var(--color-border);
}

.legal-hero h1 {
    max-width: 920px;
}

.legal-intro {
    max-width: 760px;

    font-size: clamp(1.08rem, 1.7vw, 1.3rem);
    line-height: 1.7;
}

.legal-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(300px, 0.65fr);

    align-items: start;
    gap: clamp(40px, 6vw, 80px);
}

.legal-content {
    display: grid;
    gap: 42px;
}

.legal-block {
    max-width: 860px;
}

.legal-block h2 {
    margin-bottom: 16px;
}

.legal-block h3 {
    margin: 28px 0 10px;
}

.legal-block p,
.legal-block li {
    line-height: 1.75;
}

.legal-list {
    display: grid;
    gap: 8px;

    padding-left: 1.2rem;
}

.legal-card {
    position: sticky;
    top: 104px;

    padding: 28px;

    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);

    box-shadow: var(--shadow-card);
}

.legal-card h2,
.legal-card h3 {
    margin-bottom: 18px;
}

.legal-card dl {
    display: grid;
    gap: 16px;

    margin: 0;
}

.legal-card dl > div {
    padding-bottom: 16px;

    border-bottom: 1px solid var(--color-border);
}

.legal-card dl > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.legal-card dt {
    margin-bottom: 5px;

    color: var(--color-text-muted);

    font-size: 0.74rem;
    font-weight: 760;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.legal-card dd {
    margin: 0;

    line-height: 1.6;
}

.legal-placeholder {
    display: inline-block;

    padding: 2px 7px;

    color: var(--color-accent-light);
    background: rgba(220, 161, 93, 0.08);

    border: 1px solid rgba(220, 161, 93, 0.22);
    border-radius: 6px;
}

.legal-warning {
    padding: 18px 20px;

    background: rgba(220, 161, 93, 0.07);
    border: 1px solid rgba(220, 161, 93, 0.25);
    border-radius: var(--radius-small);
}

.legal-contact {
    font-style: normal;
    line-height: 1.75;
}

@media (max-width: 900px) {
    .legal-grid {
        grid-template-columns: 1fr;
    }

    .legal-card {
        position: static;
    }
}