/**
 * ZAVET theme styles.
 *
 * Global colours, type scale and spacing come from theme.json; this file adds
 * the layout of the theme's sections, block style variations and the states
 * theme.json cannot express. Class names follow a light BEM convention
 * (zavet-section, zavet-card__title ...).
 *
 * Contents:
 *  1. Base and accessibility
 *  2. Shared section parts (eyebrow, section heads, links, buttons)
 *  3. Header and navigation
 *  4. Home page sections
 *  5. Services block
 *  6. Cards and archives
 *  7. Inner pages and post content
 *  8. Footer
 *  9. Responsive adjustments
 * 10. Reduced motion
 */

/* -------------------------------------------------------------------------
 * 1. Base and accessibility
 * ---------------------------------------------------------------------- */

:root {
	--zavet-gold: var(--wp--preset--color--gold);
	--zavet-gold-light: var(--wp--preset--color--gold-light);
	--zavet-ink: var(--wp--preset--color--ink);
	--zavet-line: var(--wp--preset--color--sand);
	--zavet-ease: 180ms ease;
	--zavet-header-height: 96px;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks {
	position: relative;
}

img {
	height: auto;
}

:where(h1, h2, h3) {
	text-wrap: balance;
}

.site-header-part.is-overlay .site-nav .wp-block-navigation-item__content,
.site-header-part.is-overlay .site-brand__text {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--zavet-gold);
	outline-offset: 3px;
	border-radius: 1px;
}

:where(.zavet-hero, .site-header-part, .site-footer, .zavet-donate) :where(a, button, input):focus-visible {
	outline-color: var(--zavet-gold-light);
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
	clip-path: none;
	color: var(--zavet-ink);
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	height: auto;
	left: 8px;
	padding: 0.75rem 1.25rem;
	top: 8px;
	width: auto;
	z-index: 100000;
}

::selection {
	background: var(--zavet-gold-light);
	color: var(--zavet-ink);
}

/* Sections on the front page sit flush against each other. */
.zavet-sections > *,
.site-main > * {
	margin-block: 0;
}

/* Front page only: the last section meets the footer. The root block gap
   (1.5rem) would leave a strip of page background above the footer, and the
   Template Part block has no spacing setting of its own. */
.site-main:has(> .zavet-sections) + .site-footer-part {
	margin-block-start: 0;
}

/* -------------------------------------------------------------------------
 * 2. Shared section parts
 * ---------------------------------------------------------------------- */

.zavet-section {
	padding-block: var(--wp--preset--spacing--70);
}

/* Services and news share one light band in the design. */
.zavet-services-section + .zavet-news {
	padding-top: 0;
}

.is-style-eyebrow {
	color: var(--wp--preset--color--stone);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1.4;
	margin-block-end: 0.9rem;
	text-transform: uppercase;
}

.is-style-eyebrow:not(.has-text-align-center)::after {
	background: var(--zavet-gold);
	content: "";
	display: inline-block;
	height: 1px;
	margin-inline-start: 1rem;
	vertical-align: middle;
	width: 3.5rem;
}

:where(.zavet-hero, .zavet-donate, .has-forest-background-color, .has-umber-background-color) .is-style-eyebrow {
	color: var(--zavet-gold-light);
}

.is-style-eyebrow + :where(h1, h2, h3) {
	margin-block-start: 0;
}

.is-style-lead {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
}

.zavet-section-head {
	gap: 1rem 2rem;
	margin-block-end: var(--wp--preset--spacing--50);
}

.zavet-section-head h2 {
	margin-block: 0;
}

.zavet-section-head.is-centered {
	text-align: center;
}

.is-style-link-arrow {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0;
}

.is-style-link-arrow a {
	border-bottom: 1px solid var(--zavet-line);
	color: var(--zavet-ink);
	display: inline-flex;
	gap: 0.6rem;
	padding-block: 0.25rem;
	text-decoration: none;
	transition: border-color var(--zavet-ease), color var(--zavet-ease);
}

.is-style-link-arrow a::after {
	color: var(--wp--preset--color--bronze);
	content: "\2192";
	transition: transform var(--zavet-ease);
}

.is-style-link-arrow a:hover,
.is-style-link-arrow a:focus-visible {
	border-color: var(--zavet-gold);
	color: var(--wp--preset--color--bronze);
}

.is-style-link-arrow a:hover::after {
	transform: translateX(3px);
}

/* Buttons */
.wp-block-button__link {
	transition: background-color var(--zavet-ease), border-color var(--zavet-ease), color var(--zavet-ease), transform var(--zavet-ease);
}

.wp-block-button.is-style-arrow .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-inline-start: 0.7em;
	transition: transform var(--zavet-ease);
}

.wp-block-button.is-style-arrow .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.wp-block-button.is-style-outline-light .wp-block-button__link {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.85);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-outline-light .wp-block-button__link:hover,
.wp-block-button.is-style-outline-light .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--zavet-ink);
}

/* Quote styles */
.wp-block-quote.is-style-verse {
	border: 0;
	margin-inline: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.125rem;
	line-height: 1.6;
	margin-block-start: var(--wp--preset--spacing--60);
	max-width: 30rem;
	padding: 0 0 0 4.25rem;
	position: relative;
}

