/*
 * Block content: lists, quotes, tables, cover, columns, details, media.
 * Loaded on the front end and in the editor canvas. Rules that override core block CSS
 * are prefixed with "body" because core may print its block styles after this file.
 */
ul,
ol {
	padding-inline-start: 1.35em;
}

li + li {
	margin-top: 0.4em;
}

li::marker {
	color: var(--tz-accent);
}

ol > li::marker {
	font-family: var(--tz-font-display);
	font-weight: 700;
}

dl {
	margin: 0;
}

dd {
	margin: 0;
}

blockquote,
.wp-block-quote {
	margin-inline: 0;
	padding-inline-start: var(--tz-space-m);
	border-inline-start: 2px solid var(--tz-accent);
	font-family: var(--tz-font-display);
	font-size: var(--tz-step-1);
	line-height: 1.6;
}

blockquote cite,
.wp-block-quote cite,
.wp-block-pullquote cite {
	display: block;
	margin-top: var(--tz-space-2xs);
	color: var(--tz-text-muted);
	font-family: var(--tz-font-body);
	font-size: var(--tz-step--1);
	font-style: normal;
}

body .wp-block-pullquote {
	padding-block: var(--tz-space-l);
	border-block: 1px solid var(--tz-line-strong);
	text-align: start;
}

.wp-block-pullquote blockquote {
	padding: 0;
	border: 0;
	font-size: var(--tz-step-3);
	line-height: 1.35;
}

/* Tables scroll inside their figure on narrow screens. */
body .wp-block-table {
	overflow-x: auto;
	margin-inline: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--tz-step--1);
	font-variant-numeric: tabular-nums;
}

th,
td,
body .wp-block-table :is(th, td) {
	padding: 0.75rem 0.875rem 0.75rem 0;
	border: 0;
	border-bottom: 1px solid var(--tz-line);
	text-align: start;
	vertical-align: top;
}

body .wp-block-table :is(thead, tfoot) {
	border: 0;
}

thead th,
body .wp-block-table thead th {
	border-bottom-color: var(--tz-line-strong);
	color: var(--tz-text-muted);
	font-weight: 500;
}

tbody th {
	width: 32%;
	color: var(--tz-text-soft);
	font-weight: 500;
}

.wp-block-table figcaption,
.wp-element-caption,
figcaption {
	margin-top: var(--tz-space-2xs);
	color: var(--tz-text-muted);
	font-size: var(--tz-step--1);
	line-height: 1.5;
}

figure {
	margin: 0;
}

.wp-block-image img {
	display: block;
	border-radius: var(--tz-radius);
}

/* Cover: cinematic by default — tall, bottom-weighted, display type. */
body .wp-block-cover {
	min-height: min(70svh, 40rem);
	padding: var(--tz-space-xl) var(--tz-gutter);
}

body .wp-block-cover .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--tz-wide);
	margin-inline: auto;
}

.wp-block-cover :is(h1, h2) {
	font-size: var(--tz-step-5);
	font-weight: 800;
	line-height: 1.08;
}

.wp-block-cover p {
	max-width: 36rem;
	font-size: var(--tz-step-1);
}

.wp-block-cover .wp-block-buttons {
	margin-top: var(--tz-space-l);
}

/*
 * Covers set their own ground, so role tokens follow the cover rather than the page scheme.
 * On a dark cover the action glows like a lantern (the dark-scheme action colours).
 */
.wp-block-cover:not(.is-light) {
	--tz-text: #ebe5d4;
	--tz-bg: #1b1813;
	--tz-action-bg: #d98a55;
	--tz-action-bg-hover: #e8a070;
	--tz-action-text: #1b1813;
	--tz-focus: #ebe5d4;
}

.wp-block-cover.is-light {
	--tz-text: #211d17;
	--tz-bg: #efece2;
	--tz-action-bg: #8a4526;
	--tz-action-bg-hover: #733920;
	--tz-action-text: #f6f3ea;
	--tz-focus: #211d17;
}

/* Columns and groups */
body .wp-block-columns {
	gap: var(--tz-space-l) var(--tz-space-xl);
}

.wp-block-group.has-background {
	padding: var(--tz-space-l) var(--tz-space-m);
}

/* Details: FAQ-style disclosure with a clear, large hit area. */
.wp-block-details {
	border-bottom: 1px solid var(--tz-line);
}

.wp-block-details summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--tz-space-s);
	padding-block: var(--tz-space-s);
	font-family: var(--tz-font-display);
	font-size: var(--tz-step-1);
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	flex: none;
	color: var(--tz-accent);
	font-family: var(--tz-font-body);
	font-weight: 500;
	transition: transform var(--tz-duration) var(--tz-ease);
}

.wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

.wp-block-details > :not(summary) {
	margin-top: 0;
	padding-bottom: var(--tz-space-s);
}

body .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--tz-line-strong);
}

body .wp-block-separator.is-style-wide {
	border-top-width: 1px;
}

.wp-block-separator.is-style-dots::before {
	color: var(--tz-accent);
}

.wp-block-media-text {
	gap: var(--tz-space-l);
}

.wp-block-embed iframe {
	width: 100%;
	border: 0;
}

.wp-block-file a:not(.wp-block-file__button) {
	font-weight: 500;
}

pre,
.wp-block-code {
	overflow-x: auto;
	padding: var(--tz-space-s);
	background: var(--tz-surface-sunk);
	border-radius: var(--tz-radius);
}

.has-text-align-center {
	text-align: center;
}

.has-text-align-right {
	text-align: end;
}
