/*
 * Muzeu Dioqezan, v5 "Light".
 * White pages, warm grey tiles, arch-cropped photos, and colour that carries meaning
 * (the timeline, the 38 martyrs, the visit route). Newsreader for display, Public Sans for text.
 * Every section controls its own spacing (gap), so WordPress's block margins are reset first.
 */

:root {
	--mz-white: #FFFFFF;
	--mz-tile: #F4F1EC;
	--mz-tile-2: #EAE4DB;
	--mz-line: #E2DCD3;
	--mz-ink: #16130F;
	--mz-ink-2: #4B443C;
	--mz-muted: #6E665C;
	--mz-terra: #A8461F;
	--mz-terra-d: #7E3216;
	--mz-peach: #F0B79A;
	--mz-night: #0E0C0A;
	--mz-night-2: #1C1916;
	--mz-on-night: #F3EEE6;
	--mz-on-night-2: #B9AFA2;
	--mz-open: #2F6B3A;
	--mz-open-bg: #EEF4EF;
	--mz-open-ink: #1F4D2A;
	--mz-open-night: #7FC28A;
	--mz-amber: #C08A1E;
	--mz-gold: #B7862B;
	--mz-blue: #3F6E8C;
	--mz-brown: #9C7A54;
	--mz-slate: #5E6B73;
	--mz-amber-bg: #FBF1DE;
	--mz-amber-ink: #6B4A0C;
	--mz-max: 1320px;
	--mz-g: clamp(20px, 3.4vw, 40px);
	--mz-sec: clamp(88px, 10vw, 140px);
	--mz-h2: clamp(36px, 4vw, 56px);
	--mz-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--mz-serif: var(--wp--preset--font-family--newsreader);
	--mz-shadow: 0 30px 80px -40px rgba(14, 12, 10, 0.45);
}

html {
	scroll-padding-top: 104px;
}

body {
	background: var(--mz-white);
	color: var(--mz-ink);
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ---------- Resets: sections space themselves ---------- */

body .wp-site-blocks > * {
	margin-block: 0;
}

body .mz-main :where(.wp-block-post-content, .wp-block-group, .wp-block-buttons, .wp-block-details) > * {
	margin-block: 0;
}

body .mz-main figure.wp-block-image {
	margin: 0;
}

.mz-main img {
	display: block;
}

.mz-main {
	padding-top: 0;
}

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 2px solid var(--mz-terra);
	outline-offset: 3px;
	border-radius: 6px;
}

/* ---------- Type ---------- */

.mz-sec,
.mz-hero,
.mz-today,
.mz-header__bar,
.mz-foot {
	width: min(100% - 2 * var(--mz-g), var(--mz-max));
	margin-inline: auto;
	box-sizing: border-box;
}

.mz-sec {
	padding-top: var(--mz-sec);
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mz-last {
	padding-bottom: var(--mz-sec);
}

.mz-eyebrow {
	font-size: 16px;
	font-weight: 600;
	color: var(--mz-terra);
}

.mz-main h2.wp-block-heading {
	font-size: var(--mz-h2);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.mz-main h3.wp-block-heading {
	font-size: clamp(22px, 2vw, 26px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.mz-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 760px;
}

.mz-head--row {
	max-width: none;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}

.mz-head__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mz-head__aside {
	max-width: 26em;
	font-size: 18px;
	color: var(--mz-ink-2);
}

.mz-note {
	font-size: 15px;
	color: var(--mz-muted);
	max-width: 62em;
}

/* ---------- Buttons ---------- */

.mz-main .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.mz-main .wp-block-button__link,
.mz-book,
.mz-sticky a,
.mz-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 26px;
	border: 0;
	border-radius: 16px;
	background: var(--mz-ink);
	color: var(--mz-white);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s var(--mz-ease), background-color 0.2s, box-shadow 0.2s;
}

.mz-main .wp-block-button__link:hover,
.mz-book:hover,
.mz-sticky a:hover {
	background: #000000;
	color: var(--mz-white);
}

@media (hover: hover) {
	.mz-main .wp-block-button__link:hover,
	.mz-book:hover,
	.mz-submit:hover {
		transform: translateY(-1px);
	}
}

.mz-main .wp-block-button__link:active,
.mz-book:active,
.mz-sticky a:active,
.mz-submit:active {
	transform: scale(0.98);
}

.mz-main .wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--mz-tile);
	color: var(--mz-ink);
	border: 0;
	padding: 0 26px;
}

.mz-main .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--mz-tile-2);
}

/* ---------- Header: a white bar that stays at the top ---------- */

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	backdrop-filter: blur(20px) saturate(1.4);
	transition: box-shadow 0.3s;
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}

.mz-header.is-scrolled {
	box-shadow: 0 10px 30px -22px rgba(14, 12, 10, 0.45);
}

.wp-site-blocks > header.wp-block-template-part:has(.mz-header.is-scrolled) {
	box-shadow: 0 1px 0 rgba(22, 19, 15, 0.06), 0 12px 30px -24px rgba(14, 12, 10, 0.4);
}

.mz-header__bar {
	position: relative;
	height: 88px;
	display: flex;
	align-items: center;
	gap: 36px;
}

.mz-header .mz-logo {
	flex: none;
	margin: 0;
}

.mz-header .mz-logo img {
	display: block;
	height: 56px;
	width: auto;
}

.mz-header-nav {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 22px;
}

.mz-nav {
	display: flex;
	gap: 28px;
	margin-right: auto;
	font-size: 15px;
	font-weight: 600;
}

.mz-nav a {
	position: relative;
	padding: 8px 0;
	color: var(--mz-ink);
	text-decoration: none;
	white-space: nowrap;
}

.mz-nav a:hover {
	color: var(--mz-terra);
}

.mz-nav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	border-radius: 2px;
	background: var(--mz-terra);
}

.mz-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	background: var(--mz-tile);
	color: var(--mz-ink-2);
}

.mz-pill.is-open {
	background: var(--mz-open-bg);
	color: var(--mz-open-ink);
}

.mz-pill.is-closing {
	background: var(--mz-amber-bg);
	color: var(--mz-amber-ink);
}

.mz-pill:hover {
	color: var(--mz-ink);
}

.mz-dot {
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: 50%;
	background: var(--mz-terra);
}

.is-open .mz-dot {
	background: var(--mz-open);
}

.is-closing .mz-dot {
	background: var(--mz-amber);
}

.mz-langs {
	display: flex;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
}

.mz-langs a {
	color: var(--mz-muted);
	text-decoration: none;
}

.mz-langs a:hover,
.mz-langs a[aria-current] {
	color: var(--mz-ink);
}

.mz-book {
	min-height: 46px;
	padding: 0 20px;
	border-radius: 14px;
	font-size: 15px;
	white-space: nowrap;
}

.mz-menu {
	display: none;
}

.mz-menu summary {
	list-style: none;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--mz-tile);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.mz-menu summary::-webkit-details-marker {
	display: none;
}

.mz-menu__icon,
.mz-menu__icon::before {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 2px;
	background: var(--mz-ink);
	transition: transform 0.3s var(--mz-ease);
}

.mz-menu__icon {
	transform: translateY(-4px);
}

.mz-menu__icon::before {
	content: "";
	transform: translateY(8px);
}

.mz-menu[open] .mz-menu__icon {
	transform: rotate(45deg);
}

.mz-menu[open] .mz-menu__icon::before {
	transform: rotate(-90deg);
}

.mz-menu__panel {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	padding: 10px 10px 16px;
	border-radius: 22px;
	background: var(--mz-white);
	box-shadow: 0 24px 60px -24px rgba(14, 12, 10, 0.5);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mz-menu__panel nav {
	display: flex;
	flex-direction: column;
}

.mz-menu__panel nav a {
	padding: 12px;
	border-radius: 14px;
	font-family: var(--mz-serif);
	font-size: 24px;
	font-weight: 500;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-menu__panel nav a[aria-current="page"] {
	background: var(--mz-tile);
}

.mz-menu__panel .mz-book {
	min-height: 52px;
}

.mz-menu__panel .mz-langs {
	justify-content: center;
	gap: 22px;
	font-size: 15px;
	padding-top: 4px;
}

@media (max-width: 1099px) {
	.mz-header__bar {
		height: 72px;
		gap: 8px;
	}
	.mz-header .mz-logo img {
		height: 46px;
	}
	.mz-header-nav {
		justify-content: flex-end;
		gap: 8px;
	}
	.mz-header-nav > .mz-nav,
	.mz-header-nav > .mz-langs,
	.mz-header-nav > .mz-book {
		display: none;
	}
	.mz-menu {
		display: block;
	}
}

@media (max-width: 600px) {
	.mz-pill {
		height: 32px;
		padding: 0 11px;
		font-size: 13px;
		gap: 6px;
	}
	.mz-pill__more {
		display: none;
	}
}

/* ---------- Hero: words on the left, arches on the right ---------- */

.mz-hero {
	padding-top: clamp(24px, 4vw, 40px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
	gap: clamp(40px, 4.5vw, 64px);
	align-items: center;
}

.mz-hero__text {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.mz-main h1.mz-hero__title {
	font-size: clamp(46px, 5.6vw, 80px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.03em;
}

.mz-hero__title em {
	font-weight: 400;
	color: var(--mz-terra);
}

.mz-hero__lead {
	max-width: 30em;
	font-size: clamp(17px, 1.4vw, 20px);
	line-height: 1.5;
	color: var(--mz-ink-2);
}

.mz-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	padding-top: 6px;
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-hero__facts span + span {
	position: relative;
}

.mz-hero__facts span + span::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 50%;
	width: 1px;
	height: 14px;
	transform: translateY(-50%);
	background: var(--mz-tile-2);
}

.mz-hero__art {
	position: relative;
	height: 700px;
}

.mz-hero--page .mz-hero__art {
	height: 600px;
}

.mz-main .mz-arch {
	overflow: hidden;
	border-radius: 999px 999px 28px 28px;
	background: var(--mz-tile);
}

.mz-main .mz-arch img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--mz-ease);
}

.mz-main .mz-hero__art .mz-arch--big {
	position: absolute;
	right: 0;
	top: 0;
	width: 85%;
	height: 94%;
}

.mz-main .mz-hero--page .mz-hero__art .mz-arch--big {
	width: 100%;
	height: 100%;
}

.mz-main .mz-hero__art .mz-arch--small {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 38%;
	height: 40%;
	box-shadow: 0 0 0 10px var(--mz-white);
}

.mz-main .mz-arch--big img {
	object-position: 30% center;
}

.mz-main .mz-arch--small img {
	object-position: center 35%;
}

.mz-hero__label {
	position: absolute;
	right: 24px;
	bottom: 64px;
	padding: 14px 18px;
	border-radius: 18px;
	background: var(--mz-white);
	box-shadow: 0 18px 40px -20px rgba(14, 12, 10, 0.45);
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 14px;
	line-height: 1.35;
}

.mz-hero--page .mz-hero__label {
	bottom: 24px;
}

.mz-hero__label span:first-child {
	font-family: var(--mz-serif);
	font-size: 30px;
	line-height: 1;
	color: var(--mz-terra);
}

.mz-hero__label em {
	font-style: normal;
	color: var(--mz-muted);
}

@media (max-width: 899px) {
	.mz-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-top: 12px;
	}
	.mz-hero__text {
		gap: 16px;
	}
	.mz-hero__art,
	.mz-hero--page .mz-hero__art {
		height: 470px;
	}
	.mz-hero--page .mz-hero__art {
		height: 420px;
	}
	.mz-main .mz-hero__art .mz-arch--big {
		width: 78%;
		height: 92%;
	}
	.mz-main .mz-hero__art .mz-arch--small {
		width: 34%;
		height: 38%;
		box-shadow: 0 0 0 8px var(--mz-white);
	}
	.mz-hero__label {
		right: 12px;
		bottom: 56px;
		padding: 10px 14px;
		font-size: 13px;
	}
	.mz-hero__label span:first-child {
		font-size: 24px;
	}
	.mz-hero__facts {
		display: none;
	}
}

@media (max-width: 599px) {
	.mz-hero .wp-block-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.mz-hero .wp-block-button__link {
		width: 100%;
		padding: 0 12px !important;
		min-height: 52px;
		font-size: 15px;
	}
}

/* ---------- Today: white cells on one grey tile (muzeu/today) ---------- */

.mz-today {
	padding-top: clamp(40px, 5vw, 72px);
}

.mz-today__panel {
	padding: 10px;
	border-radius: 30px;
	background: var(--mz-tile);
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 10px;
}

.mz-today__status,
.mz-today__tile {
	position: relative;
	padding: 24px 26px;
	border-radius: 22px;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-today__status {
	gap: 12px;
}

.mz-today__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--mz-terra-d);
}

