/**
 * Legal pages (terms, returns, delivery & payment, privacy).
 * A single readable column with comfortable typography.
 */

.legal-page {
    max-width: 760px;
    margin: 0 auto;
    padding: var(--spacing-xxl) var(--spacing-md) calc(var(--spacing-xxl) * 2.5);
    color: var(--color-text);
    line-height: 1.7;
}

.legal-page__title {
    margin: 0 0 var(--spacing-lg);
}

/* Operator identity card (from ContactInfo) */
.legal-page__operator {
    background: var(--theme-button-background);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg) var(--spacing-xxl);
    margin-bottom: calc(var(--spacing-xxl) * 1.5);
}

.legal-page__operator h2 {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-heading);
    margin: 0 0 var(--spacing-sm);
}

.legal-page__operator p {
    margin: 0 0 var(--spacing-sm);
}

.legal-page__note {
    font-size: 0.9rem;
    color: #777;
}

/* Document body */
.legal-page__content h2 {
    font-family: var(--font-family-medium), sans-serif;
    font-size: 1.25rem;
    margin: calc(var(--spacing-xxl) * 1.4) 0 var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    border-bottom: 1px solid var(--color-border);
}

.legal-page__content h2:first-child {
    margin-top: 0;
}

.legal-page__content p,
.legal-page__content ul {
    margin: 0 0 var(--spacing-md);
}

.legal-page__content ul {
    padding-left: 1.4rem;
}

.legal-page__content li {
    margin-bottom: var(--spacing-xs);
}

.legal-page__content a {
    color: var(--theme-info-color);
    text-decoration: underline;
}

.legal-page__content em {
    color: #555;
}

.legal-page__updated {
    margin-top: calc(var(--spacing-xxl) * 1.5);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border);
    font-size: 0.9rem;
    color: #777;
}

@media (max-width: 576px) {
    .legal-page__operator {
        padding: var(--spacing-md);
    }
}
