/* Terms and Privacy: shared by the standalone pages (/terms, /privacy) and the in-app dialogs. */
.legal-sec { margin-top: 24px; }
.legal-sec h2 { font-size: 1rem; letter-spacing: -0.01em; margin: 0 0 6px; }
.legal-sec p, .legal-sec li { margin: 0 0 8px; color: var(--text-muted); font-size: .9375rem; line-height: 1.65; }
.legal-sec ul { margin: 0 0 8px; padding-left: 20px; }
.legal-sec a, .legal-meta a { color: var(--cobalt-deep); }
.legal-sec strong { color: var(--text); }
.legal-sec.hl { padding: 16px 18px; border-radius: var(--r-lg, 16px); background: var(--cobalt-soft); border: 1px solid var(--line); }
.legal-sec.hl p, .legal-sec.hl li { color: var(--text); }
.legal-meta { color: var(--text-muted); font-size: 1rem; line-height: 1.55; margin: 0 0 26px; }

/* Standalone pages */
.legal-page { margin: 0; background: var(--bg, #f6f7fb); color: var(--text); }
.legal-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; max-width: 760px; margin: 0 auto; padding: 22px 20px 0; }
.legal-top img { height: 48px; width: auto; display: block; }
.legal-top nav { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; font-weight: 600; font-size: .9375rem; }
.legal-top nav a { color: var(--cobalt-deep); text-decoration: none; }
.legal-top nav a:hover { text-decoration: underline; }
.legal-main { max-width: 760px; margin: 0 auto; padding: clamp(24px, 5vh, 48px) 20px 56px; }
.legal-main h1 { font-size: clamp(1.75rem, 5vw, 2.25rem); letter-spacing: -0.03em; margin: 0 0 8px; outline: none; }
.legal-foot { max-width: 760px; margin: 0 auto; padding: 0 20px 40px; color: var(--text-muted); font-size: .8125rem; }
.legal-foot a { color: var(--cobalt-deep); }