.mz-today__status.is-open .mz-today__label {
	color: var(--mz-open-ink);
}

.mz-today__status.is-closing .mz-today__label {
	color: var(--mz-amber-ink);
}

.mz-today__big {
	font-family: var(--mz-serif);
	font-size: 40px;
	font-weight: 500;
	line-height: 1;
}

.mz-today__big.is-long {
	font-size: 30px;
	line-height: 1.1;
}

.mz-meter {
	position: relative;
	height: 8px;
	border-radius: 999px;
	background: var(--mz-tile-2);
	overflow: hidden;
}

.mz-meter span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: var(--p);
	border-radius: 999px;
	background: var(--mz-open);
	transform-origin: left center;
}

.is-closing .mz-meter span {
	background: var(--mz-amber);
}

.mz-meter__legend {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
	color: var(--mz-muted);
}

.mz-today__tile {
	justify-content: space-between;
}

.mz-today__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	justify-content: space-between;
}

.mz-today__k {
	font-size: 15px;
	font-weight: 600;
	color: var(--mz-muted);
}

.mz-today__v {
	font-family: var(--mz-serif);
	font-size: clamp(28px, 2.5vw, 36px);
	font-weight: 500;
	line-height: 1.05;
	white-space: nowrap;
}

.mz-today__s {
	font-size: 14px;
	color: var(--mz-ink-2);
}

a.mz-today__s {
	font-weight: 700;
	color: var(--mz-terra);
	text-decoration: none;
}

.mz-ring {
	display: none;
}

@media (max-width: 1099px) {
	.mz-today__panel {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.mz-today__status {
		grid-column: 1 / -1;
	}
}

@media (max-width: 699px) {
	.mz-today__panel {
		padding: 8px;
		gap: 8px;
		border-radius: 26px;
	}
	.mz-today__status {
		padding: 18px 20px;
		border-radius: 20px;
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: baseline;
		gap: 10px 12px;
	}
	.mz-today__big {
		font-size: 30px;
		text-align: right;
	}
	.mz-today__big.is-long {
		grid-column: 1 / -1;
		text-align: left;
		font-size: 24px;
	}
	.mz-meter,
	.mz-meter__legend {
		grid-column: 1 / -1;
	}
	.mz-meter__legend {
		font-size: 12px;
	}
	.mz-today__tile {
		padding: 14px;
		border-radius: 18px;
	}
	.mz-today__text {
		gap: 2px;
	}
	.mz-today__k,
	.mz-today__s {
		font-size: 12px;
	}
	.mz-today__v {
		font-size: 19px;
		line-height: 1.15;
	}
}

/* ---------- Panels: one big grey tile per section ---------- */

.mz-panel {
	padding: clamp(28px, 4.5vw, 64px);
	border-radius: 34px;
	background: var(--mz-tile);
	display: flex;
	flex-direction: column;
	gap: clamp(22px, 3.4vw, 44px);
}

@media (max-width: 699px) {
	.mz-panel {
		padding: 28px 22px;
		border-radius: 28px;
	}
}

/* ---------- The story: a colour-coded timeline ---------- */

.mz-c1 { --c: var(--mz-terra); }
.mz-c2 { --c: var(--mz-gold); }
.mz-c3 { --c: var(--mz-blue); }
.mz-c4 { --c: var(--mz-open); }
.mz-cink { --c: var(--mz-ink); }
.mz-cslate { --c: var(--mz-slate); }

.mz-tl {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.mz-tl::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 9px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--mz-terra) 0 25%, var(--mz-gold) 25% 50%, var(--mz-blue) 50% 75%, var(--mz-open) 75% 100%);
}

.mz-tl__item {
	position: relative;
	padding-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mz-tl__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mz-white);
	box-shadow: inset 0 0 0 6px var(--c);
}

.mz-tl__year {
	font-family: var(--mz-serif);
	font-size: clamp(52px, 4.6vw, 64px);
	line-height: 0.95;
	letter-spacing: -0.03em;
	color: var(--c);
}

.mz-main .mz-tl__item h3.wp-block-heading {
	font-size: 24px;
}

.mz-tl__item > p:not(.mz-tl__year) {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-main .mz-tl__item .mz-arch {
	height: 360px;
	margin-top: auto !important;
}

@media (max-width: 899px) {
	.mz-tl {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
		padding-left: 34px;
	}
	.mz-tl::before {
		left: 9px;
		right: auto;
		top: 8px;
		bottom: 8px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--mz-terra) 0 25%, var(--mz-gold) 25% 50%, var(--mz-blue) 50% 75%, var(--mz-open) 75% 100%);
	}
	.mz-tl__item {
		padding-top: 0;
		gap: 8px;
	}
	.mz-tl__item::before {
		left: -34px;
		top: 12px;
	}
	.mz-main .mz-tl__item .mz-arch {
		height: 260px;
	}
}

/* Eight moments in two rows (Collection): each item draws its own piece of the line. */
.mz-tl--long {
	row-gap: 56px;
}

.mz-tl--long::before {
	display: none;
}

.mz-tl--long .mz-tl__item::after {
	content: "";
	position: absolute;
	left: 0;
	right: -24px;
	top: 9px;
	height: 4px;
	border-radius: 999px;
	background: var(--c);
}

.mz-tl--long .mz-tl__item:nth-child(4n)::after {
	right: 0;
}

.mz-tl--long .mz-tl__item::before {
	z-index: 1;
}

@media (max-width: 899px) {
	.mz-tl--long {
		row-gap: 36px;
	}
	.mz-tl--long::before {
		display: block;
		background: linear-gradient(180deg, var(--mz-terra), var(--mz-gold), var(--mz-blue), var(--mz-open));
	}
	.mz-tl--long .mz-tl__item::after {
		display: none;
	}
}

/* ---------- The 38 martyrs: 38 coloured dots (muzeu/martyrs-38) ---------- */

.mz-martyrs {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.mz-martyrs__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mz-martyrs__text > p:not(.mz-eyebrow) {
	font-size: 18px;
	color: var(--mz-ink-2);
}

.mz-38 {
	padding: clamp(20px, 3vw, 40px);
	border-radius: 26px;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.mz-38__dots {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: clamp(9px, 1.2vw, 16px);
}

.mz-38__dots span {
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--c);
}

.mz-38__legend {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-38__legend li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mz-38__legend strong {
	color: var(--mz-ink);
}

.mz-38__sw {
	width: 14px;
	height: 14px;
	flex: none;
	border-radius: 50%;
	background: var(--c);
}

@media (max-width: 899px) {
	.mz-martyrs {
		grid-template-columns: minmax(0, 1fr);
	}
	.mz-38__legend {
		font-size: 14px;
		gap: 8px 14px;
	}
}

/* ---------- Objects: a grid of museum labels ---------- */

.mz-objects {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.mz-object {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mz-main .mz-object .wp-block-image {
	aspect-ratio: 4 / 5;
	border-radius: 26px;
	overflow: hidden;
	background: var(--mz-tile);
}

.mz-main .mz-object img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--mz-ease);
}

@media (hover: hover) {
	.mz-main .mz-object:hover img,
	.mz-main .mz-theme:hover img {
		transform: scale(1.04);
	}
}

.mz-object__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 4px;
}

.mz-object__meta p {
	font-size: 15px;
	color: var(--mz-muted);
}

@media (max-width: 899px) {
	.mz-objects {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}
	.mz-main .mz-object .wp-block-image {
		border-radius: 20px;
	}
	.mz-main .mz-object h3.wp-block-heading {
		font-size: 19px;
	}
	.mz-object__meta p {
		font-size: 13px;
	}
}

/* ---------- Your visit: a route through the two floors ---------- */

.mz-route {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.mz-route::before {
	content: "";
	position: absolute;
	left: 11px;
	right: 25%;
	top: 41px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--mz-ink) 0 36%, var(--mz-blue) 36% 70%, var(--mz-terra) 70% 100%);
}

.mz-stop {
	position: relative;
	padding-top: 72px;
	display: flex;
	flex-direction: column;
}

.mz-stop::before {
	content: "";
	position: absolute;
	left: 0;
	top: 32px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: 0 0 0 5px var(--mz-tile);
}

.mz-stop--guide::before {
	display: none;
}

.mz-stop__time {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--c);
}

.mz-stop--guide .mz-stop__time {
	color: var(--mz-muted);
}

