/* ── Legal pages (Privacy / Terms / Refund) ── */
.legal-wrap { max-width: 820px; margin: 0 auto; padding: 140px 28px 96px; }
.legal-header { margin-bottom: 32px; border-bottom: 1px solid var(--border-sub); padding-bottom: 24px; }
.legal-header h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; color: var(--text); margin-bottom: 8px; }
.legal-updated { font-size: .8rem; color: var(--text-muted); margin: 0; }
.legal-nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.legal-nav a {
    font-size: .78rem; font-weight: 600; color: var(--text-sec); text-decoration: none;
    padding: 7px 14px; border-radius: var(--r-pill); background: var(--surface); border: 1px solid var(--border-sub);
    transition: all .2s;
}
.legal-nav a:hover, .legal-nav a.active { color: var(--accent); border-color: var(--accent); }

.legal-body h2 {
    font-size: 1.15rem; font-weight: 700; color: var(--text); margin: 40px 0 14px;
    scroll-margin-top: 100px;
}
.legal-body h2:first-of-type { margin-top: 0; }
.legal-body h3 { font-size: 1rem; font-weight: 700; color: var(--text); margin: 20px 0 10px; }
.legal-body p { font-size: .9rem; color: var(--text-sec); line-height: 1.85; margin: 0 0 14px; }
.legal-body ul, .legal-body ol { margin: 0 0 16px; padding-left: 24px; display: flex; flex-direction: column; gap: 8px; }
.legal-body li { font-size: .9rem; color: var(--text-sec); line-height: 1.75; }
.legal-body strong { color: var(--text); }
.legal-body a { color: var(--accent); text-decoration: underline; }

.legal-callout {
    background: rgba(99,207,73,.08); border: 1px solid rgba(99,207,73,.25);
    border-radius: var(--r-md); padding: 18px 22px; margin: 0 0 18px;
}
.legal-callout p { color: var(--text); margin: 0; }
.legal-callout p + p { margin-top: 10px; }

.legal-disclaimer {
    margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border-sub);
    font-size: .75rem; color: var(--text-muted); line-height: 1.7; font-style: italic;
}

@media (max-width: 640px) {
    .legal-wrap { padding: 110px 20px 64px; }
}
