/*
 * Palangos žinios — detailing on top of theme.json.
 * Colors and fonts come from theme.json presets (--wp--preset--*);
 * this file adds the newsroom detailing the block UI can't express.
 */

/* ---------- page frame ---------- */

/*
 * Sticky footer: on short pages (404, thin pages, empty search or archive) the
 * footer would otherwise stop mid-screen and leave the page background showing
 * underneath it. Keep the frame at least one viewport tall and let main absorb
 * the slack. The admin bar is outside the document, so subtract it when present.
 */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}

/* dvh tracks mobile browser chrome as it collapses; vh above is the fallback. */
@supports (min-height: 100dvh) {
	.wp-site-blocks {
		min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	}
}

.wp-site-blocks > main {
	flex: 1 0 auto;
}

/* ---------- masthead ---------- */

.pz-utility {
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12.5px;
	letter-spacing: .02em;
	color: var(--wp--preset--color--muted);
}
.pz-utility a { color: var(--wp--preset--color--muted); }
.pz-utility a:hover { color: var(--wp--preset--color--azure-ink); }

.pz-masthead .wp-block-site-title {
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 118;
	font-weight: 850;
	font-size: clamp(28px, 4.5vw, 38px);
	line-height: .95;
	letter-spacing: -.015em;
	text-transform: uppercase;
	margin: 0;
}
.pz-masthead .wp-block-site-title a:hover { color: var(--wp--preset--color--azure-ink); }
.pz-masthead .wp-block-site-logo img { display: block; }

.pz-masthead .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	padding: 2px 4px 2px 14px;
	background: var(--wp--preset--color--base);
}
.pz-masthead .wp-block-search__input {
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	color: var(--wp--preset--color--contrast);
}
.pz-masthead .wp-block-search__input:focus { outline: none; }
.pz-masthead .wp-block-search__button { margin: 0; }

/*
 * Flex items refuse to shrink past their content by default, so the search
 * field used to force the whole page wider than a phone screen. Let it shrink,
 * and below the masthead breakpoint drop it onto its own full-width line
 * instead of hiding it — search matters too much on a news site.
 */
.pz-masthead .wp-block-search,
.pz-masthead .wp-block-search__inside-wrapper,
.pz-masthead .wp-block-search__input {
	min-width: 0;
}

@media (max-width: 720px) {
	.pz-masthead .wp-block-group {
		flex-wrap: wrap;
	}
	.pz-masthead .wp-block-search {
		flex: 1 1 100%;
		margin-top: 10px;
	}
}

/* ---------- navigation rows ---------- */

.pz-mainnav {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 3px solid var(--wp--preset--color--azure);
}
.pz-mainnav .wp-block-navigation__container { flex-wrap: wrap; gap: 4px; }
.pz-mainnav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 13.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	padding: 13px 14px;
}
.pz-mainnav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--azure-ink); }
.pz-mainnav .current-menu-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--azure-ink);
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--amber);
}

.pz-subnav { border-bottom: 1px solid var(--wp--preset--color--line); }
.pz-subnav .wp-block-navigation__container { flex-wrap: wrap; gap: 4px; }
.pz-subnav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	padding: 9px 14px;
}
.pz-subnav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--azure-ink); }

/* ---------- shared newsroom pieces ---------- */

.pz-kicker,
.pz-kicker a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--azure-ink);
	text-decoration: none;
}

.pz-section-head {
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	padding-bottom: 10px;
	margin-bottom: 16px;
}
.pz-section-head h2,
.pz-section-head .wp-block-heading {
	font-variation-settings: "wdth" 112;
	font-size: 17px;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0;
}
.pz-section-head .pz-more a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--wp--preset--color--azure-ink);
}

/* Archive / search page title — a page heading, not a section label. */
.pz-section-head .wp-block-query-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 108;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
	letter-spacing: -.015em;
	text-transform: none;
	text-wrap: balance;
}

.pz-section-head .pz-search-inline { margin: 0; }

.pz-section-head .pz-search-inline .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	padding: 2px 4px 2px 14px;
	background: var(--wp--preset--color--card);
}

.pz-section-head .pz-search-inline .wp-block-search__input {
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	color: var(--wp--preset--color--contrast);
}

.pz-section-head .pz-search-inline .wp-block-search__input:focus { outline: none; }

/* ---------- empty states (search with no hits, empty listings) ---------- */