.mz-stop__card {
	flex: 1;
	padding: 22px;
	border-radius: 22px;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-stop__floor {
	font-size: 13px;
	font-weight: 700;
	color: var(--c);
}

.mz-main .mz-stop h3.wp-block-heading {
	font-size: 24px;
}

.mz-stop__card > p:not(.mz-stop__floor) {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-stop--guide .mz-stop__card {
	background: var(--mz-ink);
	color: var(--mz-on-night);
}

.mz-main .mz-stop--guide h3.wp-block-heading {
	color: var(--mz-on-night);
}

.mz-stop--guide .mz-stop__card > p:not(.mz-stop__floor) {
	color: var(--mz-on-night-2);
}

.mz-stop--guide .mz-stop__card a {
	margin-top: auto;
	font-weight: 700;
	color: var(--mz-peach);
	text-decoration: none;
}

@media (max-width: 899px) {
	.mz-route {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		padding-left: 32px;
	}
	.mz-route::before {
		left: 9px;
		right: auto;
		top: 22px;
		bottom: 150px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--mz-ink) 0 33%, var(--mz-blue) 33% 66%, var(--mz-terra) 66% 100%);
	}
	.mz-stop {
		padding-top: 0;
	}
	.mz-stop::before {
		left: -32px;
		top: 18px;
		box-shadow: 0 0 0 4px var(--mz-tile);
	}
	.mz-stop__time {
		position: static;
		display: none;
	}
	.mz-stop--guide {
		margin-left: -32px;
	}
	.mz-stop__card {
		padding: 16px 18px;
		border-radius: 18px;
	}
	.mz-main .mz-stop h3.wp-block-heading {
		font-size: 20px;
	}
	.mz-stop__card > p:not(.mz-stop__floor) {
		font-size: 14px;
	}
}

/* ---------- Find us ---------- */

.mz-find {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: 20px;
}

.mz-find__map {
	position: relative;
	height: 500px;
	border-radius: 26px;
	overflow: hidden;
	isolation: isolate;
	background: #EFEBE4;
}

.mz-find__map .mz-mapbox {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.mz-mapbox > a {
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.mz-find__map .leaflet-container {
	background: #EFEBE4;
	font-family: inherit;
}

.mz-find__map .leaflet-tile-pane {
	filter: grayscale(0.9) sepia(0.12) brightness(1.05) contrast(0.9);
}

.mz-find__map .leaflet-control-zoom {
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 24px -12px rgba(0, 0, 0, 0.4);
	margin: 16px 0 0 16px;
}

.mz-find__map .leaflet-control-zoom a {
	width: 40px;
	height: 40px;
	line-height: 40px;
	border: 0;
	color: var(--mz-ink);
}

.mz-find__map .wp-block-buttons {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 1000;
	gap: 10px;
}

.mz-main .mz-find__map .wp-block-button > .wp-block-button__link {
	min-height: 52px;
	padding: 0 22px;
	border-radius: 14px;
	box-shadow: 0 10px 28px -14px rgba(0, 0, 0, 0.5);
}

.mz-main .mz-find__map .wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--mz-white);
}

