/* Legal pages (privacy, terms, cookies, DMCA ...), matched to the canvas
   mockup "Legal": a sticky "On this page" menu on the left and the text in
   a readable column on the right. Only pages that have a contents list. */
@media (min-width: 900px) {
	.cul-page__body:has(> .cul-page__toc) {
		display: grid;
		grid-template-columns: 240px minmax(0, 72ch);
		column-gap: 56px;
		align-items: start;
	}
	.cul-page__body:has(> .cul-page__toc) > * { grid-column: 2; }
	.cul-page__body > .cul-page__toc {
		grid-column: 1;
		grid-row: 1 / span 400;
		align-self: start;
		position: sticky;
		top: 24px;
		max-height: calc(100vh - 48px);
		overflow-y: auto;
	}
}
.cul-page__body:has(> .cul-page__toc) { padding-top: 48px; padding-bottom: 80px; }
.cul-page__body:has(> .cul-page__toc) > h1 { font: 600 2.4rem/1.15 var(--ui-font-display) !important; color: var(--ui-navy) !important; margin: 0 0 8px !important; }
.cul-page__body:has(> .cul-page__toc) > h2 { font: 600 1.35rem/1.3 var(--ui-font-display) !important; color: var(--ui-navy) !important; margin: 36px 0 10px !important; scroll-margin-top: 24px; }
.cul-page__body:has(> .cul-page__toc) > h3 { font: 600 1.1rem var(--ui-font-display) !important; color: var(--ui-navy) !important; }
.cul-page__body:has(> .cul-page__toc) > p,
.cul-page__body:has(> .cul-page__toc) > ul,
.cul-page__body:has(> .cul-page__toc) > ol { color: var(--ui-ink); line-height: 1.7; }
.cul-page__toc { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; margin: 0 0 24px !important; }
.cul-page__toc .cul-page__toc-title { font: 600 .9rem var(--ui-font) !important; color: var(--ui-navy) !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: 0 !important; }
.cul-page__toc ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 2px; }
.cul-page__toc li { margin: 0 !important; padding: 0 !important; }
.cul-page__toc li::before { display: none !important; }
.cul-page__toc a { display: block; padding: 6px 10px; border-radius: 5px; font-size: .92rem; line-height: 1.35; color: var(--ui-muted) !important; text-decoration: none !important; border-left: 2px solid transparent; }
.cul-page__toc a:hover { background: var(--ui-page); color: var(--ui-navy) !important; }
@media (max-width: 899px) {
	.cul-page__toc { border: 1px solid var(--ui-line) !important; border-radius: 5px; padding: 16px !important; }
	.cul-page__body:has(> .cul-page__toc) > h1 { font-size: 1.9rem !important; }
}
