.legal-page-shell {
    --legal-page-bg: var(--gwc-app-page-bg, var(--signup-surface-bg, #f4f7fb));
    --legal-panel-bg: var(--gwc-app-surface-strong, var(--signup-form-bg, #ffffff));
    --legal-panel-border: var(--gwc-app-border, var(--signup-form-border, rgba(15, 23, 42, 0.12)));
    --legal-panel-shadow: var(--gwc-app-shadow, var(--signup-form-shadow, 0 18px 40px rgba(15, 23, 42, 0.12)));
    --legal-text: var(--gwc-app-text, var(--signup-form-text, #1f2937));
    --legal-muted: var(--gwc-app-muted, var(--signup-form-subtext, #6b7280));
    --legal-accent: var(--gwc-app-accent, var(--signup-accent-color, #0d6efd));
    --legal-link: var(--signup-link-color-hover, var(--legal-accent));
    max-width: 1040px;
    margin: 24px auto 48px;
    padding: 0 1.25rem 2.5rem;
    color: var(--legal-text);
}

.legal-page-panel {
    background: var(--legal-panel-bg);
    border: 1px solid var(--legal-panel-border);
    border-radius: 8px;
    box-shadow: var(--legal-panel-shadow);
    padding: clamp(1.25rem, 2.5vw, 2.5rem);
}

.legal-page-content {
    color: var(--legal-text);
    font-size: 0.98rem;
    line-height: 1.62;
}

.legal-page-content h1,
.legal-page-content h2,
.legal-page-content h3,
.legal-page-content h4,
.legal-page-content .card-header {
    color: var(--legal-text);
}

.legal-page-content p,
.legal-page-content li,
.legal-page-content td,
.legal-page-content th {
    color: var(--legal-text);
}

.legal-page-content p {
    margin: 0 0 1rem;
}

.legal-page-content ol,
.legal-page-content ul {
    padding-left: 1.35rem;
}

.legal-page-content ol > li,
.legal-page-content ul > li {
    margin-bottom: 0.9rem;
}

.legal-page-content a {
    color: var(--legal-link);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.legal-page-content a:hover,
.legal-page-content a:focus {
    color: var(--gwc-app-accent-hover, var(--legal-link));
}

.legal-page-content .card,
.legal-page-content .card-body,
.legal-page-content .container {
    background: transparent;
    border: 0;
    box-shadow: none;
    max-width: 100%;
    padding: 0;
}

.legal-page-content .card-header {
    background: transparent;
    border: 0;
    padding: 0 0 1rem;
    font-weight: 700;
}

.legal-page-content #datenschutzdiv p,
.privacy-policy-content #datenschutzdiv p {
    margin: 0 0 1rem;
    text-align: left;
}

.legal-impressum {
    display: grid;
    gap: 1rem;
}

.legal-impressum__title {
    margin: 0;
    color: var(--legal-text);
    font-size: clamp(1.45rem, 2vw, 2rem);
}

.legal-impressum__block {
    margin: 0;
}

.legal-impressum__muted {
    color: var(--legal-muted);
}

.legal-impressum__image {
    display: block;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--legal-panel-border);
    border-radius: 8px;
}

body.theme-dark .legal-page-shell,
body[data-theme="dark"] .legal-page-shell {
    --legal-panel-bg: var(--gwc-app-surface-strong, var(--signup-form-bg, rgba(38, 38, 38, 0.95)));
    --legal-panel-border: var(--gwc-app-border, rgba(255, 255, 255, 0.12));
    --legal-text: var(--gwc-app-text, var(--signup-form-text, #f4f4f4));
    --legal-muted: var(--gwc-app-muted, var(--signup-form-subtext, #cfcfcf));
}

#masterrow {
    grid-template-columns: minmax(0, 1fr) !important;
}

#maincontentcontainer {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
}

@media (max-width: 768px) {
    .legal-page-shell {
        margin-top: 16px;
        padding-inline: 0.85rem;
    }

    .legal-page-panel {
        padding: 1rem;
    }
}