.mz-pin {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mz-pin span {
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mz-terra);
	border: 4px solid var(--mz-white);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.mz-pop .leaflet-popup-content-wrapper {
	border-radius: 12px;
	background: var(--mz-ink);
	color: var(--mz-white);
}

.mz-pop .leaflet-popup-tip {
	background: var(--mz-ink);
}

.mz-pop .leaflet-popup-content {
	margin: 8px 14px;
	font-size: 14px;
}

.mz-find__photo {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mz-main .mz-find__photo .mz-arch {
	flex: 1;
	min-height: 0;
}

.mz-main .mz-find__photo .mz-arch img {
	object-position: 25% center;
}

.mz-find__caption {
	padding: 0 6px;
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-find__caption strong {
	color: var(--mz-ink);
}

@media (max-width: 899px) {
	.mz-find {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.mz-find__map {
		height: 320px;
		border-radius: 22px;
	}
	.mz-main .mz-find__photo .mz-arch {
		flex: none;
		height: 300px;
	}
	.mz-find__map .wp-block-buttons {
		left: 12px;
		right: 12px;
		bottom: 12px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	.mz-main .mz-find__map .wp-block-button > .wp-block-button__link {
		width: 100%;
		min-height: 48px;
		padding: 0 10px;
		font-size: 15px;
		white-space: nowrap;
	}
	.mz-find__caption {
		font-size: 14px;
	}
}

/* ---------- Feature: text beside an arch (closing call, Lin Delija, section XIV) ---------- */

.mz-feature {
	border-radius: 34px;
	background: var(--mz-tile);
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	align-items: center;
}

.mz-feature__copy {
	padding: clamp(28px, 4.5vw, 64px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mz-feature__copy > p:not(.mz-eyebrow):not(.mz-statusline) {
	font-size: 18px;
	color: var(--mz-ink-2);
	max-width: 34em;
}

.mz-main .mz-feature h2.wp-block-heading {
	font-size: clamp(38px, 4.6vw, 64px);
}

.mz-main .mz-feature .mz-arch {
	height: 420px;
	margin: 28px 28px 0 0;
	align-self: end;
	border-radius: 999px 999px 0 0;
}

.mz-main .mz-feature .wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--mz-white);
}

.mz-statusline {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 600;
	color: var(--mz-terra-d);
}

.mz-statusline.is-open {
	color: var(--mz-open-ink);
}

@media (max-width: 899px) {
	.mz-feature {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 28px;
	}
	.mz-feature__copy {
		padding: 28px 22px 22px;
		gap: 14px;
	}
	.mz-main .mz-feature .mz-arch {
		height: 240px;
		margin: 0 40px;
	}
}

@media (max-width: 599px) {
	.mz-feature .wp-block-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.mz-feature .wp-block-button__link {
		width: 100%;
		padding: 0 10px !important;
		font-size: 15px;
	}
}

/* ---------- Collection: floors and themes; About: split text ---------- */

.mz-floor {
	--c: var(--mz-blue);
}

.mz-floor + .mz-floor {
	--c: var(--mz-terra);
}

.mz-floor .mz-eyebrow {
	color: var(--c);
}

.mz-floor .mz-tile__big {
	color: var(--c);
}

.mz-floor em {
	color: var(--mz-muted);
}

.mz-themes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.mz-theme {
	border-radius: 26px;
	background: var(--mz-tile);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.mz-main .mz-theme .wp-block-image,
.mz-theme__art {
	height: 260px;
	overflow: hidden;
}

.mz-main .mz-theme img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--mz-ease);
}

.mz-theme__art {
	background: var(--mz-tile-2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mz-serif);
	font-size: 120px;
	line-height: 1;
	color: var(--mz-terra);
}

.mz-theme__body {
	padding: 24px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-theme__body p {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-theme__body em {
	font-size: 14px;
	color: var(--mz-muted);
}

.mz-split {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}

.mz-split__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
	font-size: 18px;
	color: var(--mz-ink-2);
}

.mz-people {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.mz-person {
	padding: 20px 22px;
	border-radius: 20px;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mz-person p:first-child {
	font-size: 13px;
	font-weight: 700;
	color: var(--mz-muted);
}

.mz-person p:last-child {
	font-family: var(--mz-serif);
	font-size: 21px;
	color: var(--mz-ink);
}

.mz-profile .mz-tile__big {
	font-size: 40px;
	color: var(--c);
}

.mz-profile .mz-role {
	font-size: 14px;
	font-weight: 700;
	color: var(--mz-muted);
}

@media (max-width: 899px) {
	.mz-themes,
	.mz-people {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.mz-theme {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		align-items: center;
		gap: 14px;
		padding: 10px;
		border-radius: 22px;
	}
	.mz-main .mz-theme .wp-block-image,
	.mz-theme__art {
		width: 96px;
		height: 96px;
		border-radius: 16px;
	}
	.mz-theme__art {
		font-size: 56px;
	}
	.mz-theme__body {
		padding: 0 8px 0 0;
		gap: 2px;
	}
	.mz-main .mz-theme h3.wp-block-heading {
		font-size: 20px;
	}
	.mz-theme__body p {
		font-size: 14px;
	}
	.mz-split {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
	.mz-split__text {
		font-size: 17px;
	}
}

/* ---------- Guided tours band on Plan your visit ---------- */

.mz-guide {
	padding: clamp(28px, 4vw, 48px) clamp(24px, 4.5vw, 56px);
	border-radius: 30px;
	background: var(--mz-tile);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.mz-guide__text {
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mz-main .mz-guide h3.wp-block-heading {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.05;
}

.mz-guide p {
	font-size: clamp(15px, 1.3vw, 18px);
	color: var(--mz-ink-2);
}

.mz-main .mz-guide .wp-block-button__link,
.mz-main .mz-tile--dark .wp-block-button__link {
	background: var(--mz-terra);
	min-height: 58px;
	padding: 0 28px;
	white-space: nowrap;
}

.mz-main .mz-guide .wp-block-button__link:hover,
.mz-main .mz-tile--dark .wp-block-button__link:hover {
	background: var(--mz-terra-d);
}

@media (max-width: 899px) {
	.mz-guide {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		border-radius: 24px;
	}
	.mz-guide .wp-block-button,
	.mz-guide .wp-block-button__link {
		width: 100%;
	}
}

/* ---------- Tiles, grids and details (Plan your visit, Tickets) ---------- */

.mz-grid-2,
.mz-grid-3,
.mz-grid-4 {
	display: grid;
	gap: 20px;
}

.mz-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mz-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mz-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mz-tile {
	padding: clamp(22px, 2.6vw, 32px);
	border-radius: 26px;
	background: var(--mz-tile);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mz-tile > p {
	color: var(--mz-ink-2);
}

.mz-tile--dark {
	background: var(--mz-ink);
	color: var(--mz-on-night);
}

.mz-main .mz-tile--dark :is(h2, h3).wp-block-heading {
	color: var(--mz-on-night);
	font-size: clamp(28px, 3vw, 40px);
}

.mz-tile--dark > p {
	color: var(--mz-on-night-2);
}

.mz-tile--dark .mz-eyebrow {
	color: var(--mz-peach);
}

.mz-tile .wp-block-buttons {
	margin-top: auto !important;
	padding-top: 6px;
}

.mz-main .mz-tile .wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--mz-white);
}

.mz-main .mz-tile .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--mz-on-night);
}

.mz-row > :last-child {
	text-align: right;
	white-space: nowrap;
}

.mz-tile__big {
	font-family: var(--mz-serif);
	font-size: 44px;
	line-height: 1;
	color: var(--mz-terra);
}

.mz-label {
	font-size: 15px;
	font-weight: 600;
	color: var(--mz-muted);
}

.mz-rows {
	display: flex;
	flex-direction: column;
}

.mz-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	font-size: 16px;
}

.mz-row + .mz-row {
	box-shadow: inset 0 1px 0 rgba(22, 19, 15, 0.08);
}

.mz-row > * {
	margin: 0;
}

.mz-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mz-sec.mz-chips-wrap {
	padding-top: 40px;
}

.mz-chips a {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--mz-tile);
	color: var(--mz-ink);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.2s;
}

.mz-chips a:hover {
	background: var(--mz-tile-2);
}

.mz-main .mz-tile ul {
	margin: 0;
	padding-left: 1.1em;
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--mz-ink-2);
}

.mz-tile li::marker {
	color: var(--mz-terra);
}

.mz-faq {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mz-main details.wp-block-details {
	padding: 0 20px;
	border-radius: 18px;
	background: var(--mz-tile);
}

.mz-tile details.wp-block-details {
	background: var(--mz-white);
}

.mz-main details.wp-block-details + details.wp-block-details {
	margin-top: 8px;
}

.mz-main details.wp-block-details summary {
	position: relative;
	list-style: none;
	padding: 18px 32px 18px 0;
	font-weight: 600;
	cursor: pointer;
}

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

.mz-main details.wp-block-details summary::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--mz-ink-2);
	border-bottom: 2px solid var(--mz-ink-2);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.3s var(--mz-ease);
}

.mz-main details.wp-block-details[open] summary::after {
	transform: translateY(-30%) rotate(225deg);
}

.mz-main details.wp-block-details p {
	padding-bottom: 18px;
	color: var(--mz-ink-2);
}

@media (max-width: 1099px) {
	.mz-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	.mz-grid-3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 759px) {
	.mz-grid-2 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 699px) {
	.mz-sec {
		gap: 24px;
	}
	.mz-grid-2,
	.mz-grid-3,
	.mz-grid-4 {
		gap: 12px;
	}
	.mz-grid-4 {
		grid-template-columns: minmax(0, 1fr);
	}
	.mz-tile {
		border-radius: 22px;
	}
	.mz-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(-1 * var(--mz-g));
		padding-inline: var(--mz-g);
		scrollbar-width: none;
	}
	.mz-chips::-webkit-scrollbar {
		display: none;
	}
	.mz-sec.mz-chips-wrap {
		padding-top: 28px;
	}
}

/* ---------- Tickets: choices, the form and its aside ---------- */

.mz-booking {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}

.mz-aside {
	position: sticky;
	top: 110px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (max-width: 1023px) {
	.mz-booking {
		grid-template-columns: minmax(0, 1fr);
	}
	.mz-aside {
		position: static;
	}
}

.mz-tour {
	padding: clamp(20px, 3.6vw, 44px);
	border-radius: 30px;
	background: var(--mz-white);
	box-shadow: var(--mz-shadow), 0 0 0 1px rgba(22, 19, 15, 0.04);
}

.mz-form {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.mz-form > * {
	margin: 0;
}

.mz-badge {
	align-self: flex-start;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--mz-open-bg);
	color: var(--mz-open-ink);
	font-size: 13px;
	font-weight: 700;
}

.mz-form__title {
	margin-top: -18px !important;
	font-size: clamp(32px, 3.4vw, 44px);
}

.mz-step {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mz-step legend,
.mz-step__legend {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 700;
}

.mz-step__legend {
	margin-bottom: 0;
}

.mz-step legend span,
.mz-step__legend span {
	width: 28px;
	height: 28px;
	flex: none;
	border-radius: 50%;
	background: var(--mz-ink);
	color: var(--mz-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

.mz-step-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 28px;
}

.mz-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 12px;
}

.mz-choice {
	position: relative;
	cursor: pointer;
}

.mz-choice input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.mz-choice > span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 16px;
	border-radius: 14px;
	background: var(--mz-tile);
	font-weight: 700;
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.mz-choice:hover > span {
	background: var(--mz-tile-2);
}

.mz-choice input:checked + span {
	background: var(--mz-ink);
	color: var(--mz-white);
}

.mz-choice input:focus-visible + span {
	outline: 2px solid var(--mz-terra);
	outline-offset: 2px;
}

.mz-choice--card > span {
	height: 100%;
	box-sizing: border-box;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
	padding: 18px 20px 18px 58px;
	border-radius: 20px;
	font-weight: 400;
}

/* A radio circle, so the chosen card reads at a glance. */
.mz-choice--card > span::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 22px;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--mz-ink-2);
	background: var(--mz-white);
	transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.mz-choice--card input:checked + span::before {
	border-color: var(--mz-terra);
	background: var(--mz-terra);
	box-shadow: inset 0 0 0 4px var(--mz-white);
}

.mz-choice--card strong {
	font-family: var(--mz-serif);
	font-size: 22px;
	font-weight: 500;
}

.mz-choice--card small {
	margin-top: 6px;
	font-size: 15px;
	font-weight: 700;
	color: var(--mz-ink);
}

.mz-choice--card input:checked + span {
	background: var(--mz-white);
	color: var(--mz-ink);
	box-shadow: inset 0 0 0 2px var(--mz-terra);
}

.mz-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mz-pills .mz-choice {
	flex: 1 1 72px;
}

.mz-pills--times {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
}

.mz-form input[type="date"],
.mz-form input[type="number"],
.mz-form input[type="text"],
.mz-form input[type="email"],
.mz-form input[type="tel"],
.mz-form textarea {
	width: 100%;
	height: 52px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 0;
	border-radius: 14px;
	background: var(--mz-tile);
	color: var(--mz-ink);
	font: inherit;
	transition: background-color 0.2s, box-shadow 0.2s;
}

.mz-field--wide {
	grid-column: 1 / -1;
}

.mz-form textarea {
	height: auto;
	min-height: 112px;
	padding: 12px 14px;
	line-height: 1.5;
	resize: vertical;
}

.mz-form input:focus,
.mz-form textarea:focus {
	outline: none;
	background: var(--mz-white);
	box-shadow: inset 0 0 0 2px var(--mz-terra);
}

.mz-form [aria-invalid="true"] {
	box-shadow: inset 0 0 0 2px var(--mz-terra) !important;
}

.mz-form .mz-grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 16px;
}

.mz-field {
	display: flex;
	flex-direction: column;
	justify-content: flex-end; /* Inputs side by side line up even when one label wraps. */
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
}

.mz-field small {
	font-weight: 400;
	color: var(--mz-muted);
}

.mz-form .mz-note {
	margin: 0;
	font-size: 13px;
}

.mz-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 8px;
	font-size: 14px;
	color: var(--mz-ink-2);
}

.mz-consent input {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 1px 0 0;
	accent-color: var(--mz-terra);
}

.mz-summary {
	padding: 20px;
	border-radius: 22px;
	background: var(--mz-tile);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mz-summary p {
	margin: 0;
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-submit {
	width: 100%;
	min-height: 58px;
	background: var(--mz-terra);
}

.mz-submit:hover {
	background: var(--mz-terra-d);
}

.mz-submit:disabled {
	opacity: 0.6;
	cursor: progress;
}

.mz-form__error {
	color: var(--mz-terra);
	font-weight: 600;
}

.mz-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mz-sent {
	padding: clamp(20px, 4vw, 40px);
	border-radius: 22px;
	background: var(--mz-open-bg);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mz-sent > * {
	margin: 0;
}

/* ---------- Footer: one grey tile ---------- */

.mz-footer {
	padding: var(--mz-sec) 0 40px;
	background: var(--mz-white);
}

.mz-main:has(.mz-last) + .wp-block-template-part .mz-footer,
.mz-main:has(.mz-last) ~ * .mz-footer {
	padding-top: 0;
}

.mz-footer .mz-foot {
	margin-inline: auto;
}

.mz-foot {
	padding: clamp(28px, 4vw, 48px) clamp(22px, 4.4vw, 56px);
	border-radius: 30px;
	background: var(--mz-tile);
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-foot__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.mz-foot__logo {
	display: block;
	height: 68px;
	width: auto;
}

.mz-foot__brand > span {
	font-family: var(--mz-serif);
	font-size: 18px;
	font-style: italic;
	color: var(--mz-ink);
}

.mz-foot__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.mz-foot__col > strong {
	margin-bottom: 4px;
	color: var(--mz-ink);
}

.mz-foot a {
	color: var(--mz-ink-2);
	text-decoration: none;
}

.mz-foot a:hover {
	color: var(--mz-terra);
}

.mz-foot .mz-langs {
	padding-top: 10px;
	gap: 14px;
	font-size: 15px;
	font-weight: 400;
}

.mz-foot .mz-langs a[aria-current] {
	color: var(--mz-ink);
	font-weight: 700;
}

.mz-foot__legal {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 13px;
	color: var(--mz-muted);
}

@media (max-width: 899px) {
	.mz-foot {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
		font-size: 14px;
		border-radius: 26px;
	}
	.mz-foot__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 1099px) {
	.mz-footer {
		padding-bottom: 104px;
	}
}

/* ---------- Sticky Plan / Book bar on phones and tablets ---------- */

.mz-sticky {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	z-index: 90;
	padding: 8px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	backdrop-filter: blur(20px) saturate(1.4);
	box-shadow: 0 12px 30px -12px rgba(14, 12, 10, 0.45);
	display: flex;
	gap: 8px;
	opacity: 0;
	transform: translateY(140%);
	transition: transform 0.45s var(--mz-ease), opacity 0.3s;
}

.mz-sticky.is-shown {
	opacity: 1;
	transform: none;
}

.mz-sticky a {
	flex: 1 1 0;
	min-height: 48px;
	padding: 0 10px;
	border-radius: 14px;
	font-size: 15px;
}

.mz-sticky a.mz-sticky__alt {
	background: var(--mz-terra);
}

@media (min-width: 1024px) {
	.mz-sticky {
		display: none;
	}
}

/* ---------- 404 and plain pages ---------- */

.mz-404 {
	width: min(100% - 2 * var(--mz-g), 880px);
	margin-inline: auto;
	padding-block: clamp(56px, 9vw, 120px) clamp(64px, 9vw, 120px);
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 6vw, 64px);
}

.mz-404__msg {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 640px;
}

.mz-404__msg h1 {
	margin: 0;
}

.mz-404__lead {
	margin: 0;
	font-size: 1.15rem;
	color: var(--mz-ink-2);
}

.mz-404__msg .wp-block-buttons {
	margin-top: 8px;
}

.mz-404 .mz-today {
	width: 100%;
	margin: 0;
}

/* ---------- Motion (only under html.motion, set in the head when motion is welcome) ---------- */

/* Movement only, no fade: if the animation never runs (a background tab, a slow phone), the hero is still fully visible. */
@keyframes mz-rise {
	from { transform: translateY(18px); }
	to { transform: none; }
}

@keyframes mz-pulse {
	0% { box-shadow: 0 0 0 0 rgba(47, 107, 58, 0.55); }
	70%, 100% { box-shadow: 0 0 0 9px rgba(47, 107, 58, 0); }
}

@keyframes mz-meter {
	from { transform: scaleX(0); }
	to { transform: none; }
}

html.motion .mz-hero__text > * {
	animation: mz-rise 0.9s var(--mz-ease) both;
}

html.motion .mz-hero__text > :nth-child(2) { animation-delay: 0.08s; }
html.motion .mz-hero__text > :nth-child(3) { animation-delay: 0.16s; }
html.motion .mz-hero__text > :nth-child(4) { animation-delay: 0.24s; }
html.motion .mz-hero__text > :nth-child(5) { animation-delay: 0.32s; }

html.motion .mz-hero__art {
	animation: mz-rise 1.1s var(--mz-ease) 0.15s both;
}

html.motion .is-open > .mz-dot,
html.motion .is-open .mz-today__label .mz-dot {
	animation: mz-pulse 2.4s var(--mz-ease) infinite;
}

html.motion .mz-meter span {
	animation: mz-meter 1.4s var(--mz-ease) 0.5s both;
}

html.motion .rise {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.8s var(--mz-ease), transform 0.8s var(--mz-ease);
}

html.motion .rise.in {
	opacity: 1;
	transform: none;
}

/* The 38 dots arrive one by one when the panel comes into view. */
html.motion .mz-38 .mz-38__dots span {
	transform: scale(0);
	transition: transform 0.5s var(--mz-ease) calc(var(--i) * 22ms);
}

html.motion .mz-38.in .mz-38__dots span {
	transform: none;
}

@media (hover: hover) {
	.mz-main .mz-tl__item:hover .mz-arch img,
	.mz-main .mz-find__photo:hover .mz-arch img {
		transform: scale(1.04);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* Portrait photos of the martyrs' wall keep the portraits in view when cropped. */
.mz-main .mz-focus-top img {
	object-position: 72% 28%;
}

.mz-main .mz-focus-right img {
	object-position: 85% center;
}

.mz-theme__art p {
	font-size: inherit;
	line-height: 1;
}

/* ---------- Section contrast (v5.1): tint bands, one night band, terracotta moments ---------- */

.mz-band {
	margin-top: var(--mz-sec);
	padding: clamp(64px, 8.4vw, 120px) 0;
}

.mz-band + .mz-band {
	margin-top: 0;
}

.mz-band__inner {
	width: min(100% - 2 * var(--mz-g), var(--mz-max));
	margin-inline: auto;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 3.4vw, 48px);
}

.mz-band--tint {
	background: var(--mz-tile);
}

.mz-band--tint .mz-tile,
.mz-band--tint .mz-theme,
.mz-band--tint .mz-person {
	background: var(--mz-white);
}

.mz-band--tint .mz-tile details.wp-block-details {
	background: var(--mz-tile);
}

.mz-main .mz-band--tint .mz-tile .wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--mz-tile);
}

.mz-band--night,
.mz-feature--night {
	background: #14110E;
	color: var(--mz-on-night);
	--mz-38-priest: var(--mz-on-night);
}

.mz-band--night .mz-eyebrow,
.mz-feature--night .mz-eyebrow {
	color: var(--mz-peach);
}

.mz-main .mz-band--night h2.wp-block-heading,
.mz-main .mz-band--night h3.wp-block-heading,
.mz-main .mz-feature--night h2.wp-block-heading {
	color: var(--mz-on-night);
}

.mz-band--night p:not(.mz-eyebrow),
.mz-feature--night .mz-feature__copy > p:not(.mz-eyebrow):not(.mz-statusline) {
	color: var(--mz-on-night-2);
}

.mz-band--night .mz-38 {
	background: rgba(255, 255, 255, 0.06);
}

.mz-band--night .mz-38__legend {
	color: var(--mz-on-night-2);
}

.mz-band--night .mz-38__legend strong {
	color: var(--mz-on-night);
}

.mz-feature--terra,
.mz-guide.mz-guide--terra {
	background: var(--mz-terra);
	color: var(--mz-white);
}

.mz-main .mz-feature--terra h2.wp-block-heading,
.mz-main .mz-guide--terra h3.wp-block-heading {
	color: var(--mz-white);
}

.mz-feature--terra .mz-feature__copy > p:not(.mz-eyebrow):not(.mz-statusline),
.mz-guide.mz-guide--terra p {
	color: rgba(255, 255, 255, 0.86);
}

.mz-guide--terra .mz-eyebrow {
	color: #FFD9C4 !important;
}

.mz-feature--terra .mz-statusline,
.mz-feature--terra .mz-statusline.is-open {
	color: var(--mz-white);
}

.mz-feature--terra .mz-statusline .mz-dot {
	background: #BFE3C6;
}

/* Buttons on dark and terracotta: a white one and a glass one. */
.mz-main :is(.mz-band--night, .mz-feature--terra, .mz-feature--night, .mz-guide--terra) .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--mz-white);
	color: var(--mz-ink);
}

.mz-main :is(.mz-band--night, .mz-feature--terra, .mz-feature--night, .mz-guide--terra) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: var(--mz-on-night);
}

.mz-main :is(.mz-band--night, .mz-feature--terra, .mz-feature--night, .mz-guide--terra) .wp-block-button.is-style-outline > .wp-block-button__link {
	background: rgba(255, 255, 255, 0.16);
	color: var(--mz-white);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.mz-main :is(.mz-band--night, .mz-feature--terra, .mz-feature--night, .mz-guide--terra) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.26);
}