.wp-block-quote.is-style-verse::before {
	background: url("../images/cross.svg") center / contain no-repeat;
	content: "";
	height: 4.5rem;
	left: 0;
	position: absolute;
	top: 0.1rem;
	width: 2.75rem;
}

.wp-block-quote.is-style-verse p {
	margin: 0;
}

.wp-block-quote :where(cite) {
	color: var(--zavet-gold);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-style: normal;
	letter-spacing: 0.06em;
	margin-block-start: 0.6rem;
}

.wp-block-quote.is-style-verse cite {
	color: var(--zavet-gold-light);
}

.wp-block-quote:where(.is-style-verse, .is-style-scripture) cite::before {
	content: "/\00a0";
}

.wp-block-quote:where(.is-style-verse, .is-style-scripture) cite::after {
	content: "\00a0/";
}

.wp-block-quote.is-style-scripture {
	border: 0;
	font-style: normal;
	margin-inline: auto;
	max-width: 34rem;
	padding: 0;
	text-align: center;
}

.wp-block-quote.is-style-scripture p {
	font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
	line-height: 1.3;
}

.wp-block-quote.is-style-scripture cite {
	text-align: center;
}

/* Lists, separators, framed images */
.wp-block-list.is-style-plain {
	list-style: none;
	padding-inline-start: 0;
}

.wp-block-separator.is-style-ornament {
	background: url("../images/ornament.svg") center / contain no-repeat;
	border: 0;
	height: 24px;
	margin-inline: auto;
	max-width: 10rem;
	opacity: 1;
	width: 100%;
}

.wp-block-image.is-style-framed img {
	border: 8px solid var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.wp-block-group.is-style-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--zavet-line);
	padding: var(--wp--preset--spacing--40);
}

/* -------------------------------------------------------------------------
 * 3. Header and navigation
 * ---------------------------------------------------------------------- */

.site-header-part {
	background: var(--wp--preset--color--umber);
	color: var(--wp--preset--color--parchment);
	position: relative;
	z-index: 20;
}

.site-header-part.is-overlay {
	background: linear-gradient(180deg, rgba(20, 14, 9, 0.78) 0%, rgba(20, 14, 9, 0.42) 62%, rgba(20, 14, 9, 0) 100%);
	inset: 0 0 auto;
	position: absolute;
}

/* In the Site Editor the front-page template has no hero under the header. */
.editor-styles-wrapper .site-header-part.is-overlay {
	background: var(--wp--preset--color--umber);
	position: relative;
}

/* Editing the Header template part on its own: without the template part
   wrapper the header had no background, so its light texts (site title,
   tagline, language switcher) were invisible. Editor only. */
.editor-styles-wrapper .site-header {
	background-color: var(--wp--preset--color--umber);
}

.site-header__bar {
	gap: 1.5rem;
	min-height: 64px;
}

.site-brand {
	gap: 0.85rem;
	flex-shrink: 0;
}

.site-brand__logo {
	flex-shrink: 0;
	margin: 0;
}

.site-brand__logo img {
	display: block;
}

.site-brand__text {
	gap: 0.15rem;
}

.site-brand__title {
	font-size: 1.375rem;
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.site-brand__title a {
	color: var(--zavet-gold-light);
	text-decoration: none;
}

.site-brand__title a:hover {
	color: var(--wp--preset--color--white);
}

.site-brand__tagline {
	color: var(--wp--preset--color--parchment);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.45;
	margin: 0;
	max-width: 15.5rem;
	text-transform: uppercase;
}

.site-header__actions {
	gap: 1.75rem;
}

.site-nav {
	--navigation-layout-justification-setting: flex-end;
}

.site-nav .wp-block-navigation__container {
	gap: 0.25rem 1.6rem;
}

.site-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
	padding-block: 0.4rem;
	position: relative;
	text-decoration: none;
	transition: color var(--zavet-ease);
}

.site-nav .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--zavet-gold-light);
}

.site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	background: var(--zavet-gold);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--zavet-ease);
	width: 100%;
}

.site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.site-nav .current-menu-item > .wp-block-navigation-item__content::after,
.site-nav .current-menu-ancestor > .wp-block-navigation-item__content::after,
.site-nav .wp-block-navigation-item__content[aria-current="page"]::after {
	transform: scaleX(1);
}

.site-nav .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--zavet-gold-light);
}

.site-nav .wp-block-navigation__submenu-icon {
	color: var(--zavet-gold-light);
}

/*
 * Desktop dropdown (submenus of the Navigation block, 1180px and wider).
 *
 * A light, opaque panel so the links stay readable over the hero photo and
 * over the dark header. Scoped to the closed responsive container, so none of
 * it reaches the mobile overlay menu (styled further below).
 *
 * The block's own "Submenu & overlay" colour setting is not used: it colours
 * the dropdown and the mobile overlay together, and the overlay stays dark.
 * Core's submenu rules give the panel `color: #000` and make the links
 * inherit it with a more specific selector, hence the long selectors here.
 */
.site-nav {
	--zavet-submenu-pad-x: 1rem;
	--zavet-submenu-offset: 0.5rem;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(36, 23, 16, 0.1);
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(36, 23, 16, 0.06), 0 10px 28px rgba(36, 23, 16, 0.16);
	color: var(--zavet-ink);
	padding: 0.375rem 0;
}