.pz-empty { text-align: center; }

.pz-empty .pz-empty-title {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 106;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--x-large);
	letter-spacing: -.015em;
}

.pz-empty .pz-empty-text {
	margin: 0 auto 22px;
	max-width: 46ch;
	color: var(--wp--preset--color--muted);
	font-size: 16px;
	line-height: 1.6;
}

.pz-empty .wp-block-search { margin-bottom: 18px; }

.pz-empty .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	padding: 3px 5px 3px 16px;
	background: var(--wp--preset--color--card);
	max-width: 380px;
	margin: 0 auto;
}

.pz-empty .wp-block-search__input {
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 14px;
	color: var(--wp--preset--color--contrast);
}

.pz-empty .wp-block-search__input:focus { outline: none; }

.pz-empty .pz-empty-back {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13.5px;
	font-weight: 600;
}

.pz-empty .pz-empty-back a { color: var(--wp--preset--color--azure-ink); }

.pz-card {
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(14, 42, 71, .06), 0 8px 24px -12px rgba(14, 42, 71, .12);
}

/* ---------- lead story ---------- */

.pz-lead .wp-block-post-title {
	font-variation-settings: "wdth" 110;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.08;
	text-wrap: balance;
	margin: 6px 0 0;
}
/* No measure cap here. A three-line summary does not need one, and capping it
 * left the excerpt 200px short of the image and headline directly above it —
 * a block of white beside the rail rather than a tidy column. */
.pz-lead .wp-block-post-excerpt__excerpt {
	font-size: 18px;
	font-weight: 340;
	line-height: 1.55;
}

/* ---------- story cards (duo, events, sections) ---------- */

.pz-story .wp-block-post-title {
	font-variation-settings: "wdth" 106;
	font-weight: 750;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.22;
	text-wrap: balance;
	margin: 8px 0 0;
}
.pz-story .wp-block-post-excerpt__excerpt {
	font-size: 14.5px;
	color: var(--wp--preset--color--muted);
}

/*
 * Front page's full-width row of three. Core's grid layout keeps its column
 * count at every width, so step it down explicitly.
 */
@media (max-width: 900px) {
	.pz-row3 .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.pz-row3 .wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- rail ---------- */

.pz-rail-box { padding: 18px 20px 8px; }
.pz-rail-box .pz-rail-head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 4px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
}
.pz-rail-box .pz-rail-head::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--azure);
	box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--azure) 45%, transparent);
	animation: pz-pulse 2.2s infinite;
}
@keyframes pz-pulse {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--azure) 45%, transparent); }
	70% { box-shadow: 0 0 0 8px transparent; }
	100% { box-shadow: 0 0 0 0 transparent; }
}
@media (prefers-reduced-motion: reduce) {
	.pz-rail-box .pz-rail-head::before { animation: none; }
}
.pz-rail-box > .pz-feed { margin-block-start: 0; }
.pz-feed .wp-block-post {
	margin-block-start: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.pz-feed .wp-block-post:last-child { border-bottom: 0; }
.pz-feed .wp-block-post-date {
	flex: none;
	width: 44px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--wp--preset--color--azure-ink);
	font-variant-numeric: tabular-nums;
	padding-top: 2px;
}
.pz-feed .wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}
.pz-feed .wp-block-post-title a { color: var(--wp--preset--color--ink-soft); }
.pz-feed .wp-block-post-title a:hover { color: var(--wp--preset--color--azure-ink); }

/* sea widget */
/* The card the block draws for itself. Insert the block anywhere and this is
 * what you get — no wrapper group required. */
.pz-sea-card {
	margin-top: 26px;
	padding: 18px 20px 16px;
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(165deg, var(--wp--preset--color--azure), var(--wp--preset--color--sea-deep));
	color: #ffffff;
}
.pz-sea-title {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .92);
}

/* Templates saved before the block drew its own card still wrap it in a group
 * with this class, which already supplies the background and a heading. Flatten
 * the inner card there so those sites do not get a card inside a card and the
 * title twice. */
.pz-sea .pz-sea-card {
	margin-top: 0;
	padding: 0;
	border-radius: 0;
	background: none;
}
.pz-sea .pz-sea-title { display: none; }

