/* legal.css -- the legal pages (terms, privacy policy, legal notice).
   Created 25.09.2026. Plain reading layout on the public Material 3 shell. */

.legal-page {
    display: flex;
    justify-content: center;
    padding: 32px 16px 64px;
}
.legal-card {
    width: 100%;
    max-width: 820px;
    background: var(--md-surface-container, var(--bg-elev, #fff));
    color: var(--md-on-surface, inherit);
    border-radius: 16px;
    padding: 28px 32px;
    box-sizing: border-box;
}
.legal-draft {
    margin: 12px 0 16px;
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(220, 150, 40, 0.14);
    border: 1px solid rgba(220, 150, 40, 0.45);
    font-size: 13px;
}
.legal-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.legal-tabs a {
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--md-outline-variant, rgba(128, 128, 128, 0.4));
    text-decoration: none;
    color: inherit;
    font-size: 14px;
}
.legal-tabs a.active {
    background: var(--md-secondary-container, rgba(128, 128, 128, 0.18));
    font-weight: 600;
}
.legal-body {
    font-size: 15px;
    line-height: 1.6;
}
.legal-body h3 { font-size: 22px; margin: 8px 0 12px; }
.legal-body h4 { font-size: 17px; margin: 22px 0 8px; }
.legal-body p, .legal-body ul, .legal-body ol { margin: 0 0 10px; }
.legal-body ul, .legal-body ol { padding-left: 22px; }
.legal-body li { margin: 2px 0; }
.legal-body blockquote {
    margin: 10px 0;
    padding: 6px 14px;
    border-left: 3px solid var(--md-outline-variant, rgba(128, 128, 128, 0.5));
    opacity: 0.9;
}
.legal-body hr { border: 0; border-top: 1px solid var(--md-outline-variant, rgba(128, 128, 128, 0.35)); margin: 20px 0; }
.legal-body code { font-size: 0.92em; }
.legal-table { overflow-x: auto; margin: 8px 0 14px; }
.legal-table table { border-collapse: collapse; width: 100%; font-size: 14px; }
.legal-table th, .legal-table td {
    border: 1px solid var(--md-outline-variant, rgba(128, 128, 128, 0.35));
    padding: 6px 10px;
    text-align: left;
    vertical-align: top;
}
.legal-error { opacity: 0.8; }
.legal-sep { display: inline-block; width: 1px; height: 18px; background: rgba(128, 128, 128, 0.4); margin: 0 6px; }
@media (max-width: 600px) {
    .legal-card { padding: 20px 16px; }
}
