/**
 * Стили страниц политики и пользовательского соглашения.
 */
.legal-page {
    padding: 2.5rem 0 4rem;
    background: var(--bg, var(--gray-50));
    color: var(--text, var(--gray-800));
    min-height: calc(100vh - var(--header-height, 80px));
}

.legal-doc {
    max-width: 48rem;
    margin: 0 auto;
    background: var(--surface, #fff);
    border: 1px solid var(--border, var(--gray-200));
    border-radius: var(--radius-xl, 1rem);
    padding: 2rem 1.75rem 2.25rem;
    box-shadow: var(--shadow-md);
}

.legal-doc h1 {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--text, var(--gray-900));
}

.legal-meta {
    margin: 0 0 1.5rem;
    font-size: 0.875rem;
    color: var(--text-muted, var(--gray-500));
}

.legal-doc h2 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 650;
    margin: 1.75rem 0 0.65rem;
    color: var(--text, var(--gray-900));
}

.legal-doc p,
.legal-doc li {
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--text, var(--gray-700));
}

.legal-doc p {
    margin: 0 0 0.85rem;
}

.legal-doc ul,
.legal-doc ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.legal-doc li {
    margin-bottom: 0.4rem;
}

.legal-doc a {
    color: var(--primary-600, #0284c7);
}

.legal-note {
    margin-top: 1.75rem;
    padding: 0.9rem 1rem;
    border-radius: var(--radius-md, 0.5rem);
    background: var(--surface-muted, var(--gray-100));
    border: 1px solid var(--border, var(--gray-200));
    font-size: 0.85rem;
    color: var(--text-muted, var(--gray-600));
}

.legal-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
}

@media (max-width: 640px) {
    .legal-page {
        padding: 1.25rem 0 3rem;
    }
    .legal-doc {
        padding: 1.35rem 1.1rem 1.75rem;
        border-radius: var(--radius-lg, 0.75rem);
    }
    .legal-doc h1 {
        font-size: 1.4rem;
    }
}
