/* Legal pages (Kebijakan Privasi, …): readable long-form text with a sticky table of contents. */

.os-legal {
	--lg-accent: #ef4444;
	--lg-ink: var(--text-primary, #0f172a);
	--lg-muted: var(--text-secondary, #64748b);
	--lg-line: #e2e8f0;
	--lg-soft: #f8fafc;
	color: var(--lg-ink);
}
[data-theme="dark"] .os-legal { --lg-line: #334155; --lg-soft: #111827; }

.os-legal__hero {
	position: relative;
	padding: calc(72px + clamp(1.5rem, 4vw, 2.75rem)) 0 clamp(2rem, 4vw, 2.75rem);
	background:
		radial-gradient(600px 280px at 90% 10%, rgba(239, 68, 68, .2), transparent 70%),
		linear-gradient(135deg, #0b1120 0%, #111827 55%, #1e293b 100%);
	color: #fff;
}
.os-legal__crumbs { display: flex; gap: 8px; margin: 0 0 16px; color: #94a3b8; font-size: .82rem; font-weight: 600; }
.os-legal__crumbs a { color: #cbd5e1; text-decoration: none; }
.os-legal__crumbs a:hover { color: #fff; }
.os-legal__crumbs [aria-current] { color: #f87171; }
.os-legal__title { margin: 0 0 12px; color: #fff; font-size: clamp(2rem, 4.5vw, 2.9rem); font-weight: 800; line-height: 1.1; letter-spacing: -.025em; }
.os-legal__lead { max-width: 64ch; margin: 0 0 14px; color: #cbd5e1; font-size: 1.05rem; line-height: 1.65; }
.os-legal__updated { margin: 0; color: #94a3b8; font-size: .85rem; }
.os-legal__updated strong { color: #fff; }
.os-legal__updated--end { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--lg-line); color: var(--lg-muted); }
.os-legal__updated--end strong { color: var(--lg-ink); }

.os-legal__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding-block: clamp(2rem, 5vw, 3.5rem); }

/* Table of contents */
.os-legal__toc { position: sticky; top: 96px; padding: 1.1rem 1.1rem 1rem; border: 1px solid var(--lg-line); border-radius: 16px; background: var(--lg-soft); }
.os-legal__toc-title { margin: 0 0 .6rem; color: var(--lg-muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.os-legal__toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.os-legal__toc li { counter-increment: toc; }
.os-legal__toc a { display: flex; gap: 8px; padding: 6px 8px; border-radius: 8px; color: var(--lg-ink); font-size: .88rem; font-weight: 600; line-height: 1.35; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.os-legal__toc a::before { content: counter(toc) "."; flex: none; min-width: 1.1em; color: var(--lg-muted); }
.os-legal__toc a:hover { background: rgba(239, 68, 68, .08); color: var(--lg-accent); }

/* Content */
.os-legal__content { max-width: 72ch; font-size: 1.02rem; line-height: 1.75; }
.os-legal__content section { scroll-margin-top: 96px; }
.os-legal__content section + section { margin-top: 2.25rem; padding-top: 2.25rem; border-top: 1px solid var(--lg-line); }
.os-legal__content h2 { margin: 0 0 .8rem; color: var(--lg-ink); font-size: clamp(1.3rem, 2.4vw, 1.6rem); font-weight: 800; line-height: 1.25; letter-spacing: -.015em; }
.os-legal__content p { margin: 0 0 1rem; color: var(--lg-ink); }
.os-legal__content ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.os-legal__content li { margin-bottom: .45rem; padding-left: .25rem; }
.os-legal__content li::marker { color: var(--lg-accent); }
.os-legal__content a { color: var(--lg-accent); font-weight: 600; }

.os-legal__terms { display: grid; gap: 1rem; margin: 0; }
.os-legal__terms dt { margin: 0; font-weight: 800; }
.os-legal__terms dd { margin: 2px 0 0; }

.os-legal__contact { margin-top: 1.25rem; padding: 1rem 1.25rem; border-left: 4px solid var(--lg-accent); border-radius: 0 12px 12px 0; background: rgba(239, 68, 68, .06); }
.os-legal__contact p { margin: 0; }

@media (max-width: 900px) {
	.os-legal__layout { grid-template-columns: 1fr; }
	.os-legal__toc { position: static; }
}