.pz-sea {
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(165deg, var(--wp--preset--color--azure), var(--wp--preset--color--sea-deep));
	color: #ffffff;
}
.pz-sea h4, .pz-sea .wp-block-heading {
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .92);
	margin: 0 0 12px;
}
/* Current conditions: icon, temperature, description, today's high/low. */
.pz-sea-now {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.pz-sea-ico {
	flex: none;
	width: 38px;
	height: 38px;
	color: rgba(255, 255, 255, .95);
}
.pz-sea-now-text { min-width: 0; }
.pz-sea-temp {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
}
.pz-sea-cond {
	display: block;
	margin-top: 2px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	line-height: 1.35;
	color: rgba(255, 255, 255, .82);
}
.pz-sea-hilo {
	margin-left: auto;
	flex: none;
	text-align: right;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: rgba(255, 255, 255, .9);
}
.pz-sea-hilo span { display: block; }
.pz-sea-hilo span + span { color: rgba(255, 255, 255, .6); }

/*
 * The block lays its own tiles out. This used to lean on a wp:columns block in
 * the pattern, which meant one edit to the front page in the site editor left
 * the three tiles stacked vertically down the rail.
 */
.pz-sea-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.pz-sea-stat {
	background: rgba(255, 255, 255, .12);
	border-radius: 6px;
	padding: 10px 8px 8px;
	text-align: center;
}
/* The tiles are PHP-rendered, so they get none of core's .is-layout-flow
 * first-child margin reset; without this the numbers sit low in the tile. */
.pz-sea-stat p { margin: 0; }

.pz-sea-stat strong {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
/* Visually hidden, still announced. Core's block library ships this rule too,
 * but the theme should not depend on another stylesheet to keep its own
 * accessible labels off the screen. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Wind bearing. An arrow reads at a glance where "PR" has to be decoded. */
.pz-sea-arrow {
	flex: none;
	width: 13px;
	height: 13px;
	opacity: .8;
}
.pz-sea-stat span {
	display: block;
	margin-top: 2px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .75);
}
/* The pattern no longer ships a note. This stays for any paragraph an editor
 * has added to the card themselves, including ones already saved into a
 * customised template. */
.pz-sea .pz-sea-note,
.pz-sea-card .pz-sea-note {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	color: rgba(255, 255, 255, .8);
	margin: 12px 0 0;
}

/* Next three days. */
.pz-sea-days {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.pz-sea-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	text-align: center;
}
.pz-sea-day .pz-sea-ico { width: 20px; height: 20px; }
.pz-sea-day-name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72);
}
.pz-sea-day-temp {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.pz-sea-day-temp i {
	font-style: normal;
	margin-left: 4px;
	font-weight: 500;
	color: rgba(255, 255, 255, .58);
}

/* CC BY-SA 4.0 reikalaujamas šaltinio kreditas — tyliai, bet matomai.
 * Not scoped to an ancestor: the block prints this itself, so it has to be
 * styled wherever the block is inserted, not only inside a legacy pz-sea group.
 */
.pz-sea-credit {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10.5px;
	letter-spacing: .04em;
	color: rgba(255, 255, 255, .6);
	margin: 6px 0 0;
}

/* ---------- mini lists in section columns ---------- */

.pz-mini .wp-block-post { padding: 11px 0; border-top: 1px solid var(--wp--preset--color--line); }
.pz-mini .wp-block-post-terms {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.pz-mini .wp-block-post-terms a { color: var(--wp--preset--color--amber); }
.pz-mini .wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 14.5px;
	font-weight: 650;
	line-height: 1.35;
	margin: 3px 0 0;
}
.pz-mini .wp-block-post-title a { color: var(--wp--preset--color--ink-soft); }
.pz-mini .wp-block-post-title a:hover { color: var(--wp--preset--color--azure-ink); }

/* ---------- opinion band ---------- */

.pz-opinion-card { padding: 20px 22px; }
.pz-opinion-card .wp-block-post-title {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-style: italic;
	font-size: 18.5px;
	line-height: 1.35;
	letter-spacing: 0;
	text-wrap: balance;
	margin: 0 0 10px;
}
.pz-opinion-card::before {
	content: "\201C";
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 900;
	font-size: 30px;
	line-height: 1;
	color: var(--wp--preset--color--azure);
	margin-bottom: 2px;
}

/* ---------- footer ---------- */

.pz-footer { color: #c9d9ea; }
.pz-footer a { color: #c9d9ea; }
.pz-footer a:hover { color: #ffffff; }
.pz-footer .wp-block-heading {
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #ffffff;
}
.pz-footer p { color: #7e97b1; font-size: 13.5px; }
.pz-footer-base {
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	color: #7e97b1;
}
.pz-footer-brand {
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 116;
	font-weight: 850;
	font-size: 22px;
	text-transform: uppercase;
	color: #ffffff;
}

/* ---------- single post ---------- */

.pz-article .wp-block-post-title { font-variation-settings: "wdth" 108; }
.pz-article .wp-block-post-content {
	font-size: 18px;
	line-height: 1.65;
}
/* Bare URLs are pasted into articles constantly (sources, privacy text). Left to
 * wrap normally a 54-character link renders 498px wide and pushes the document
 * past a 375px viewport, so the whole page scrolls sideways on a phone. */
.wp-block-post-content { overflow-wrap: break-word; }
/* The article measure is set in rem, NOT ch.
 *
 * ch resolves against each element's own font-size, so a single `max-width: 68ch`
 * gave the 18px paragraphs 624px and the 26px headings 1495px — the headings then
 * clamped to the container and hung out to the left of the body text, leaving the
 * column visibly ragged. A font-size-independent unit keeps every child on the
 * same edge. 39rem is the width the paragraphs already had. */
.pz-article .wp-block-post-content > * { max-width: 39rem; margin-left: auto; margin-right: auto; }
.pz-article .wp-block-post-content > .alignwide { max-width: var(--wp--style--global--wide-size); }
.pz-article .wp-block-post-content > .alignfull { max-width: none; }

/* Per-post wide layout (editor sidebar → „Platus išdėstymas").
 *
 * The shell widens so images, tables and alignwide blocks get the room — that is
 * the point of the setting — while the text keeps a readable measure. The title
 * follows the text rather than the shell, otherwise it hangs 166px to its left.
 * These selectors are deliberately more specific than core's generated
 * .wp-container-* > * rules, which is what they override. */
body.pz-wide .pz-article > .wp-block-group > * { max-width: 1180px; }
body.pz-wide .pz-article > .wp-block-group > .wp-block-post-title,
body.pz-wide .pz-article .wp-block-post-content > * { max-width: 53rem; }
body.pz-wide .pz-article .wp-block-post-content > .alignwide { max-width: var(--wp--style--global--wide-size); }

/* ---------- legacy classic-editor content ---------- */

/* 227 of the 1618 imported posts still carry classic-editor markup from
 * musupalanga.lt: [caption] shortcodes (96), [gallery] shortcodes (69) and
 * <img> tags with four-digit width/height attributes (202). A block theme
 * styles none of it, so captions kept the inline pixel width the classic
 * editor wrote onto them and gallery images kept their width attribute. On
 * /amsterdamas-patogi-vieta-gyventi/ that put a 1170px caption and a 1260px
 * gallery image inside an 820px column and pushed the document to 1661px
 * against a 1425px viewport — the whole page scrolled sideways.
 *
 * Scoped to .wp-block-post-content rather than .pz-article so it covers
 * anywhere post content renders. The !important is unavoidable: the width
 * lives in a style attribute on the element itself. */
.wp-block-post-content img,
.wp-block-post-content video {
	max-width: 100%;
	height: auto;
}
.wp-block-post-content iframe,
.wp-block-post-content embed,
.wp-block-post-content object { max-width: 100%; }

.wp-block-post-content .wp-caption {
	width: auto !important;
	max-width: 100%;
	margin: 24px 0;
}
.wp-block-post-content .wp-caption img { width: 100%; }
.wp-block-post-content .wp-caption-text {
	margin: 8px 0 0;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--wp--preset--color--ink-soft);
}

.wp-block-post-content .gallery {
	display: grid;
	gap: 12px;
	margin: 24px 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wp-block-post-content .gallery-columns-1 { grid-template-columns: minmax(0, 1fr); }
.wp-block-post-content .gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-block-post-content .gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-post-content .gallery-item { width: auto !important; margin: 0; }
.wp-block-post-content .gallery img { display: block; width: 100%; height: auto; }
.wp-block-post-content .gallery .gallery-caption {
	margin: 6px 0 0;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--wp--preset--color--ink-soft);
}

/* 26 imported posts contain tables. Let a wide one scroll inside its own box
 * instead of widening the document. */
.wp-block-post-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 600px) {
	.wp-block-post-content .gallery { grid-template-columns: minmax(0, 1fr); }
}
body.pz-wide .pz-article .wp-block-post-content > .alignfull { max-width: none; }

/* =====================================================================
 * SINGLE POST — byline, sharing, related. Add single-post rules below.
 * ===================================================================== */

/* ---------- eyebrow + headline ---------- */

.pz-article-eyebrow {
	padding-bottom: 10px;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	margin-bottom: 14px;
}

.pz-article .pz-article-title {
	font-variation-settings: "wdth" 108;
	font-weight: 800;
	line-height: 1.06;
	text-wrap: balance;
	margin: 0;
}

/* ---------- byline row ---------- */

.pz-byline {
	gap: 14px 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.pz-byline .pz-byline-author {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-family: var(--wp--preset--font-family--heading);
	padding-inline-start: 11px;
	border-inline-start: 3px solid var(--wp--preset--color--azure);
}

.pz-byline .pz-byline-label {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--faint);
}

.pz-byline .pz-byline-name {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.005em;
	color: var(--wp--preset--color--contrast);
}

.pz-byline .pz-byline-name a { color: inherit; }
.pz-byline .pz-byline-name a:hover { color: var(--wp--preset--color--azure-ink); }

.pz-byline .pz-byline-meta {
	gap: 0 10px;
	margin-inline-start: auto;
	font-family: var(--wp--preset--font-family--heading);
}

.pz-byline .pz-byline-meta > * { margin: 0; }

.pz-byline .pz-byline-date,
.pz-byline .pz-byline-time {
	font-size: 12.5px;
	letter-spacing: .03em;
	color: var(--wp--preset--color--muted);
	font-variant-numeric: tabular-nums;
}

.pz-byline .pz-byline-time {
	position: relative;
	padding-inline-start: 11px;
	font-weight: 700;
	color: var(--wp--preset--color--azure-ink);
}

.pz-byline .pz-byline-time::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 50%;
	width: 3px;
	height: 3px;
	margin-top: -1.5px;
	border-radius: 50%;
	background: var(--wp--preset--color--line-strong);
}

/* ---------- article foot: tags + sharing ---------- */

.pz-article-foot {
	padding-top: 20px;
	border-top: 2px solid var(--wp--preset--color--contrast);
}

.pz-article-foot .pz-article-tags {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}

.pz-article-foot .pz-article-tags a {
	display: inline-block;
	margin: 0 4px 4px 0;
	padding: 4px 10px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	background: var(--wp--preset--color--card);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--wp--preset--color--ink-soft);
}

.pz-article-foot .pz-article-tags a:hover {
	border-color: var(--wp--preset--color--azure);
	background: var(--wp--preset--color--foam);
	color: var(--wp--preset--color--azure-ink);
}

.pz-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
}