@media (max-width: 699px) {
	.mz-band {
		padding: 64px 0;
	}
}

/* The form and its confirmation swap with the hidden attribute; never let a display rule override it. */
.mz-tour [hidden] {
	display: none !important;
}

/* ==========================================================================
   v6: pages built from the museum's own content.
   ========================================================================== */

.mz-cslate { --c: var(--mz-slate); }
.mz-cblue { --c: var(--mz-blue); }
.mz-g0 { --fc: var(--mz-blue); }
.mz-g1 { --fc: var(--mz-terra); }

.mz-main h1.mz-hero__title {
	font-size: clamp(44px, 5vw, 72px);
}

/* Quote on memory (Home) */
.mz-quote {
	max-width: 1040px;
	margin-inline: auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}

.mz-quote__mk {
	font-family: var(--mz-serif);
	font-size: 120px;
	line-height: 0.5;
	height: 52px;
	color: var(--mz-terra);
}

.mz-quote__text {
	font-family: var(--mz-serif);
	font-size: clamp(28px, 3.2vw, 46px);
	line-height: 1.18;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.mz-quote__al {
	max-width: 46em;
	font-size: 17px;
	font-style: italic;
	color: var(--mz-muted);
}

.mz-quote__by {
	font-size: 15px;
	font-weight: 600;
	color: var(--mz-terra);
}

/* Itinerary row of arches (Home) */
.mz-itin {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.mz-itin__it {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-main .mz-itin__it .mz-arch {
	height: 280px;
	margin-bottom: 8px !important;
	background: var(--mz-white);
}

.mz-num {
	font-family: var(--mz-serif);
	font-size: 28px;
	line-height: 1;
	color: var(--fc, var(--mz-terra));
}

.mz-itin__al {
	font-family: var(--mz-serif);
	font-size: 20px;
	line-height: 1.15;
}

.mz-en {
	font-size: 14px;
	color: var(--mz-muted);
}

/* Museum-label captions under objects */
.mz-lab {
	padding: 0 4px 0 14px;
	box-shadow: inset 4px 0 0 var(--mz-terra);
	display: flex;
	flex-direction: column;
}

.mz-lab__al {
	font-size: 15px;
	font-weight: 700;
}

.mz-lab__en {
	font-size: 14px;
	color: var(--mz-muted);
}

/* Two cards side by side (Home: gallery and mother museum) */
.mz-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.mz-duo__card {
	border-radius: 28px;
	background: var(--mz-tile);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 320px;
}

.mz-main .mz-duo__card .wp-block-image,
.mz-main .mz-duo__card img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.mz-duo__body {
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 10px;
}

.mz-main .mz-duo__body h3.wp-block-heading {
	font-size: 30px;
}

.mz-duo__body p:not(.mz-eyebrow) {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-go a {
	font-weight: 700;
	color: var(--mz-terra);
	text-decoration: none;
}

/* What the collection holds */
.mz-holds {
	font-family: var(--mz-serif);
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1.25;
}

.mz-holds span {
	color: var(--mz-tile-2);
	padding: 0 10px;
}

/* Floors and section cards (Collection) */
.mz-floor-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px 24px;
	padding-bottom: 22px;
	margin-bottom: 24px !important;
	box-shadow: inset 0 -1px 0 rgba(22, 19, 15, 0.1);
}

.mz-floor-head__k {
	font-size: 15px;
	font-weight: 700;
	color: var(--fc);
}

.mz-floor-head__n {
	font-family: var(--mz-serif);
	font-size: clamp(24px, 2.2vw, 30px);
	margin-right: auto !important;
}

.mz-secs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.mz-sc {
	border-radius: 24px;
	overflow: hidden;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
}

.mz-main .mz-sc .wp-block-image {
	height: 240px;
}

.mz-main .mz-sc img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-sc__bd {
	padding: 20px 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mz-sc__al {
	font-family: var(--mz-serif);
	font-size: 24px;
	line-height: 1.15;
	margin-top: 6px !important;
}

.mz-sc__sub {
	font-size: 15px;
	font-style: italic;
	color: var(--mz-ink-2);
}

.mz-sc__x {
	font-size: 15px;
	line-height: 1.5;
	color: var(--mz-ink-2);
	margin-top: 10px !important;
}

.mz-floor + .mz-floor-wrap,
.mz-floor-wrap + .mz-floor-wrap {
	margin-top: 56px !important;
}

/* Highlights on the night band */
.mz-hl {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.mz-hl__it {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mz-main .mz-hl__it .mz-arch,
.mz-hl__type {
	height: 340px;
	margin-bottom: 4px !important;
	background: #221D18;
}

.mz-hl__type {
	border-radius: 999px 999px 28px 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	text-align: center;
	font-family: var(--mz-serif);
	font-size: 44px;
	font-style: italic;
	line-height: 1.1;
	color: var(--mz-peach);
}

.mz-main .mz-hl__it h3.wp-block-heading {
	font-size: 24px;
}

.mz-al {
	font-size: 15px;
	font-style: italic;
	color: var(--mz-muted);
}

.mz-band--night .mz-al {
	color: var(--mz-peach) !important;
}

/* Mother museum (Collection) */
.mz-mm {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.mz-main .mz-mm .wp-block-image {
	border-radius: 26px;
	overflow: hidden;
	background: var(--mz-tile);
}

.mz-mm__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mz-mm__text p:not(.mz-eyebrow),
.mz-place__text p:not(.mz-eyebrow) {
	font-size: 18px;
	color: var(--mz-ink-2);
}

/* Lin Delija: statement, life, works, inauguration, visiting */
.mz-state__big {
	max-width: 1100px;
	font-family: var(--mz-serif);
	font-size: clamp(30px, 3.6vw, 52px);
	line-height: 1.12;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.mz-state__big em {
	color: var(--mz-terra);
}

.mz-cols {
	max-width: 1100px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	font-size: 18px;
	color: var(--mz-ink-2);
}

.mz-life {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px;
}

.mz-life::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 9px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--mz-terra) 0 33%, var(--mz-slate) 33% 50%, var(--mz-blue) 50% 100%);
}

.mz-life__it {
	position: relative;
	padding-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mz-life__it::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mz-tile);
	box-shadow: inset 0 0 0 6px var(--c);
}

.mz-life__y {
	font-family: var(--mz-serif);
	font-size: 46px;
	line-height: 0.95;
	letter-spacing: -0.02em;
	color: var(--c);
}

.mz-life__pl {
	font-size: 13px;
	font-weight: 700;
	color: var(--c);
}

.mz-life__it p:last-child {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-works {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.mz-wk {
	border-radius: 28px;
	overflow: hidden;
	background: var(--mz-tile);
	display: flex;
	flex-direction: column;
}

.mz-main .mz-wk .wp-block-image {
	height: 420px;
}

.mz-main .mz-wk img,
.mz-main .mz-inaug img,
.mz-main .mz-vg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-wk__bd {
	padding: 28px 32px 32px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mz-main .mz-wk h3.wp-block-heading {
	font-size: 32px;
}

.mz-wk__bd p:not(.mz-eyebrow) {
	color: var(--mz-ink-2);
}

.mz-tech {
	padding: 28px 32px;
	border-radius: 24px;
	background: var(--mz-tile);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 28px;
	align-items: start;
}

.mz-tech__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 72ch;
}

.mz-tech__text p {
	margin: 0;
	color: var(--mz-ink-2);
}

/* Lin Delija: four more views of the room, under the two themes. */
.mz-room {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.mz-main .mz-room .wp-block-image {
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	overflow: hidden;
}

.mz-main .mz-room img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 699px) {
	.mz-room {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-inline: calc(-1 * var(--mz-g));
		padding-inline: var(--mz-g);
		scroll-padding-inline: var(--mz-g);
		scrollbar-width: none;
	}
	.mz-room::-webkit-scrollbar {
		display: none;
	}
	.mz-main .mz-room .wp-block-image {
		flex: 0 0 78%;
		scroll-snap-align: start;
		border-radius: 16px;
	}
}

.mz-tech__n {
	font-family: var(--mz-serif);
	font-size: 64px;
	line-height: 1;
	color: var(--mz-terra);
}

.mz-tech p:last-child {
	color: var(--mz-ink-2);
}

.mz-origin {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}

.mz-origin__text {
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 18px;
}

.mz-inaug {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	grid-template-rows: 260px 260px;
	gap: 12px;
}

.mz-main .mz-inaug .wp-block-image {
	border-radius: 22px;
	overflow: hidden;
	height: 100%;
}

.mz-main .mz-inaug .wp-block-image:first-child {
	grid-row: 1 / 3;
}

.mz-caption {
	font-size: 14px;
	color: var(--mz-muted);
}

.mz-band--night .mz-caption {
	color: var(--mz-on-night-2);
}

.mz-visitg {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.mz-vg {
	border-radius: 28px;
	overflow: hidden;
	background: var(--mz-tile);
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 280px;
}

.mz-vg__bd {
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}

.mz-vg__bd p {
	font-size: 15px;
	color: var(--mz-ink-2);
}

/* About: pull quote, place, people, mission, services, charter, rights */
.mz-pull {
	padding: 28px 32px;
	border-radius: 24px;
	background: var(--mz-tile);
	font-family: var(--mz-serif);
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.25;
	color: var(--mz-ink);
}

.mz-split__text .mz-pull + .mz-caption {
	margin-top: -8px !important;
}

.mz-place {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: center;
}

.mz-main .mz-place .mz-arch {
	height: 520px;
}

.mz-place__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 0 40px;
}

.mz-found {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.mz-team {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.mz-pp {
	padding: 22px 24px;
	border-radius: 22px;
	background: var(--mz-tile);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mz-pp__n {
	font-family: var(--mz-serif);
	font-size: 24px;
	line-height: 1.15;
}

.mz-pp__r {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-pp__k {
	font-size: 13px;
	font-weight: 700;
	color: var(--mz-peach);
}

.mz-pp--dark {
	background: var(--mz-ink);
	color: var(--mz-on-night);
}

.mz-pp--dark .mz-pp__r {
	color: var(--mz-on-night-2);
}

.mz-icom {
	max-width: 1040px;
	font-family: var(--mz-serif);
	font-size: clamp(24px, 2.6vw, 36px);
	line-height: 1.22;
	text-wrap: balance;
	color: var(--mz-on-night) !important;
}

.mz-obj2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 28px !important;
}

.mz-obj2__it {
	padding: 28px 30px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.06);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
}

.mz-obj2__n {
	font-family: var(--mz-serif);
	font-size: 44px;
	line-height: 1;
	color: var(--mz-peach) !important;
}

.mz-svc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.mz-svc__it {
	padding: 22px;
	border-radius: 20px;
	background: var(--mz-white);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-svc__tag {
	font-size: 12px;
	font-weight: 700;
	color: var(--mz-terra);
}

.mz-svc__t {
	font-size: 16px;
	font-weight: 700;
}

.mz-svc__it p:last-child {
	font-size: 14px;
	color: var(--mz-ink-2);
}

.mz-charter {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	align-items: start;
}

.mz-main .mz-charter details.wp-block-details + details.wp-block-details {
	margin-top: 0;
}

.mz-main .mz-charter details.wp-block-details summary {
	font-family: var(--mz-serif);
	font-size: 22px;
	font-weight: 500;
}

/* Visit: services and rules */
.mz-svcv {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.mz-sv {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mz-main .mz-sv .mz-arch,
.mz-sv__type {
	height: 300px;
	margin-bottom: 4px !important;
}

.mz-sv__type {
	border-radius: 999px 999px 28px 28px;
	background: var(--mz-tile-2);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.mz-sv__type .mz-sv__big {
	font-family: var(--mz-serif);
	font-size: 110px;
	line-height: 0.9;
	color: var(--mz-terra);
}

.mz-sv__type .mz-sv__big.is-word {
	font-size: 64px;
	font-style: italic;
}

.mz-sv__type p:last-child {
	font-size: 15px;
	font-weight: 600;
	color: var(--mz-ink-2);
}

.mz-main .mz-sv h3.wp-block-heading {
	font-size: 26px;
}

.mz-sv > p:last-child {
	font-size: 15px;
	color: var(--mz-ink-2);
}

.mz-rules {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.mz-rules .mz-tile ul {
	list-style: none;
	padding-left: 0;
	gap: 10px;
}

.mz-rules .mz-tile li {
	position: relative;
	padding-left: 38px;
}

.mz-rules .mz-tile li::before {
	position: absolute;
	left: 0;
	top: -1px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
}

.mz-rules__no li::before {
	content: "×";
	background: #F7E4DC;
	color: var(--mz-terra);
}

.mz-rules__yes li::before {
	content: "✓";
	background: var(--mz-open-bg);
	color: var(--mz-open);
}

.mz-feature--solo {
	grid-template-columns: minmax(0, 1fr);
}

.mz-ph {
	font-size: 14px;
	font-weight: 600;
	color: var(--mz-terra);
}

@media (max-width: 899px) {
	.mz-itin {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px 10px;
	}
	.mz-main .mz-itin__it .mz-arch {
		height: 150px;
	}
	.mz-num {
		font-size: 22px;
	}
	.mz-itin__al {
		font-size: 16px;
	}
	.mz-en {
		font-size: 12px;
	}
	.mz-duo,
	.mz-visitg {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.mz-duo__card,
	.mz-vg {
		grid-template-columns: 120px 1fr;
		min-height: 0;
		border-radius: 22px;
	}
	.mz-duo__body,
	.mz-vg__bd {
		padding: 18px;
	}
	.mz-main .mz-duo__body h3.wp-block-heading {
		font-size: 22px;
	}
	.mz-secs {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.mz-sc {
		display: grid;
		grid-template-columns: 110px 1fr;
		border-radius: 20px;
	}
	.mz-main .mz-sc .wp-block-image {
		height: 100%;
		min-height: 150px;
	}
	.mz-sc__bd {
		padding: 14px 16px;
	}
	.mz-sc__al {
		font-size: 20px;
		margin-top: 2px !important;
	}
	.mz-sc__x {
		font-size: 14px;
		margin-top: 6px !important;
	}
	.mz-floor-head {
		flex-direction: column;
		gap: 2px;
	}
	.mz-hl {
		grid-template-columns: 1fr 1fr;
		gap: 16px 12px;
	}
	.mz-main .mz-hl__it .mz-arch,
	.mz-hl__type {
		height: 220px;
	}
	.mz-hl__type {
		font-size: 28px;
	}
	.mz-mm,
	.mz-cols,
	.mz-origin,
	.mz-place,
	.mz-found,
	.mz-obj2,
	.mz-rules {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.mz-life {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-left: 34px;
	}
	.mz-life::before {
		left: 9px;
		right: auto;
		top: 8px;
		bottom: 8px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--mz-terra) 0 33%, var(--mz-slate) 33% 50%, var(--mz-blue) 50% 100%);
	}
	.mz-life__it {
		padding-top: 0;
	}
	.mz-life__it::before {
		left: -34px;
		top: 8px;
	}
	.mz-life__y {
		font-size: 38px;
	}
	.mz-works {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.mz-main .mz-wk .wp-block-image {
		height: 240px;
	}
	.mz-wk__bd {
		padding: 20px 22px 24px;
	}
	.mz-tech {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 22px;
	}
	.mz-tech__n {
		font-size: 44px;
	}
	.mz-inaug {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 200px 140px 140px;
		gap: 8px;
	}
	.mz-main .mz-inaug .wp-block-image:first-child {
		grid-row: auto;
		grid-column: 1 / -1;
	}
	.mz-main .mz-place .mz-arch {
		height: 300px;
	}
	.mz-place__text {
		padding: 0;
	}
	.mz-team,
	.mz-charter {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
	.mz-svc {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	.mz-svc__it {
		padding: 16px;
	}
	.mz-svcv {
		grid-template-columns: 1fr 1fr;
		gap: 16px 12px;
	}
	.mz-main .mz-sv .mz-arch,
	.mz-sv__type {
		height: 180px;
	}
	.mz-sv__type .mz-sv__big {
		font-size: 70px;
	}
	.mz-sv__type .mz-sv__big.is-word {
		font-size: 40px;
	}
	.mz-main .mz-sv h3.wp-block-heading {
		font-size: 20px;
	}
	.mz-sv > p:last-child {
		font-size: 13px;
	}
	.mz-mm__text p:not(.mz-eyebrow),
	.mz-place__text p:not(.mz-eyebrow),
	.mz-origin__text,
	.mz-cols {
		font-size: 16px;
	}
}

.mz-main .mz-focus-left img {
	object-position: 22% center;
}

.mz-feature--terra .mz-eyebrow {
	color: #FFE0D2;
}

.mz-feature--terra .mz-feature__copy > p {
	color: rgba(255, 255, 255, 0.88);
}

/* Bands keep their breathing room above (the block-margin reset would otherwise zero it). */
.mz-main .mz-band {
	margin-top: var(--mz-sec);
}

.mz-main .mz-band + .mz-band,
.mz-main .mz-chips-wrap + .mz-band {
	margin-top: 0;
}

.mz-main .mz-chips-wrap + .mz-band {
	margin-top: 40px;
}

.mz-holds span {
	color: var(--mz-muted);
}

.mz-foot .mz-langs {
	flex-wrap: wrap;
	gap: 6px 14px;
}

.mz-menu:not([open]) .mz-menu__panel {
	display: none;
}

.mz-foot a {
	overflow-wrap: anywhere;
}

/* Six menu items: on mid-size screens the status pill shows only Open / Closed. */
@media (max-width: 1299px) {
	.mz-pill__more {
		display: none;
	}
	.mz-nav {
		gap: 22px;
	}
	.mz-header__bar,
	.mz-header-nav {
		gap: 18px;
	}
}

/* ---------- Top bar: live status, address, phone, languages ---------- */

:root {
	--mz-topbar-h: 40px;
}

.mz-topbar {
	background: var(--mz-tile);
	color: var(--mz-ink-2);
	font-size: 13px;
}

.mz-topbar__inner {
	width: min(100% - 2 * var(--mz-g), var(--mz-max));
	height: var(--mz-topbar-h);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.mz-topbar__status {
	/* Room for the dot's 9px pulse inside overflow: hidden, without shifting the layout. */
	margin: -10px 0 -10px -10px;
	padding: 10px 0 10px 10px;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	overflow: hidden;
}

.mz-topbar__status > span:not(.mz-dot) {
	overflow: hidden;
	text-overflow: ellipsis;
}

.mz-topbar__status strong {
	font-weight: 700;
	color: var(--mz-terra-d);
}

.mz-topbar__status.is-open strong {
	color: var(--mz-open-ink);
}

.mz-topbar__status.is-closing strong {
	color: var(--mz-amber-ink);
}

.mz-topbar__end {
	flex: none;
	display: flex;
	align-items: center;
	gap: 22px;
}

.mz-topbar a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mz-ink-2);
	text-decoration: none;
	white-space: nowrap;
}

.mz-topbar a:hover {
	color: var(--mz-terra);
}

.mz-topbar .mz-langs {
	gap: 12px;
	font-size: 13px;
	font-weight: 700;
	padding-left: 22px;
	box-shadow: inset 1px 0 0 rgba(22, 19, 15, 0.12);
}

.mz-topbar .mz-langs a {
	color: var(--mz-muted);
}

.mz-topbar .mz-langs a[aria-current] {
	color: var(--mz-ink);
}

/* Only the menu bar stays pinned: the top bar scrolls away above it. */
.wp-site-blocks > header.wp-block-template-part {
	top: calc(-1 * var(--mz-topbar-h));
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: calc(32px - var(--mz-topbar-h));
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: calc(46px - var(--mz-topbar-h));
	}
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: calc(-1 * var(--mz-topbar-h));
	}
}

@media (max-width: 1023px) {
	.mz-topbar__end > a.mz-topbar__more:last-of-type {
		display: none;
	}
}

@media (max-width: 699px) {
	:root {
		--mz-topbar-h: 36px;
	}
	.mz-topbar__inner {
		width: calc(100% - 40px);
	}
	.mz-topbar .mz-topbar__more {
		display: none;
	}
	.mz-topbar .mz-langs {
		padding-left: 14px;
	}
}

/* ---------- The 38 martyrs: portraits ringed by group, named on hover or tap ---------- */

.mz-38__faces {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: clamp(8px, 1vw, 14px);
}

.mz-38__p {
	position: relative;
	aspect-ratio: 1;
	padding: 3px;
	border-radius: 50%;
	background: var(--c);
	cursor: default;
	outline: none;
	transition: transform 0.3s var(--mz-ease);
}

.mz-38__p img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(1) sepia(0.35) brightness(0.95);
	transition: filter 0.4s var(--mz-ease);
}

.mz-38__p:hover,
.mz-38__p.is-on,
.mz-38__p:focus-visible {
	z-index: 5;
	transform: scale(1.12);
}

.mz-38__p:hover img,
.mz-38__p.is-on img,
.mz-38__p:focus-visible img {
	filter: none;
}

.mz-38__p:focus-visible {
	box-shadow: 0 0 0 3px var(--mz-white);
}

.mz-38__tip {
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	width: max-content;
	max-width: 220px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--mz-white);
	color: var(--mz-ink);
	box-shadow: 0 14px 30px -12px rgba(0, 0, 0, 0.6);
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 13px;
	line-height: 1.35;
	text-align: left;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 6px) scale(0.89);
	transform-origin: bottom center;
	transition: opacity 0.2s, transform 0.25s var(--mz-ease);
}

.mz-38__tip strong {
	font-family: var(--mz-serif);
	font-size: 16px;
	font-weight: 500;
}

.mz-38__tip span {
	color: var(--mz-ink-2);
}

.mz-38__p:hover .mz-38__tip,
.mz-38__p.is-on .mz-38__tip,
.mz-38__p:focus-visible .mz-38__tip {
	opacity: 1;
	transform: translate(-50%, 0) scale(0.89);
}

/* Keep the card inside the panel at the row's edges. */
.mz-38__p:nth-child(8n + 1) .mz-38__tip,
.mz-38__p:nth-child(8n + 2) .mz-38__tip {
	left: 0;
	transform: translate(0, 6px) scale(0.89);
	transform-origin: bottom left;
}

.mz-38__p:nth-child(8n + 1):is(:hover, .is-on, :focus-visible) .mz-38__tip,
.mz-38__p:nth-child(8n + 2):is(:hover, .is-on, :focus-visible) .mz-38__tip {
	transform: translate(0, 0) scale(0.89);
}

.mz-38__p:nth-child(8n) .mz-38__tip,
.mz-38__p:nth-child(8n + 7) .mz-38__tip {
	left: auto;
	right: 0;
	transform: translate(0, 6px) scale(0.89);
	transform-origin: bottom right;
}

.mz-38__p:nth-child(8n):is(:hover, .is-on, :focus-visible) .mz-38__tip,
.mz-38__p:nth-child(8n + 7):is(:hover, .is-on, :focus-visible) .mz-38__tip {
	transform: translate(0, 0) scale(0.89);
}

/* Faces arrive one by one when the panel comes into view. */
html.motion .mz-38 .mz-38__p {
	opacity: 0;
	transform: scale(0.6);
	transition: opacity 0.5s var(--mz-ease) calc(var(--i) * 25ms), transform 0.5s var(--mz-ease) calc(var(--i) * 25ms);
}

html.motion .mz-38.in .mz-38__p {
	opacity: 1;
	transform: none;
}

html.motion .mz-38.in .mz-38__p:hover,
html.motion .mz-38.in .mz-38__p.is-on,
html.motion .mz-38.in .mz-38__p:focus-visible {
	transform: scale(1.12);
	transition-delay: 0s;
}

@media (max-width: 699px) {
	.mz-38__faces {
		gap: 6px;
	}
	.mz-38__p {
		padding: 2px;
	}
}

/* ---------- Two more blessed martyrs, 2024 (The 38 martyrs page) ---------- */

.mz-pair__lead {
	max-width: 40em;
	font-size: 18px;
	color: var(--mz-ink-2);
}

.mz-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.mz-pair__it {
	padding: 28px;
	border-radius: 26px;
	background: var(--mz-tile);
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.mz-main .mz-pair__face {
	width: 132px;
	height: 132px;
	padding: 4px;
	border-radius: 50%;
	background: var(--mz-brown);
	overflow: hidden;
}

.mz-main .mz-pair__it + .mz-pair__it .mz-pair__face {
	background: var(--mz-ink);
}

.mz-main .mz-pair__face img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(1) sepia(0.35);
}

.mz-pair__bd {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mz-main .mz-pair__bd h3.wp-block-heading {
	font-size: 26px;
}

.mz-pair__meta {
	font-size: 14px;
	font-weight: 700;
	color: var(--mz-muted);
}

.mz-pair__bd p:last-child {
	font-size: 16px;
	color: var(--mz-ink-2);
}

@media (max-width: 899px) {
	.mz-pair {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.mz-pair__it {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 16px;
		padding: 20px;
		border-radius: 22px;
	}
	.mz-main .mz-pair__face {
		width: 88px;
		height: 88px;
		padding: 3px;
	}
	.mz-main .mz-pair__bd h3.wp-block-heading {
		font-size: 21px;
	}
	.mz-pair__bd p:last-child {
		font-size: 15px;
	}
	.mz-pair__lead {
		font-size: 16px;
	}
}

@media (max-width: 599px) {
	.mz-pair__it {
		display: block;
	}
	.mz-main .mz-pair__face {
		float: left;
		width: 76px;
		height: 76px;
		margin: 0 14px 6px 0 !important;
	}
	.mz-pair__bd {
		display: block;
	}
	.mz-pair__bd > * + * {
		margin-top: 6px !important;
	}
}

/* Header and footer: no block-gap margins (they pushed the menu below the logo's centre line). */
body .wp-site-blocks > .wp-block-template-part > *,
body .mz-header > *,
body .mz-header__bar > *,
body .mz-footer > * {
	margin-block: 0;
}

/* ---------- Tour form: inline calendar (replaces the browser's date picker) ---------- */

.mz-form .mz-cal__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	opacity: 0;
	pointer-events: none;
}

.mz-step--date {
	position: relative;
}

.mz-cal {
	padding: 14px;
	border-radius: 20px;
	background: var(--mz-tile);
	transition: box-shadow 0.2s;
}

.mz-cal.is-invalid,
.mz-cal__input[aria-invalid="true"] + .mz-cal {
	box-shadow: inset 0 0 0 2px var(--mz-terra);
}

.mz-cal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}

.mz-cal__month {
	font-family: var(--mz-serif);
	font-size: 20px;
	font-weight: 500;
}

.mz-cal__nav {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--mz-white);
	color: var(--mz-ink);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
}

.mz-cal__nav:hover:not(:disabled) {
	background: var(--mz-tile-2);
}

.mz-cal__nav:disabled {
	opacity: 0.3;
	cursor: default;
}

.mz-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}

.mz-cal__wd {
	padding: 4px 0 6px;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--mz-muted);
}

.mz-cal__day {
	height: 44px;
	border: 0;
	border-radius: 12px;
	background: var(--mz-white);
	color: var(--mz-ink);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, transform 0.15s var(--mz-ease);
}

.mz-cal__day:hover:not(:disabled):not(.is-on) {
	background: var(--mz-tile-2);
}

.mz-cal__day:active:not(:disabled) {
	transform: scale(0.94);
}

.mz-cal__day.is-today {
	box-shadow: inset 0 0 0 2px var(--mz-terra);
}

.mz-cal__day.is-on {
	background: var(--mz-ink);
	color: var(--mz-white);
	box-shadow: none;
}

.mz-cal__day:disabled {
	background: transparent;
	color: #B9AFA2;
	font-weight: 500;
	cursor: default;
}

.mz-cal__chosen {
	margin: 12px 4px 2px !important;
	font-size: 15px;
	font-weight: 700;
	color: var(--mz-ink);
}

.mz-cal__chosen.is-empty {
	font-weight: 500;
	color: var(--mz-muted);
}

@media (max-width: 599px) {
	.mz-cal {
		padding: 10px;
	}
	.mz-cal__day {
		height: 40px;
		border-radius: 10px;
		font-size: 14px;
	}
}

/* ---------- Fact cards (Plan your visit: before you come; Tickets: the two ways to visit) ----------
   One skeleton for every card of facts: a key with its icon, the figure, a short line under it,
   a sentence, rows of details, and a foot (a note or the button) pinned to the bottom.
   Side by side, each part starts on the same line in every card (subgrid). */

.mz-main .mz-fact {
	gap: 0;
}

.mz-fact > *,
.mz-fact__top > * {
	margin: 0;
}

.mz-fact__top {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-bottom: 18px;
}

.mz-main .mz-fact :is(p, h2).mz-fact__k {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--mz-ink-2);
}

.mz-fact__k::before {
	content: "";
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--mz-white) center / 22px no-repeat;
}

.mz-band--tint .mz-fact__k::before {
	background-color: var(--mz-tile);
}

.mz-fact__k--clock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8461F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }
.mz-fact__k--ticket::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8461F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14.5 7.5v9' stroke-dasharray='1.6 2.4'/%3E%3C/svg%3E"); }
.mz-fact__k--guide::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8461F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3.5 19c.6-3.2 2.8-5 5.5-5s4.9 1.8 5.5 5'/%3E%3Ccircle cx='17' cy='9' r='2.6'/%3E%3Cpath d='M16 14.2c2.4.1 4 1.7 4.5 4.3'/%3E%3C/svg%3E"); }

.mz-tile--dark .mz-fact__k::before {
	background-color: rgba(243, 238, 230, 0.1);
}

.mz-tile--dark .mz-fact__k--guide::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F0B79A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3.5 19c.6-3.2 2.8-5 5.5-5s4.9 1.8 5.5 5'/%3E%3Ccircle cx='17' cy='9' r='2.6'/%3E%3Cpath d='M16 14.2c2.4.1 4 1.7 4.5 4.3'/%3E%3C/svg%3E"); }

.mz-main .mz-tile--dark .mz-fact .mz-fact__k,
.mz-main .mz-tile--dark.mz-fact .mz-fact__k {
	color: var(--mz-on-night-2);
}

.mz-main .mz-fact :is(p, h2).mz-fact__fig {
	font-family: var(--mz-serif);
	font-size: clamp(40px, 4vw, 54px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.01em;
	color: var(--mz-ink);
}

.mz-main .mz-tile--dark.mz-fact .mz-fact__fig {
	color: var(--mz-on-night);
}

.mz-fact__sub {
	font-size: 16px;
	color: var(--mz-ink-2);
}

.mz-main .mz-fact > .mz-fact__x {
	padding-bottom: 18px;
	font-size: 16px;
	line-height: 1.55;
	color: var(--mz-ink-2);
}

.mz-main .mz-tile--dark.mz-fact > .mz-fact__x {
	color: var(--mz-on-night-2);
}

.mz-fact__list {
	border-top: 1px solid var(--mz-line);
}

.mz-fact__list .mz-row {
	align-items: baseline;
	padding: 13px 0;
	font-size: 15px;
}

.mz-fact__list .mz-row > :first-child {
	color: var(--mz-ink-2);
}

.mz-fact__list .mz-row > :last-child {
	font-weight: 600;
	color: var(--mz-ink);
	white-space: normal;
}

.mz-fact__list .mz-row > :last-child strong {
	font-weight: inherit;
}

.mz-main .mz-fact > .mz-fact__foot {
	margin-top: auto;
	padding-top: 22px;
}

.mz-main .mz-fact > .mz-fact__foot + .mz-fact__foot {
	margin-top: 0;
	padding-top: 12px;
}

.mz-fact__foot .wp-block-buttons {
	margin: 0 !important;
	padding: 0;
}

/* A short note at the foot of a card: no closures (green), cash only or closures ahead (amber). */
.mz-flag {
	margin: 0;
	padding: 11px 14px;
	border-radius: 14px;
	font-size: 14px;
	line-height: 1.45;
	background: rgba(22, 19, 15, 0.05);
	color: var(--mz-ink-2);
}

.mz-flag strong {
	color: inherit;
}

.mz-flag--ok {
	background: var(--mz-open-bg);
	color: var(--mz-open-ink);
}

.mz-flag--ok::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 9px;
	border-radius: 50%;
	background: var(--mz-open);
	vertical-align: 1px;
}

.mz-flag--warn {
	background: var(--mz-amber-bg);
	color: var(--mz-amber-ink);
}

@media (min-width: 900px) {
	.mz-facts {
		row-gap: 0;
	}
	.mz-main .mz-facts > .mz-fact {
		display: grid;
		grid-row: span 4;
		grid-template-rows: subgrid;
		row-gap: 0;
	}
	.mz-facts .mz-fact__top { grid-row: 1; }
	.mz-facts .mz-fact__x { grid-row: 2; }
	.mz-facts .mz-fact__list { grid-row: 3; align-self: start; }
	.mz-main .mz-facts .mz-fact__foot { grid-row: 4; align-self: end; margin-top: 0; }
}

/* ---------- Privacy page: short version, then what is kept, in rows like a wall label ---------- */

.mz-sec.mz-priv {
	padding-top: clamp(48px, 6vw, 88px);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 88px);
	align-items: start;
}

.mz-priv__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.mz-priv__lead {
	max-width: 30em;
	font-size: clamp(18px, 1.6vw, 21px);
	color: var(--mz-ink-2);
}

.mz-main h2.wp-block-heading.mz-priv__short-h {
	font-size: clamp(22px, 2vw, 26px);
	letter-spacing: -0.01em;
}

.mz-priv__checks {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mz-priv__checks li {
	position: relative;
	padding-left: 28px;
	color: var(--mz-ink-2);
}

.mz-priv__checks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	font-weight: 700;
	color: var(--mz-open);
}

.mz-kv {
	display: flex;
	flex-direction: column;
}

.mz-kv__row {
	display: grid;
	grid-template-columns: 8.5em minmax(0, 1fr);
	gap: 16px;
	padding: 14px 0;
}

.mz-kv__row + .mz-kv__row {
	box-shadow: inset 0 1px 0 rgba(22, 19, 15, 0.08);
}

.mz-kv__row > * {
	margin: 0;
}

@media (max-width: 899px) {
	.mz-sec.mz-priv {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 520px) {
	.mz-kv__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}
}

/* An email address on a button stays on one line. */
.mz-main .mz-feature__copy .wp-block-button__link {
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

.mz-foot__legal a {
	color: inherit;
}

/* ---------- Newsletter sign-up: the top row of the footer card ---------- */

.mz-news {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 16px clamp(24px, 4vw, 56px);
	align-items: center;
	padding-bottom: clamp(28px, 3.4vw, 40px);
	border-bottom: 1px solid var(--mz-line);
}

.mz-news__text p {
	margin: 0;
}

.mz-news__text p + p {
	margin-top: 6px;
	max-width: 44ch;
}

.mz-news__title {
	font-family: var(--mz-serif);
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.1;
	color: var(--mz-ink);
}

.mz-news__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.mz-news__row {
	display: flex;
	gap: 8px;
	padding: 6px;
	border-radius: 18px;
	background: var(--mz-white);
	box-shadow: inset 0 0 0 1px var(--mz-line);
	transition: box-shadow 0.2s;
}

.mz-news__row:focus-within {
	box-shadow: inset 0 0 0 2px var(--mz-terra);
}

.mz-news__row input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 12px;
	border: 0;
	background: transparent;
	color: var(--mz-ink);
	font: inherit;
	font-size: 16px;
}

.mz-news__row input:focus {
	outline: none;
}

.mz-news__row input[aria-invalid="true"] {
	color: var(--mz-terra-d);
}

.mz-news__btn {
	flex: none;
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 13px;
	background: var(--mz-ink);
	color: var(--mz-white);
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s;
}

.mz-news__btn:hover {
	background: var(--mz-terra);
}

.mz-news__btn:focus-visible {
	outline: 2px solid var(--mz-terra);
	outline-offset: 2px;
}

.mz-news__btn:disabled {
	opacity: 0.6;
	cursor: progress;
}

.mz-news__msg {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--mz-terra-d);
}

.mz-news__msg.is-ok {
	color: var(--mz-open-ink);
}

.mz-news__note {
	margin: 0;
	font-size: 13px;
	color: var(--mz-muted);
}

.mz-foot .mz-news__note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mz-vh {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

@media (max-width: 899px) {
	.mz-news {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 420px) {
	.mz-news__btn {
		padding: 0 16px;
	}
}

/* The territory map: when a card shows only a narrow strip of it (home, phones), keep the west side, where Shkodër and the museum are. */
.mz-main .mz-duo__card img[src*="mz6-territory"] {
	object-position: 12% 50%;
}
