/* Legal documents (/legal/*) in the Kavi design system. Loaded after /assets/kavi.css.
   Long-form reading: 72ch measure, 1.7 line height, body text at >= 4.5:1, tables that
   scroll on their own instead of the page (WCAG 1.4.10). Frozen /vN.N/ archives are not
   restyled: their bytes are fingerprinted in /legal/policies.json. */

.legal-doc {
	max-width: 800px; margin: 0 auto; padding: clamp(72px, 9vw, 112px) 24px 88px;
	color: var(--text-muted); font-size: 1.0625rem; line-height: 1.7; overflow-wrap: anywhere;
}
.legal-doc h1 {
	margin: 0 0 12px; color: var(--text); font-weight: 800;
	font-size: clamp(2rem, 4vw + 1rem, 3rem); line-height: 1.08; letter-spacing: -0.01em;
}
.legal-doc h2 {
	margin: 48px 0 14px; color: var(--text); font-weight: 800; font-size: 1.45rem; line-height: 1.25;
	scroll-margin-top: calc(var(--header-h) + 16px);
}
.legal-doc h3 {
	margin: 32px 0 10px; color: var(--text); font-weight: 700; font-size: 1.15rem; line-height: 1.35;
	scroll-margin-top: calc(var(--header-h) + 16px);
}
.legal-doc p { margin: 0 0 16px; }
.legal-doc strong { color: var(--text); font-weight: 700; }
.legal-doc a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.legal-doc a:hover { color: var(--text); }
.legal-doc ul, .legal-doc ol { margin: 0 0 16px; padding-left: 24px; }
.legal-doc li { margin-bottom: 8px; }
.legal-doc li::marker { color: var(--text-subtle); }
.legal-doc hr { margin: 32px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.legal-doc blockquote {
	margin: 0 0 16px; padding: 14px 18px; border-radius: var(--radius);
	background: var(--surface); border-left: 3px solid var(--accent);
}
.legal-doc blockquote p:last-child { margin-bottom: 0; }
.legal-doc code {
	padding: 2px 6px; border-radius: 6px; background: rgba(255, 255, 255, 0.08);
	color: var(--text); font-size: 0.85em;
}

/* Tables scroll sideways inside their wrapper on narrow screens. */
.legal-doc .tbl { overflow-x: auto; margin: 0 0 20px; border-radius: var(--radius); border: 1px solid rgba(255, 255, 255, 0.14); }
.legal-doc table { border-collapse: collapse; min-width: 100%; font-size: 0.95rem; line-height: 1.5; }
.legal-doc th, .legal-doc td {
	padding: 10px 12px; text-align: left; vertical-align: top;
	border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.legal-doc th { background: rgba(255, 255, 255, 0.06); color: var(--text); font-weight: 700; }
.legal-doc tr:last-child td { border-bottom: 0; }

/* Document metadata blocks */
.legal-doc .meta, .legal-doc .updated { color: var(--text-subtle); font-size: 0.95rem; margin: 0 0 32px; }
.legal-doc li .meta { margin: 0; }
.legal-doc .archive {
	margin: 0 0 28px; padding: 14px 18px; border-radius: var(--radius);
	background: var(--surface); border: 1px solid var(--border-strong); font-size: 0.95rem;
}
.legal-doc .versions { color: var(--text-subtle); font-size: 0.95rem; }
.legal-doc .detail { margin: 4px 0; }
.legal-doc .detail strong { display: inline-block; min-width: 190px; }

/* Legal index: list of documents as tappable rows */
.legal-index ul { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 8px; }
.legal-index li { margin: 0; }
.legal-index li a {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-height: 52px;
	padding: 14px 18px; border-radius: var(--radius); background: var(--surface);
	border: 1px solid rgba(255, 255, 255, 0.10); color: var(--text); font-weight: 600; text-decoration: none;
}
.legal-index li a:hover { border-color: var(--border-strong); background: rgba(255, 255, 255, 0.08); color: var(--text); }
.legal-index li a .meta { color: var(--text-subtle); font-weight: 500; font-size: 0.9rem; margin: 0; }

@media (max-width: 600px) {
	.legal-doc { padding: 56px 16px 64px; font-size: 1rem; }
	.legal-doc .detail strong { display: block; min-width: 0; }
}

@media print {
	.site-header, .site-footer, .skip-link { display: none !important; }
	body { background: #fff !important; }
	.legal-doc, .legal-doc h1, .legal-doc h2, .legal-doc h3, .legal-doc strong, .legal-doc a { color: #000 !important; }
	.legal-doc { max-width: none; padding: 0; }
}