.pz-share-label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--faint);
}

.pz-share-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pz-share-item { margin: 0; }

.pz-share-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px 7px 12px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	background: var(--wp--preset--color--card);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .01em;
	color: var(--wp--preset--color--ink-soft);
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.pz-share-link:hover,
.pz-share-link:focus-visible {
	border-color: var(--wp--preset--color--azure);
	background: var(--wp--preset--color--azure);
	color: #ffffff;
}

.pz-share-icon {
	flex: none;
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--azure-ink);
}

.pz-share-link:hover .pz-share-icon,
.pz-share-link:focus-visible .pz-share-icon { color: #ffffff; }

@media (prefers-reduced-motion: reduce) {
	.pz-share-link { transition: none; }
}

/* ---------- previous / next ---------- */

.pz-postnav {
	gap: 16px;
	align-items: stretch;
}

.pz-postnav .wp-block-post-navigation-link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	flex: 1 1 240px;
	min-width: 0;
	margin: 0;
	padding: 13px 16px;
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(14, 42, 71, .06), 0 8px 24px -12px rgba(14, 42, 71, .12);
	font-family: var(--wp--preset--font-family--heading);
}

.pz-postnav .wp-block-post-navigation-link a {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	flex: 1 1 auto;
	color: inherit;
}

.pz-postnav .pz-postnav-next { text-align: right; }
.pz-postnav .pz-postnav-next a { align-items: flex-end; }

