/* Legal pages (Privacy, Terms): section list | readable document | side panel. Tokens from design.css, width from layout.css. */

body:not(.home) .entry-content > .jbl.jbl { max-width: none; }
.jbl {
	width: min(var(--jb-cw, 1270px), 100%); margin: 0 auto;
	display: grid; grid-template-columns: 220px minmax(0, 720px) 280px; justify-content: space-between; align-items: start; gap: 48px;
	color: var(--cream-100);
}
.jbl a { color: var(--glow-300); }
.jbl a:focus-visible { outline: 2px solid var(--glow-500); outline-offset: 2px; }
.entry-content .jbl .jbl-h { margin: 0 0 10px; font: 400 12px/1.4 'Space Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--cream-400); }

/* section list */
.jbl-toc { position: sticky; top: 24px; }
.entry-content .jbl-toc ol { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--hairline); }
.entry-content .jbl-toc li { margin: 0; }
.jbl-toc a { display: block; padding: 6px 0 6px 14px; margin-left: -1px; border-left: 1px solid transparent; font-size: 14.5px; line-height: 1.4; color: var(--cream-400); text-decoration: none; }
.jbl-toc a:hover { color: var(--cream-100); border-left-color: var(--glow-500); }

/* document */
.jbl-doc > :first-child { margin-top: 0; }
.entry-content .jbl-doc h2 { margin: 44px 0 12px; font: 400 clamp(24px, 2.2vw, 28px)/1.25 'Lora', serif; color: var(--cream-100); scroll-margin-top: 24px; }
.entry-content .jbl-doc p, .entry-content .jbl-doc li { font-size: 17px; line-height: 1.7; color: var(--cream-100); }
.entry-content .jbl-doc p { margin: 0 0 14px; }
.entry-content .jbl-doc ul { margin: 0 0 14px; padding-left: 20px; }
.entry-content .jbl-doc li { margin: 0 0 8px; }
.entry-content .jbl-doc li::marker { color: var(--cream-400); }
.entry-content .jbl-doc .jbl-updated { margin: 0 0 14px; font: 400 12px/1.4 'Space Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--cream-400); }
.entry-content .jbl-doc .jbl-short { margin: 0 0 8px; padding: 20px 24px; font-size: 18px; line-height: 1.6; background: var(--ink-900); border: 1px solid var(--ink-border); border-radius: var(--r-card); }

/* side panel */
.jbl-side { position: sticky; top: 24px; display: grid; gap: 16px; }
.jbl-box { padding: 18px 20px; background: var(--ink-900); border: 1px solid var(--ink-border); border-radius: var(--r-card); }
.entry-content .jbl-box p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--cream-400); }
.entry-content .jbl-box ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.entry-content .jbl-box li { margin: 0; font-size: 15px; }

@media (max-width: 1180px) {
	.jbl { grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; }
	.jbl-toc { display: none; }
}
@media (max-width: 860px) {
	.jbl { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.jbl-side { position: static; }
	.entry-content .jbl-doc p, .entry-content .jbl-doc li { font-size: 16.5px; }
	.entry-content .jbl-doc .jbl-short { padding: 18px 20px; font-size: 17px; }
}