/* First level: open below the parent with a small gap, menu text aligned with
   the parent's label, never wider than the viewport. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	left: calc(-1 * var(--zavet-submenu-pad-x));
	max-width: calc(100vw - 2rem);
	min-width: 13.75rem;
	right: auto;
	top: calc(100% + var(--zavet-submenu-offset));
}

/* The two last top-level items open towards the left, inside the viewport. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
	left: auto;
	right: calc(-1 * var(--zavet-submenu-pad-x));
}

/* Invisible bridge over the gap: the pointer stays inside the menu item while
   it moves from the parent link down to the panel. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before {
	bottom: 100%;
	content: "";
	height: calc(var(--zavet-submenu-offset) + 2px);
	left: 0;
	position: absolute;
	right: 0;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--zavet-ink);
	line-height: 1.45;
	overflow-wrap: break-word;
	padding: 0.75rem var(--zavet-submenu-pad-x);
	text-shadow: none;
	transition: background-color 150ms ease, color 150ms ease;
	white-space: normal;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background-color: var(--wp--preset--color--parchment);
	color: var(--wp--preset--color--bronze);
}

/* Keyboard focus: a dark ring inside the item (the header's light-gold ring
   would not show on the white panel). */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--wp--preset--color--bronze);
	outline-offset: -2px;
}

/* Current page: bronze text and a bronze bar on the left edge. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	box-shadow: inset 3px 0 0 var(--wp--preset--color--bronze);
	color: var(--wp--preset--color--bronze);
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	display: none;
}

/* The submenu toggle (chevron) opens the panel on touch screens and from the
   keyboard; give it a 24px hit area without moving anything. */
.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle {
	position: relative;
	z-index: 2;
}

.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle::before {
	content: "";
	inset: -8px -12px -8px -4px;
	position: absolute;
}

/* Mobile menu (core overlay) */
.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--white);
}

.site-nav .wp-block-navigation__responsive-container-open svg {
	height: 30px;
	width: 30px;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	text-align: start;
	background: var(--wp--preset--color--umber) !important;
	color: var(--wp--preset--color--white) !important;
	padding: var(--wp--preset--spacing--50) clamp(1.25rem, 6vw, 3rem);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	padding-top: 3.5rem;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.35rem;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.625rem;
	padding-block: 0.35rem;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	padding: 0 0 0.5rem 1rem;
}

/* Submenu links in the overlay: at least 44px tall for touch. */
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--parchment);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.0625rem;
	padding: 0.5rem 0;
}

/* Current page in the overlay: light gold and a thin gold underline, like the
   top-level items. */
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--zavet-gold-light);
	text-decoration: underline 1px var(--zavet-gold);
	text-underline-offset: 0.4em;
}

.site-header__donate .wp-block-button__link {
	font-size: 0.875rem;
	padding: 0.8em 1.6em;
}

/*
 * Language switcher (ZAVET Core block zavet/language-switcher) at the end of
 * the header bar. The block's own stylesheet styles the toggle and its menu;
 * these rules fit it into the bar.
 */

/* Closer to the donate button than the menu is, so the bar keeps its width. */
.site-header__actions > .zavet-lang {
	margin-inline-start: -0.75rem;
}

/* On the hero the toggle gets the same text shadow as the menu. */
.site-header-part.is-overlay .zavet-lang__toggle {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}

/* The Russian parish name is longer: slightly tighter letter spacing keeps the
   tagline on two lines, like the Latvian one. */
:root:lang(ru) .site-brand__tagline {
	letter-spacing: 0.08em;
}

@media (max-width: 781px) {
	/* Compact toggle and a tighter gap on phones and small tablets. */
	.site-header__actions > .zavet-lang {
		margin-inline-start: -0.25rem;
	}

	.site-header__bar .zavet-lang__toggle {
		gap: 0.3rem;
		padding: 0 0.5rem;
	}

	:root:lang(ru) .site-header__bar .site-brand__tagline {
		max-width: 14rem;
	}
}

/* "Пожертвовать" does not fit next to the logo, the menu button and the
   language switcher on narrow phones (the Latvian button hides below 381px);
   the donation band of the home page and the footer link stay. */
@media (max-width: 439px) {
	:root:lang(ru) .site-header__bar .site-header__donate {
		display: none;
	}
}

/* -------------------------------------------------------------------------
 * 4. Home page sections
 * ---------------------------------------------------------------------- */

/* Hero */
/* Height follows the 16:9 hero photograph (56.25vw) so its whole composition shows,
   but never more than the screen. Overrides the Cover block's fixed min-height. */
.zavet-hero {
	min-height: clamp(600px, min(94svh, 56.25vw), 1200px) !important;
	padding-block: calc(var(--zavet-header-height) + var(--wp--preset--spacing--50)) var(--wp--preset--spacing--60);
}

.zavet-hero .wp-block-cover__inner-container {
	color: var(--wp--preset--color--white);
}

.zavet-hero__content > * {
	max-width: 40rem;
}

.zavet-hero__content > .zavet-hero__title {
	letter-spacing: -0.01em;
	line-height: 1.04;
	margin-block: 0.25rem 1.1rem;
	max-width: 10em;
	text-wrap: wrap;
}

.zavet-hero__lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem);
	margin-block: 0 var(--wp--preset--spacing--50);
	max-width: 30rem;
}