/*
 * Core still prints the wrapper div when there is no adjacent post, so the
 * newest and oldest articles would otherwise show an empty card.
 */
.pz-postnav .wp-block-post-navigation-link:empty { display: none; }

.pz-postnav .post-navigation-link__label {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--faint);
}

.pz-postnav .post-navigation-link__title {
	font-size: 15px;
	font-weight: 650;
	letter-spacing: -.005em;
	line-height: 1.3;
	color: var(--wp--preset--color--ink-soft);
	text-wrap: balance;
}

.pz-postnav .wp-block-post-navigation-link a:hover .post-navigation-link__title {
	color: var(--wp--preset--color--azure-ink);
}

.pz-postnav [class*="post-navigation-link__arrow-"] {
	flex: none;
	margin-top: 1px;
	font-size: 17px;
	line-height: 1;
	font-weight: 800;
	color: var(--wp--preset--color--azure);
}

/* ---------- related articles ---------- */

.pz-related { margin-top: 40px; }

.pz-related .pz-related-head { margin-bottom: 18px; }

.pz-related .pz-related-head h2 {
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 112;
	font-weight: 800;
	font-size: 17px;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	margin: 0;
}

.pz-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pz-related-item { margin: 0; }

.pz-related-link {
	display: flex;
	flex-direction: column;
	gap: 9px;
	height: 100%;
	color: inherit;
}

