/* ==========================================================================
   Legal pages (/terms-of-service, /privacy-policy, /cookie-policy,
   /refund-policy) — long-form prose typography. BEM: legal-page__*
   ========================================================================== */

.legal-page {
    padding: calc(var(--sp-xl) * 2) 0 calc(var(--sp-xl) * 1.5);
}

.legal-page__header {
    max-width: 75ch;
    margin: 0 auto var(--sp-xl);
}

.legal-page__title {
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    line-height: 1.15;
    margin: 0 0 var(--sp-s);
    color: var(--main);
}

.legal-page__updated {
    margin: 0;
    font-size: 0.9rem;
    color: var(--gray);
}

.legal-page__content {
    max-width: 75ch;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.7;
    /* Base body text is black; headings/links set their own colour below.
       (Was --main, which leaked blue into list items via inheritance.) */
    color: var(--black);
}

.legal-page__content h2 {
    font-size: 1.35rem;
    line-height: 1.3;
    margin: var(--sp-xl) 0 var(--sp-s);
    color: var(--main);
}

.legal-page__content h3 {
    font-size: 1.1rem;
    line-height: 1.35;
    margin: var(--sp-l) 0 var(--sp-xs);
    color: var(--main);
}

.legal-page__content p {
    margin: 0 0 var(--sp-m);
}

.legal-page__content ul,
.legal-page__content ol {
    margin: 0 0 var(--sp-m);
    padding-left: 1.4em;
}

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

.legal-page__content a {
    color: var(--black);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-page__content a:hover,
.legal-page__content a:focus {
    color: var(--main);
}

.legal-page__content a:focus-visible {
    outline: 3px solid var(--main);
    outline-offset: 2px;
    border-radius: 2px;
}

.legal-page__content strong {
    font-weight: 700;
}

@media (max-width: 600px) {
    .legal-page {
        padding: var(--sp-xl) 0;
    }
}