.zavet-hero__buttons {
	gap: 1rem;
}

/* About */
.zavet-about {
	overflow: hidden;
	position: relative;
}

.zavet-about::after {
	background: url("../images/ornate-cross.svg") center / contain no-repeat;
	content: "";
	height: 30rem;
	opacity: 0.45;
	pointer-events: none;
	position: absolute;
	right: max(-3rem, calc((100vw - 1400px) / 2));
	top: 50%;
	transform: translateY(-55%);
	width: 18rem;
}

.zavet-about__columns {
	gap: var(--wp--preset--spacing--70);
	position: relative;
	z-index: 1;
}

.zavet-about__text h2 {
	margin-block-end: 1.25rem;
}

.zavet-about__text p:not(.is-style-eyebrow) {
	max-width: 34rem;
}

.zavet-collage {
	min-height: 30rem;
	position: relative;
}

.zavet-collage::before {
	background: var(--wp--preset--color--parchment) url("../images/pattern-tile.svg") 0 0 / 90px;
	bottom: 6%;
	content: "";
	left: 52%;
	position: absolute;
	top: 8%;
	width: 22%;
}

.zavet-collage::after {
	background: var(--wp--preset--color--sand);
	bottom: -0.5rem;
	content: "";
	height: 18%;
	left: 26%;
	opacity: 0.55;
	position: absolute;
	width: 24%;
}

.zavet-collage .wp-block-image {
	margin: 0;
	position: relative;
	z-index: 1;
}

.zavet-collage__main {
	width: 64%;
}

.zavet-collage__main img {
	aspect-ratio: 4 / 5;
	box-shadow: var(--wp--preset--shadow--soft);
	display: block;
	object-fit: cover;
	width: 100%;
}

.zavet-collage__detail {
	bottom: 0;
	position: absolute !important;
	right: 4%;
	width: 42%;
}

.zavet-collage__detail img {
	aspect-ratio: 3 / 4;
	border: 6px solid var(--wp--preset--color--ivory);
	box-shadow: var(--wp--preset--shadow--lifted);
	display: block;
	object-fit: cover;
	width: 100%;
}

/* Values */
.zavet-values {
	background-image: url("../images/pattern-tile.svg");
	background-size: 160px;
}

.zavet-values__grid {
	gap: var(--wp--preset--spacing--50);
}

.zavet-value__icon {
	align-items: center;
	background: rgba(253, 251, 248, 0.85);
	border: 1px solid var(--zavet-line);
	border-radius: 50%;
	display: flex;
	height: 6.5rem;
	justify-content: center;
	margin-block-end: 1.25rem !important;
	transition: border-color var(--zavet-ease), transform var(--zavet-ease);
	width: 6.5rem;
}

.zavet-value__icon img {
	height: 3.25rem;
	width: 3.25rem !important;
}

.zavet-value:hover .zavet-value__icon {
	border-color: var(--zavet-gold);
	transform: translateY(-2px);
}

.zavet-value__title {
	font-size: 1.5rem;
	margin-block: 0 0.5rem;
}

.zavet-value__text {
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-inline: auto;
	max-width: 16rem;
}

/* Donation */
.zavet-donate {
	overflow: hidden;
	position: relative;
}

.zavet-donate::before {
	background: url("../images/church-outline.svg") center bottom / contain no-repeat;
	bottom: -2rem;
	content: "";
	height: 26rem;
	left: 34%;
	opacity: 0.18;
	pointer-events: none;
	position: absolute;
	width: 22rem;
}

.zavet-donate__columns {
	gap: var(--wp--preset--spacing--70);
	position: relative;
	z-index: 1;
}

.zavet-donate__text h2 {
	margin-block-end: 1.25rem;
	max-width: 30rem;
}

.zavet-donate__text p:not(.is-style-eyebrow) {
	color: rgba(232, 220, 203, 0.92);
	max-width: 32rem;
}

.zavet-donate .zavet-donate__details {
	border-inline-start: 1px solid rgba(226, 196, 151, 0.4);
	color: var(--wp--preset--color--parchment);
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-block: 1.5rem;
	padding-inline-start: 1.25rem;
}

.zavet-donate__details strong {
	color: var(--wp--preset--color--white);
	font-weight: 600;
}

.zavet-donate__illustration {
	margin-block-end: 1.25rem !important;
}

.zavet-donate__verse p {
	color: var(--wp--preset--color--white);
	font-size: clamp(1.25rem, 1rem + 0.8vw, 1.625rem) !important;
	font-style: italic;
}

.zavet-donate__verse cite {
	color: var(--zavet-gold-light);
}

/* Interior photograph with a Bible verse */
.zavet-scripture {
	min-height: clamp(26rem, 38vw, 34rem);
}

.zavet-scripture .wp-block-media-text__media {
	position: relative;
}