.pz-related-media {
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--foam);
	aspect-ratio: 3 / 2;
}

.pz-related-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.pz-related-link:hover .pz-related-media img { transform: scale(1.03); }

@media (prefers-reduced-motion: reduce) {
	.pz-related-media img,
	.pz-related-link:hover .pz-related-media img { transition: none; transform: none; }
}

.pz-related-media.is-empty {
	background: linear-gradient(150deg, var(--wp--preset--color--foam), var(--wp--preset--color--line));
}

.pz-related-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pz-related-kicker {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--azure-ink);
}

.pz-related-title {
	font-family: var(--wp--preset--font-family--heading);
	font-variation-settings: "wdth" 104;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -.005em;
	color: var(--wp--preset--color--contrast);
	text-wrap: balance;
}

.pz-related-link:hover .pz-related-title { color: var(--wp--preset--color--azure-ink); }

.pz-related-date {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	letter-spacing: .03em;
	color: var(--wp--preset--color--muted);
	font-variant-numeric: tabular-nums;
}

/* ---------- comments ---------- */

.pz-comments {
	margin-top: 44px;
	padding-top: 20px;
	border-top: 2px solid var(--wp--preset--color--contrast);
}

.pz-comments .wp-block-comments-title {
	font-variation-settings: "wdth" 108;
	font-size: 17px;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.pz-comments .wp-block-comment-template > li {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.pz-comments .wp-block-comment-template > li:last-child { border-bottom: 0; }

.pz-comments .wp-block-comment-author-name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}

.pz-comments .wp-block-comment-date,
.pz-comments .wp-block-comment-reply-link {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12.5px;
	color: var(--wp--preset--color--muted);
}

.pz-comments .wp-block-comment-reply-link a { color: var(--wp--preset--color--azure-ink); }

/* ---------- narrow screens ---------- */

@media (max-width: 781px) {
	.pz-byline .pz-byline-meta { margin-inline-start: 0; flex-basis: 100%; }
	.pz-postnav .pz-postnav-next { text-align: left; }
	.pz-postnav .pz-postnav-next a { align-items: flex-start; }
}

@media (max-width: 640px) {
	.pz-related-grid { grid-template-columns: 1fr; gap: 0; }

	.pz-related-item + .pz-related-item {
		margin-top: 14px;
		padding-top: 14px;
		border-top: 1px solid var(--wp--preset--color--line);
	}

	.pz-related-link {
		flex-direction: row;
		align-items: flex-start;
		gap: 14px;
	}

	.pz-related-media {
		flex: none;
		width: 108px;
		aspect-ratio: 4 / 3;
	}

	.pz-related-body { flex: 1 1 auto; min-width: 0; }

	.pz-share-link { padding: 7px 12px 7px 11px; font-size: 12.5px; }
}

/* =====================================================================
 * ARCHIVE — rubric pages. Add archive rules below.
 * ===================================================================== */

/* ---------- archive head: rubric name + term description ---------- */

.pz-archive-head .wp-block-term-description {
	margin: 12px 0 2px;
	max-width: 70ch;
	font-size: 16.5px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}
.pz-archive-head .wp-block-term-description > * { margin-top: 0; margin-bottom: 8px; }
.pz-archive-head .wp-block-term-description > *:last-child { margin-bottom: 0; }
.pz-archive-head .wp-block-term-description a {
	color: var(--wp--preset--color--azure-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------- listing grid ---------- */

/* Column count comes from the block itself; only the rhythm is set here. */
.pz-archive .wp-block-post-template.is-layout-grid { gap: 30px 28px; }

.pz-archive .wp-block-post-template > .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin: 0;
}

.pz-archive .pz-archive-body {
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.pz-archive .pz-archive-body > * { margin-top: 0; margin-bottom: 0; }

.pz-archive .pz-archive-meta {
	align-items: baseline;
	gap: 0 10px;
	row-gap: 2px;
}
.pz-archive .pz-archive-meta .wp-block-post-date {
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--wp--preset--color--muted);
}
/* Category pages already say the rubric in the H1 — drop the repeated kicker,
   but keep it on tag / author / date archives where it carries information. */
body.category .pz-archive .pz-archive-meta .wp-block-post-terms { display: none; }
.pz-archive .pz-archive-meta .wp-block-post-terms + .wp-block-post-date::before {
	content: "\2022";
	margin-right: 10px;
	color: var(--wp--preset--color--faint);
}
body.category .pz-archive .pz-archive-meta .wp-block-post-terms + .wp-block-post-date::before { content: none; }

/* Excerpts belong to the lead story only. */
.pz-archive .wp-block-post-template > .wp-block-post:not(:first-child) .wp-block-post-excerpt { display: none; }

/* ---------- lead story: first item spans the grid ---------- */

.pz-archive .wp-block-post-template > .wp-block-post:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	align-items: center;
	gap: 18px 32px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.pz-archive .wp-block-post-template > .wp-block-post:first-child .pz-archive-body { gap: 10px; }
/* The lead runs wider than a card, so a wider crop keeps it from towering. */
.pz-archive .wp-block-post-template > .wp-block-post:first-child .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9 !important;
}
.pz-archive .wp-block-post-template > .wp-block-post:first-child .wp-block-post-title {
	font-variation-settings: "wdth" 110;
	font-weight: 800;
	font-size: clamp(24px, 2.5vw, 31px);
	line-height: 1.1;
	letter-spacing: -.015em;
	text-wrap: balance;
	margin: 2px 0 0;
}
.pz-archive .wp-block-post-template > .wp-block-post:first-child .wp-block-post-excerpt__excerpt {
	font-size: 17px;
	font-weight: 340;
	line-height: 1.55;
	/* Fills the card's text column — see the note on .pz-lead's excerpt. */
	color: var(--wp--preset--color--ink-soft);
}
.pz-archive .wp-block-post-template > .wp-block-post:first-child .wp-block-post-excerpt {
	margin-top: 2px;
}

/* ---------- pagination ---------- */

.pz-archive .wp-block-query-pagination {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 24px;
	gap: 8px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.pz-archive .wp-block-query-pagination-numbers { display: flex; gap: 6px; }
.pz-archive .wp-block-query-pagination a,
.pz-archive .wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	color: var(--wp--preset--color--ink-soft);
	font-variant-numeric: tabular-nums;
	margin: 0;
}
.pz-archive .wp-block-query-pagination a:hover {
	border-color: var(--wp--preset--color--azure);
	background: var(--wp--preset--color--foam);
	color: var(--wp--preset--color--azure-ink);
}
.pz-archive .wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #ffffff;
}
.pz-archive .wp-block-query-pagination .page-numbers.dots {
	border-color: transparent;
	padding: 0 2px;
	min-width: 0;
	color: var(--wp--preset--color--faint);
}

/* ---------- narrower viewports ---------- */

@media (max-width: 1000px) {
	.pz-archive .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
	.pz-archive .wp-block-post-template > .wp-block-post:first-child {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 12px;
		padding-bottom: 26px;
	}
}

@media (max-width: 600px) {
	.pz-archive .wp-block-post-template.is-layout-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}
	.pz-archive .wp-block-post-template > .wp-block-post:first-child .wp-block-post-excerpt__excerpt { font-size: 16px; }
	.pz-archive .wp-block-query-pagination { font-size: 12px; }
	.pz-archive .wp-block-query-pagination a,
	.pz-archive .wp-block-query-pagination .page-numbers { min-width: 34px; height: 34px; padding: 0 10px; }
}
