/* Legal pages (privacy-policy, terms-of-use): hero meta, EN/VI switch, TOC and document typography */
html[data-legal] .site-header .lang-toggle { display: none; } /* the document has its own switch */
.legal-hero { padding-block: clamp(4.5rem, 10vw, 7rem) 1rem; }
.legal-hero h1 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: .75rem; }
.legal-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.legal-meta p { margin: 0; }
.legal-switch button { padding: .45rem .9rem; }

.legal { display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr); }
.legal-doc { min-width: 0; }
.toc { display: grid; gap: .1rem; align-content: start; }
.toc a { display: block; color: var(--fg-muted); font-size: .875rem; line-height: 1.35; padding: .35rem .75rem; border-left: 2px solid transparent; border-radius: 0 8px 8px 0; }
.toc a:hover { color: var(--fg); background: var(--accent-soft); }
.toc a[aria-current="true"] { color: var(--fg); border-left-color: var(--accent); }
@media (min-width: 1000px) {
  .legal { grid-template-columns: 250px minmax(0, 1fr); }
  .toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; }
}

.legal-doc .lead { font-size: 1.1rem; color: var(--fg-muted); border-left: 3px solid var(--accent); padding-left: 1.25rem; margin-bottom: 2.5rem; }
.legal-doc h2 { font-size: 1.35rem; margin-top: 2.75rem; padding-top: 2rem; border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.legal-doc h3 { font-size: 1.05rem; margin-top: 1.75rem; color: var(--fg); }
.legal-doc p, .legal-doc li { line-height: 1.7; }
.legal-doc ul, .legal-doc ol { padding-left: 1.4rem; margin: 0 0 1.25em; }
.legal-doc li { margin-bottom: .45em; }
.legal-doc li::marker { color: var(--accent-text); }
.legal-address { font-style: normal; line-height: 1.8; background: var(--bg-elev); border: 1px solid var(--line); border-radius: 12px; padding: 1rem 1.25rem; }