.zavet-scripture .wp-block-media-text__media::after {
	background: linear-gradient(90deg, rgba(245, 237, 226, 0) 50%, rgba(245, 237, 226, 0.65) 80%, var(--wp--preset--color--parchment) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.zavet-scripture .wp-block-media-text__content {
	padding: var(--wp--preset--spacing--70) clamp(1.5rem, 5vw, 5rem);
}

.zavet-scripture .is-style-scripture p {
	color: var(--zavet-ink);
	font-family: var(--wp--preset--font-family--serif);
}

/* -------------------------------------------------------------------------
 * 5. Services block (zavet/upcoming-services)
 * ---------------------------------------------------------------------- */

.zavet-services {
	display: grid;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

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

.zavet-service {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--zavet-line);
	display: flex;
	gap: 1.25rem;
	margin: 0;
	padding: 1rem;
	transition: border-color var(--zavet-ease), box-shadow var(--zavet-ease);
}

.zavet-service:hover {
	border-color: var(--zavet-gold-light);
	box-shadow: var(--wp--preset--shadow--soft);
}

.zavet-service__date {
	align-items: center;
	align-self: stretch;
	background: var(--wp--preset--color--parchment);
	color: var(--zavet-ink);
	display: flex;
	flex: 0 0 5.25rem;
	flex-direction: column;
	justify-content: center;
	padding: 0.85rem 0.5rem;
	text-align: center;
}

.zavet-service__weekday,
.zavet-service__month-abbr {
	color: var(--wp--preset--color--stone);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.zavet-service__day {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.375rem;
	font-weight: 500;
	line-height: 1.05;
	margin-block: 0.1rem;
}

.zavet-service__body {
	align-self: center;
	min-width: 0;
	padding-block: 0.35rem;
}

.zavet-service__title {
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0 0 0.45rem;
}

.zavet-service__occasion {
	color: var(--wp--preset--color--bronze);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.35;
	margin: -0.2rem 0 0.45rem;
}

.zavet-service__time,
.zavet-service__location {
	align-items: flex-start;
	display: flex;
	font-size: 0.875rem;
	gap: 0.5rem;
	line-height: 1.45;
	margin: 0.2rem 0 0;
}

.zavet-service__time {
	color: var(--zavet-ink);
	font-weight: 600;
}

.zavet-service__icon {
	color: var(--zavet-gold);
	flex: 0 0 auto;
	margin-top: 0.12rem;
}

.zavet-service__description {
	font-size: 0.875rem;
	margin-top: 0.5rem;
}

.zavet-service__description > * {
	margin: 0;
}

.zavet-services__month {
	border-bottom: 1px solid var(--zavet-line);
	font-size: var(--wp--preset--font-size--x-large);
	margin: var(--wp--preset--spacing--60) 0 1.25rem;
	padding-bottom: 0.6rem;
}

.zavet-services__month:first-child {
	margin-top: 0;
}

.zavet-services--list {
	gap: 0.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zavet-services--list .zavet-service {
	padding: 0.75rem;
}

.zavet-services--list .zavet-service__date {
	flex-basis: 4.5rem;
	padding: 0.6rem 0.35rem;
}

.zavet-services--list .zavet-service__day {
	font-size: 2rem;
}

.zavet-services__empty {
	background: var(--wp--preset--color--parchment);
	border-inline-start: 3px solid var(--zavet-gold);
	margin: 0;
	padding: 1.25rem 1.5rem;
}

/* -------------------------------------------------------------------------
 * 6. Cards and archives
 * ---------------------------------------------------------------------- */

.zavet-cards {
	gap: 1.75rem !important;
}

.zavet-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--zavet-line);
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: border-color var(--zavet-ease), box-shadow var(--zavet-ease), transform var(--zavet-ease);
}

.zavet-card:hover {
	border-color: var(--zavet-gold-light);
	box-shadow: var(--wp--preset--shadow--soft);
}

.zavet-card > * {
	margin-block: 0 !important;
}

.zavet-card__media {
	margin: 0;
	overflow: hidden;
}

.zavet-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms ease;
	width: 100%;
}

.zavet-card:hover .zavet-card__media img {
	transform: scale(1.03);
}

.zavet-placeholder {
	background: var(--wp--preset--color--parchment) url("../images/pattern-tile.svg") center / 120px;
	display: block;
	margin: 0;
	position: relative;
	width: 100%;
}

.zavet-placeholder a {
	display: block;
	height: 100%;
	width: 100%;
}

.zavet-placeholder__mark {
	background: url("../images/cross.svg") center / contain no-repeat;
	height: 42%;
	left: 50%;
	opacity: 0.75;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 20%;
}

.zavet-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1.35rem 1.5rem 1.5rem;
}

.zavet-card__body > * {
	margin: 0 !important;
}

.zavet-card__title {
	font-size: 1.3125rem;
	line-height: 1.25;
}

.zavet-card__title a {
	color: var(--zavet-ink);
	text-decoration: none;
}

.zavet-card__title a:hover,
.zavet-card__title a:focus-visible {
	color: var(--wp--preset--color--bronze);
}

.zavet-card__excerpt {
	color: var(--wp--preset--color--stone);
}

.zavet-card__excerpt p {
	margin: 0;
}

.zavet-card__more {
	align-self: flex-start;
	color: var(--zavet-ink);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-top: auto !important;
	padding-top: 0.35rem;
	text-decoration: none;
}

.zavet-card__more::after {
	color: var(--wp--preset--color--bronze);
	content: "\2192";
	display: inline-block;
	margin-inline-start: 0.5rem;
	transition: transform var(--zavet-ease);
}

.zavet-card__more:hover {
	color: var(--wp--preset--color--bronze);
}

