/*
 * Reading layout of the Prose page template (Impressum, Privacy Policy, Terms): legal text pasted into the page is set in a
 * narrow measure with clear headings, lists, tables and links. Loaded only for that template (inc/assets.php).
 */

.page-template-prose .nbt-content > :is(p, h2, h3, h4, h5, ul, ol, dl, blockquote, pre, hr, table, .wp-block-table) {
	max-width: calc(var(--container-narrow) + 2 * var(--gutter));
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.page-template-prose .nbt-content > :is(p, h2, h3, h4, h5, ul, ol, dl, blockquote, pre, hr, table, .wp-block-table):not(:first-child) {
	margin-block-start: 1.25em;
}

.page-template-prose .nbt-content > .nbt-section + :is(p, h2, h3, h4, h5, ul, ol, dl, blockquote, pre, table, .wp-block-table) {
	margin-block-start: var(--section-y-sm);
}

.page-template-prose .nbt-content > :is(p, ul, ol, dl, blockquote, pre, table, .wp-block-table):last-child {
	margin-block-end: var(--section-y-sm);
}

.page-template-prose .nbt-content > h2 {
	margin-block: 2.5em 0;
	font-size: var(--text-2xl);
}

.page-template-prose .nbt-content > h2::before {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	margin-bottom: var(--space-3);
	background: var(--c-cyan);
}

.page-template-prose .nbt-content > h3 {
	margin-block-start: 2em;
	font-size: var(--text-xl);
}

.page-template-prose .nbt-content > h4,
.page-template-prose .nbt-content > h5 {
	margin-block-start: 1.75em;
	font-size: var(--text-lg);
}

.page-template-prose .nbt-content > :is(ul, ol) {
	padding-inline-start: calc(var(--gutter) + 1.5em);
}

.nbt-placeholder-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nbt-placeholder-list li {
	position: relative;
	padding-inline-start: 1.75rem;
}

.nbt-placeholder-list li + li {
	margin-top: var(--space-2);
}

.nbt-placeholder-list li::before {
	content: "";
	position: absolute;
	inset-block-start: 0.3em;
	inset-inline-start: 0;
	width: 0.9rem;
	height: 0.9rem;
	border: 1.5px solid currentcolor;
	border-radius: var(--radius-xs);
}

.page-template-prose .nbt-prose > .nbt-placeholder {
	max-width: var(--container-narrow);
}

.page-template-prose .nbt-prose .nbt-placeholder + .nbt-placeholder {
	margin-block-start: var(--space-3);
}

.page-template-prose .nbt-content > :is(ul, ol) li + li {
	margin-top: 0.5em;
}

.page-template-prose .nbt-content a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.page-template-prose .nbt-content > blockquote {
	padding-inline-start: calc(var(--gutter) + var(--space-4));
	border-inline-start: 3px solid var(--c-brand);
	color: var(--c-ink-2);
}

.page-template-prose .nbt-content > hr {
	border: 0;
	border-top: var(--border);
}

.page-template-prose .nbt-content > .wp-block-table {
	overflow-x: auto;
}

.page-template-prose .nbt-content :is(table) {
	width: 100%;
	border-collapse: collapse;
}

.page-template-prose .nbt-content :is(th, td) {
	padding: var(--space-2) var(--space-3);
	border: var(--border);
	text-align: start;
	vertical-align: top;
}

.page-template-prose .nbt-content th {
	background: var(--c-surface);
}

/* Seeded placeholders (Impressum: five in a row; Privacy Policy and Terms: a checklist inside one). */
.page-template-prose .nbt-company-details {
	display: grid;
	gap: var(--space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}
