/* Snugtap legal pages. Loaded AFTER site/styles.css, so fonts, colours (--bg, --ink, --muted,
   --line, --card, --accent, --accent-deep, --radius) and the page background follow the hub theme.
   Only the article layout lives here. */
.legal-top { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding:28px 0 18px; }
.legal-top .wordmark { font-size:30px; }
.legal-top .logo img { width:40px; height:40px; }
.lang { font-weight:700; font-size:15px; color:var(--ink); text-underline-offset:3px; }
.legal-main { width:min(880px, calc(100% - 32px)); }
.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:0; list-style:none; }
.tabs a { display:inline-block; padding:7px 14px; border-radius:999px; border:1px solid var(--line); color:var(--ink); text-decoration:none; font-size:15px; font-weight:700; }
.tabs a[aria-current="page"] { background:var(--ink); border-color:var(--ink); color:var(--bg); }
.legal-doc { background:var(--card); border:1px solid var(--line); border-radius:var(--radius, 18px); padding:28px clamp(18px, 4vw, 44px) 36px; margin-bottom:32px; line-height:1.65; }
.legal-doc h1 { font-weight:700; font-size:clamp(30px, 5vw, 40px); letter-spacing:-0.035em; line-height:1.1; margin:0 0 6px; }
.legal-doc .updated { color:var(--muted); font-size:14px; margin:0 0 20px; }
.legal-doc .lead { font-size:18px; }
.legal-doc h2 { font-size:20px; letter-spacing:-0.01em; margin:1.8em 0 .5em; }
.legal-doc p, .legal-doc li { overflow-wrap:anywhere; }
.legal-doc li { margin:.3em 0; }
.legal-doc a, .legal-foot a { color:var(--accent-deep, var(--accent)); text-decoration:underline; text-underline-offset:3px; }
.legal-doc code { font-size:.88em; background:var(--line); padding:1px 5px; border-radius:6px; overflow-wrap:anywhere; }
.table-scroll { overflow-x:auto; }
.legal-doc table { border-collapse:collapse; width:100%; font-size:15px; margin:12px 0 20px; }
.legal-doc th, .legal-doc td { border:1px solid var(--line); padding:9px 11px; text-align:left; vertical-align:top; }
.legal-doc thead th, .legal-doc .facts th { background:var(--line); }
.legal-doc .facts th { width:36%; }
a:focus-visible { outline:3px solid var(--accent-deep, var(--accent)); outline-offset:3px; border-radius:6px; }
.legal-foot nav { display:flex; flex-wrap:wrap; gap:8px 18px; }
@media (max-width:560px) { .legal-doc .facts th, .legal-doc .facts td { display:block; width:100%; } .legal-doc .facts th { border-bottom:0; } }
.legal-top, .legal-foot .wrap { width:min(880px, calc(100% - 32px)); }