.zavet-card__more:hover::after {
	transform: translateX(3px);
}

.zavet-pagination {
	gap: 0.5rem;
	margin-block-start: var(--wp--preset--spacing--60) !important;
}

.zavet-pagination a,
.zavet-pagination .page-numbers {
	border: 1px solid var(--zavet-line);
	color: var(--zavet-ink);
	display: inline-block;
	min-width: 2.75rem;
	padding: 0.55rem 0.85rem;
	text-align: center;
	text-decoration: none;
}

.zavet-pagination .page-numbers.current {
	background: var(--zavet-ink);
	border-color: var(--zavet-ink);
	color: var(--wp--preset--color--white);
}

.zavet-pagination a:hover {
	border-color: var(--zavet-gold);
	color: var(--wp--preset--color--bronze);
}

.zavet-result {
	border-bottom: 1px solid var(--zavet-line);
	padding-block: 1.5rem;
}

.zavet-result__title {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

.zavet-result__title a {
	color: var(--zavet-ink);
	text-decoration: none;
}

.zavet-result__title a:hover {
	color: var(--wp--preset--color--bronze);
}

.zavet-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--zavet-line);
	background: var(--wp--preset--color--white);
	max-width: 36rem;
	padding: 0.25rem;
}

.zavet-search .wp-block-search__input {
	border: 0;
	font-size: 1rem;
	padding: 0.65rem 0.85rem;
}

.zavet-search .wp-block-search__button {
	margin-inline-start: 0.25rem;
}

/* -------------------------------------------------------------------------
 * 7. Inner pages and post content
 * ---------------------------------------------------------------------- */

.page-hero {
	background-image: url("../images/pattern-tile.svg");
	background-size: 160px;
	overflow: hidden;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60);
	position: relative;
}

.page-hero::after {
	background: url("../images/ornate-cross.svg") center / contain no-repeat;
	content: "";
	height: 15rem;
	opacity: 0.35;
	pointer-events: none;
	position: absolute;
	right: max(1rem, calc((100vw - 1240px) / 2));
	top: 50%;
	transform: translateY(-50%);
	width: 9rem;
}

.page-hero__inner {
	position: relative;
	z-index: 1;
}

.page-hero__inner > * {
	margin-block: 0;
}

.page-hero__inner > * + * {
	margin-block-start: 0.9rem;
}

.page-hero__title {
	max-width: 52rem;
	text-wrap: balance;
}

.page-hero__lead,
.page-hero__lead p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
	margin: 0;
	max-width: 44rem;
}

.page-hero__meta {
	color: var(--wp--preset--color--stone);
	font-size: 0.8125rem;
	gap: 0.5rem 1.25rem;
	letter-spacing: 0.04em;
}

.page-hero__meta > * {
	margin: 0;
}

.page-hero__terms a {
	color: var(--wp--preset--color--bronze);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Yoast breadcrumbs */
.yoast-breadcrumbs,
.page-hero__inner > p:has(> span > span > a) {
	color: var(--wp--preset--color--stone);
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}

.yoast-breadcrumbs a,
.page-hero__inner span a {
	color: var(--wp--preset--color--stone);
	text-decoration: none;
}

.yoast-breadcrumbs a:hover,
.page-hero__inner span a:hover {
	color: var(--wp--preset--color--bronze);
	text-decoration: underline;
}

.page-body {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80);
}

.page-body > * {
	margin-block-start: 0;
}

.page-body__image {
	margin-block-end: var(--wp--preset--spacing--50) !important;
	text-align: center;
}

.page-body__image img {
	box-shadow: var(--wp--preset--shadow--soft);
	max-height: min(72vh, 640px);
	max-width: 100%;
	object-fit: contain;
	width: auto !important;
}

.wp-block-post-content > * + * {
	margin-block-start: 1.15em;
}

.wp-block-post-content > :where(h2, h3, h4) {
	margin-block-start: 1.8em;
}

.wp-block-post-content :where(h2, h3, h4) + * {
	margin-block-start: 0.6em;
}

.wp-block-post-content a:where(:not(.wp-element-button)) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.wp-block-post-content .wp-block-quote:not([class*="is-style-"]) {
	border-inline-start: 2px solid var(--zavet-gold);
	padding-inline-start: 1.5rem;
}

.wp-block-post-content .wp-block-gallery {
	margin-block: var(--wp--preset--spacing--50);
}

/* Uniform 4:3 tiles in cropped galleries, whatever the photo orientation. */
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
	aspect-ratio: 4 / 3;
	height: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
	transition: opacity var(--zavet-ease);
}

.wp-block-gallery.has-nested-images figure.wp-block-image a:hover img {
	opacity: 0.88;
}

.wp-block-post-content .wp-block-image figcaption,
.wp-block-post-content .wp-element-caption {
	color: var(--wp--preset--color--stone);
	font-size: 0.8125rem;
	margin-top: 0.5rem;
}

.wp-block-post-content table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-post-content :where(th, td) {
	border: 1px solid var(--zavet-line);
	padding: 0.6rem 0.8rem;
}

/* Donation details on the donation page */
.zavet-bank-details {
	background: var(--wp--preset--color--parchment);
	border-inline-start: 3px solid var(--zavet-gold);
	padding: 1.5rem 1.75rem;
}

.zavet-bank-details p {
	margin: 0.25rem 0;
}

.post-navigation {
	border-top: 1px solid var(--zavet-line);
	gap: 1.5rem;
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--40);
}

.post-navigation .post-navigation-link-previous,
.post-navigation .post-navigation-link-next {
	font-size: 0.9375rem;
	max-width: 22rem;
}

.post-navigation .post-navigation-link-next {
	margin-inline-start: auto;
	text-align: end;
}

.post-navigation a {
	color: var(--zavet-ink);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.125rem;
	text-decoration: none;
}

.post-navigation a:hover {
	color: var(--wp--preset--color--bronze);
}

.post-navigation .post-navigation-link__label {
	color: var(--wp--preset--color--stone);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.post-navigation__all {
	margin-block-start: var(--wp--preset--spacing--40) !important;
}

/* -------------------------------------------------------------------------
 * 8. Footer
 * ---------------------------------------------------------------------- */

.site-footer {
	font-size: 0.9375rem;
}

.site-footer a {
	color: var(--wp--preset--color--parchment);
	text-decoration: none;
	transition: color var(--zavet-ease);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--zavet-gold-light);
	text-decoration: underline;
}

.site-footer__columns {
	gap: var(--wp--preset--spacing--60);
}

.site-footer .site-brand__title {
	font-size: 1.75rem;
}

.site-footer .site-brand__tagline {
	color: var(--wp--preset--color--sand);
	font-size: 0.6875rem;
	max-width: 17rem;
}

.site-footer__heading {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 1.25rem;
	text-transform: uppercase;
}

.site-footer__contact-list {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.contact-item {
	line-height: 1.5;
	padding-inline-start: 1.85rem;
	position: relative;
}

.contact-item::before {
	background-color: var(--zavet-gold);
	content: "";
	height: 1.05rem;
	left: 0;
	-webkit-mask: var(--zavet-icon) center / contain no-repeat;
	mask: var(--zavet-icon) center / contain no-repeat;
	position: absolute;
	top: 0.2rem;
	width: 1.05rem;
}

.contact-item--parish {
	--zavet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 2v6M9.5 4h5M10 7l4-1M5 22V12l7-4 7 4v10M3 22h18M10 22v-4a2 2 0 0 1 4 0v4'/%3E%3C/svg%3E");
}

.contact-item--address {
	--zavet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
}

.contact-item--phone {
	--zavet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5 9 3l1.6 4.2-2 1.3a11 11 0 0 0 6.9 6.9l1.3-2 4.2 1.6-.5 2.4c-.2 1-1.1 1.6-2.1 1.6C10.4 19 5 13.6 5 5.6c0-1 .6-1.9 1.6-2.1z'/%3E%3C/svg%3E");
}

.site-footer__nav .wp-block-navigation__container {
	gap: 0.6rem;
}

.site-footer__nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--parchment);
	padding: 0;
}

.site-footer__bottom {
	border-top: 1px solid rgba(232, 220, 203, 0.16);
	color: rgba(232, 220, 203, 0.72);
	font-size: 0.8125rem;
	gap: 0.75rem 2rem;
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--40);
}

.site-footer__bottom p {
	margin: 0;
}

/* -------------------------------------------------------------------------
 * 9. Responsive adjustments
 * ---------------------------------------------------------------------- */

/* Below 1180px the seven menu items no longer fit next to the logo: use the
   core overlay menu, which otherwise only appears below 600px. */
@media (max-width: 1179px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		flex-direction: column;
	}

	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		border: 0;
		height: auto;
		opacity: 1;
		overflow: visible;
		position: static;
		visibility: visible;
		width: auto;
	}

	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		display: none;
	}
}

/* The Russian menu labels and donate button are longer: the full menu fits
   from 1280px, so Russian pages use the overlay menu up to 1279px (the same
   rules as above, for Russian only). */
@media (min-width: 1180px) and (max-width: 1279px) {
	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		flex-direction: column;
	}

	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		border: 0;
		height: auto;
		opacity: 1;
		overflow: visible;
		position: static;
		visibility: visible;
		width: auto;
	}

	:root:lang(ru) .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		display: none;
	}
}

@media (max-width: 1080px) {
	.zavet-services--cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zavet-services--cards .zavet-service:nth-child(3) {
		display: none;
	}
}

@media (max-width: 1023px) {
	.zavet-cards.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.zavet-values__grid {
		flex-wrap: wrap !important;
	}

	.zavet-values__grid > .wp-block-column {
		flex-basis: calc(50% - var(--wp--preset--spacing--50)) !important;
	}

	.zavet-about::after {
		opacity: 0.25;
	}

	/* Home page news: two cards per row, so the third one would stand alone. */
	.zavet-news__query .zavet-cards > li:nth-child(3) {
		display: none;
	}

	.zavet-donate::before {
		left: auto;
		opacity: 0.1;
		right: -5rem;
	}

	.site-footer__columns {
		flex-wrap: wrap !important;
	}

	.site-footer__columns > .site-footer__brand {
		flex-basis: 100% !important;
	}
}

/* Tablets: the photograph is cropped to its right half, so the text reaches over the bright
   church and sky; the hero veil needs to be darker and wider here (WCAG-checked at 790-1000 px). */
@media (min-width: 782px) and (max-width: 1023px) {
	.zavet-hero .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(26, 19, 12, 0.65) 0%, rgba(26, 19, 12, 0.6) 50%, rgba(26, 19, 12, 0.35) 72%, rgba(26, 19, 12, 0.1) 92%, rgba(26, 19, 12, 0.08) 100%) !important;
	}
}

/* Laptops: the longer parish name (2026-10-22) puts the first heading line over the
   bright church; a slightly darker veil keeps it above 3:1 (WCAG-checked at 1024-1279 px). */
@media (min-width: 1024px) and (max-width: 1279px) {
	.zavet-hero .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(26, 19, 12, 0.6) 0%, rgba(26, 19, 12, 0.55) 40%, rgba(26, 19, 12, 0.4) 62%, rgba(26, 19, 12, 0.1) 80%, rgba(26, 19, 12, 0) 100%) !important;
	}
}

/* The Russian heading runs to four lines; up to about 1310px its second line
   reaches over the bright church (2.9:1 measured at 1280px), so Russian pages
   keep the laptop veil up to 1365px. */
@media (min-width: 1280px) and (max-width: 1365px) {
	:root:lang(ru) .zavet-hero .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(26, 19, 12, 0.6) 0%, rgba(26, 19, 12, 0.55) 40%, rgba(26, 19, 12, 0.4) 62%, rgba(26, 19, 12, 0.1) 80%, rgba(26, 19, 12, 0) 100%) !important;
	}
}

@media (max-width: 781px) {
	:root {
		--zavet-header-height: 80px;
	}

	.site-brand__tagline {
		font-size: 0.5625rem;
		max-width: 12.5rem;
	}

	.site-brand__logo img {
		width: 42px !important;
	}

	.site-header__actions {
		gap: 0.75rem;
	}

	.site-header__donate .wp-block-button__link {
		font-size: 0.8125rem;
		padding: 0.65em 1.1em;
	}

	/* Hero: the portrait photograph fills the screen, text on a bottom veil. */
	.zavet-hero {
		align-items: flex-end !important;
		min-height: max(640px, 100svh) !important;
		padding-block-end: var(--wp--preset--spacing--50);
	}

	/* Phones: the text runs over the domes and the sky, so the veil darkens from the top down.
	   Values checked for WCAG contrast on the photograph at 320 and 390 px. */
	.zavet-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(26, 19, 12, 0.5) 0%, rgba(26, 19, 12, 0.5) 10%, rgba(26, 19, 12, 0.75) 22%, rgba(26, 19, 12, 0.85) 40%, rgba(26, 19, 12, 0.93) 100%) !important;
	}

	.wp-block-quote.is-style-verse {
		margin-block-start: var(--wp--preset--spacing--50);
		padding-inline-start: 3.25rem;
	}

	.wp-block-quote.is-style-verse::before {
		height: 3.5rem;
		width: 2.1rem;
	}

	.zavet-collage {
		margin-top: var(--wp--preset--spacing--40);
		min-height: 0;
		padding-bottom: 18%;
	}

	.zavet-collage__main {
		width: 78%;
	}

	.zavet-collage__detail {
		width: 44%;
		right: 0;
	}

	.zavet-about::after {
		display: none;
	}

	.zavet-donate::before {
		left: auto;
		opacity: 0.1;
		right: -4rem;
	}

	.zavet-scripture .wp-block-media-text__media {
		min-height: 18rem;
	}

	.zavet-scripture .wp-block-media-text__media::after {
		background: linear-gradient(180deg, rgba(245, 237, 226, 0) 55%, var(--wp--preset--color--parchment) 100%);
	}

	.zavet-scripture .wp-block-media-text__content {
		padding: var(--wp--preset--spacing--50) clamp(1.25rem, 5vw, 2rem) var(--wp--preset--spacing--60);
	}

	.zavet-services--cards,
	.zavet-services--list {
		grid-template-columns: minmax(0, 1fr);
	}

	.zavet-services--cards .zavet-service:nth-child(3) {
		display: flex;
	}

	.page-hero::after {
		display: none;
	}

	.site-footer__columns {
		gap: var(--wp--preset--spacing--50);
	}
}

@media (max-width: 599px) {
	.zavet-cards.is-layout-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.zavet-news__query .zavet-cards > li:nth-child(3) {
		display: block;
	}

	.zavet-collage::before,
	.zavet-collage::after {
		display: none;
	}

	.zavet-values__grid > .wp-block-column {
		flex-basis: 100% !important;
	}

	.site-brand__tagline {
		display: none;
	}

	.site-brand__title {
		font-size: 1.25rem;
	}

	.zavet-hero__buttons .wp-block-button {
		flex: 1 1 100%;
	}

	.zavet-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.post-navigation .post-navigation-link-next {
		margin-inline-start: 0;
		text-align: start;
	}
}

@media (max-width: 380px) {
	/* Two classes: core's "body .is-layout-flex { display: flex }" outranks one. */
	.site-header__bar .site-header__donate {
		display: none;
	}

	.zavet-hero__content > .zavet-hero__title {
		font-size: 2.125rem !important;
	}
}

/* -------------------------------------------------------------------------
 * 10. Reduced motion
 * ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}

	.zavet-card:hover .zavet-card__media img,
	.zavet-value:hover .zavet-value__icon {
		transform: none;
	}
}
