/*
Theme Name: Ruslan Mulyukov — Editorial
Theme URI: https://ruslanmulyukov.ru
Description: Строгая редакционная дочерняя тема для Twenty Twenty-Five. Монохромная палитра, чёткая типографская иерархия, никаких размытых теней.
Author: Руслан Мулюков
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rm-editorial
*/

/* ==========================================================================
   1. Design tokens
   Цвета и кегли продублированы из theme.json, чтобы ими можно было
   пользоваться в компонентных стилях ниже.
   ========================================================================== */

:root {
	--rm-ink:          #18181B;
	--rm-ink-muted:    #5C5F66;
	--rm-ink-faint:    #8A8D93;
	--rm-bg:           #FAFAFA;
	--rm-surface:      #FFFFFF;
	--rm-subtle:       #F1F1F3;
	--rm-accent:       #2C3E50;
	--rm-line:         #E4E4E7;
	--rm-line-soft:    rgba(0, 0, 0, 0.08);

	--rm-radius:       2px;
	--rm-radius-lg:    4px;

	--rm-measure:      720px;

	/* Вертикальный ритм */
	--rm-rhythm:       1.5rem;
	--rm-rhythm-lg:    2.75rem;

	--rm-meta-size:    0.8125rem;   /* 13px */
	--rm-meta-track:   0.06em;
}

/* ==========================================================================
   2. База
   ========================================================================== */

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

::selection {
	background: var(--rm-ink);
	color: var(--rm-bg);
}

:where(a):focus-visible,
:where(button):focus-visible,
:where(input):focus-visible,
:where(textarea):focus-visible,
:where(select):focus-visible {
	outline: 2px solid var(--rm-accent);
	outline-offset: 2px;
	border-radius: var(--rm-radius);
}

/* Заголовки: плотный трекинг, короткая интерлиньяжная сетка */
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-query-title,
.wp-block-heading {
	letter-spacing: -0.02em;
	text-wrap: balance;
}

h1, .wp-block-post-title { letter-spacing: -0.03em; line-height: 1.1; }
h2 { line-height: 1.2; }
h3, h4 { line-height: 1.3; }

/* Ритм между блоками контента */
.entry-content > * + *,
.wp-block-post-content > * + * {
	margin-block-start: var(--rm-rhythm);
}

.entry-content > :is(h2, h3, h4),
.wp-block-post-content > :is(h2, h3, h4) {
	margin-block-start: var(--rm-rhythm-lg);
	margin-block-end: 0.6em;
}

/* Ссылки в тексте: подчёркивание тонкой линией с отступом */
.wp-block-post-content a:where(:not(.wp-element-button):not(.wp-block-button__link)),
.entry-content a:where(:not(.wp-element-button):not(.wp-block-button__link)) {
	color: var(--rm-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: var(--rm-line);
	transition: text-decoration-color 0.15s ease, color 0.15s ease;
}

.wp-block-post-content a:where(:not(.wp-element-button):not(.wp-block-button__link)):hover,
.entry-content a:where(:not(.wp-element-button):not(.wp-block-button__link)):hover {
	color: var(--rm-accent);
	text-decoration-color: var(--rm-accent);
}

/* ==========================================================================
   3. Шапка
   ========================================================================== */

.rm-header {
	border-bottom: 1px solid var(--rm-line);
	background: var(--rm-bg);
}

.rm-header .wp-block-site-title {
	font-size: 1.4375rem;
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
	white-space: nowrap;
}

.rm-header .wp-block-site-title a {
	color: var(--rm-ink);
	text-decoration: none;
}

.rm-header .wp-block-navigation {
	font-size: 0.9375rem;
	font-weight: 450;
	letter-spacing: -0.01em;
}

.rm-header .wp-block-navigation a {
	color: var(--rm-ink-muted);
	text-decoration: none;
	padding-block: 2px;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.rm-header .wp-block-navigation a:hover {
	color: var(--rm-ink);
}

.rm-header .wp-block-navigation .current-menu-item > a,
.rm-header .wp-block-navigation .current_page_item > a {
	color: var(--rm-ink);
	border-bottom-color: var(--rm-ink);
}

/* Мобильное меню — плоское, без скруглений и теней */
.rm-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rm-bg);
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.rm-header .wp-block-navigation__responsive-container.is-menu-open a {
	font-size: 1.25rem;
	color: var(--rm-ink);
}

/* Логотип рядом с именем */

.rm-brand {
	flex-wrap: nowrap;
	gap: 0.75rem;
}

.rm-header .wp-block-site-logo {
	line-height: 0;
	flex-shrink: 0;
}

.rm-header .wp-block-site-logo img {
	width: auto;
	height: 48px;
	max-width: none;
	border-radius: 0;
	display: block;
}

/* Логотип в подвале — мельче и приглушённее */
.rm-footer .wp-block-site-logo img {
	height: 32px;
	width: auto;
	opacity: 0.75;
}

@media (max-width: 781px) {
	.rm-header .wp-block-site-logo img { height: 38px; }
	.rm-brand { gap: 0.6rem; }
}

@media (max-width: 400px) {
	/* На узких экранах оставляем только знак, имя уводим из строки */
	.rm-header .rm-brand .wp-block-site-title { display: none; }
}

/* ==========================================================================
   4. Лента публикаций
   ========================================================================== */

.rm-post-list .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rm-post-list .wp-block-post {
	padding-block: 2rem;
	border-top: 1px solid var(--rm-line);
}

.rm-post-list .wp-block-post:first-child {
	border-top: 0;
	padding-top: 0.5rem;
}

.rm-post-list .wp-block-post-title {
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.25;
	margin-block: 0.5rem 0.6rem;
}

.rm-post-list .wp-block-post-title a {
	color: var(--rm-ink);
	text-decoration: none;
	transition: color 0.15s ease;
}

.rm-post-list .wp-block-post-title a:hover {
	color: var(--rm-accent);
}

.rm-post-list .wp-block-post-excerpt__excerpt {
	color: var(--rm-ink-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0;
	max-width: 62ch;
}

.rm-post-list .wp-block-post-excerpt__more-link {
	display: none;
}

/* Метастрока: дата · рубрика · время чтения */
.rm-meta,
.rm-meta * {
	font-size: var(--rm-meta-size);
	line-height: 1.4;
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: var(--rm-ink-faint);
}

.rm-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 0.75rem;
	margin: 0;
}

.rm-meta a {
	color: var(--rm-ink-faint);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.rm-meta a:hover {
	color: var(--rm-ink);
	border-bottom-color: var(--rm-line);
}

/* Разделительная точка между элементами метастроки */
.rm-meta > * + *::before {
	content: "·";
	margin-right: 0.75rem;
	color: var(--rm-line);
}

.rm-reading-time {
	display: inline;
}

/* Пагинация */
.wp-block-query-pagination {
	margin-top: 3rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--rm-line);
	font-size: 0.9375rem;
	letter-spacing: -0.01em;
}

.wp-block-query-pagination a {
	color: var(--rm-ink-muted);
	text-decoration: none;
}

.wp-block-query-pagination a:hover {
	color: var(--rm-ink);
}

.wp-block-query-pagination-numbers .current {
	font-weight: 600;
	color: var(--rm-ink);
}

/* ==========================================================================
   5. Страница статьи
   ========================================================================== */

.rm-article__header {
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--rm-line);
	margin-bottom: 2.5rem;
}

.rm-article__header .wp-block-post-title {
	margin-block: 0.75rem 0;
	font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem);
	font-weight: 600;
}

/* Цитата — акцентная левая линия, без курсива и кавычек-украшений */
.wp-block-quote {
	margin-block: var(--rm-rhythm-lg);
	padding: 0.25rem 0 0.25rem 1.5rem;
	border-left: 2px solid var(--rm-accent);
	border-radius: 0;
	font-size: 1.0625rem;
	font-style: normal;
	color: var(--rm-ink);
}

.wp-block-quote p { margin-block: 0.5rem; }

.wp-block-quote cite,
.wp-block-quote__citation {
	display: block;
	margin-top: 0.75rem;
	font-size: var(--rm-meta-size);
	font-style: normal;
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: var(--rm-ink-faint);
}

.wp-block-pullquote {
	border-top: 1px solid var(--rm-line);
	border-bottom: 1px solid var(--rm-line);
	padding-block: 2rem;
	font-size: 1.375rem;
	letter-spacing: -0.02em;
}

/* Таблицы */
.wp-block-table {
	margin-block: var(--rm-rhythm-lg);
	overflow-x: auto;
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.wp-block-table th {
	text-align: left;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: var(--rm-ink-muted);
	padding: 0.75rem 1rem 0.75rem 0;
	border-bottom: 1px solid var(--rm-ink);
}

.wp-block-table td {
	padding: 0.875rem 1rem 0.875rem 0;
	border-bottom: 1px solid var(--rm-line);
	vertical-align: top;
}

.wp-block-table tr:last-child td { border-bottom: 0; }

.wp-block-table figcaption {
	margin-top: 0.75rem;
}

/* Код */
.wp-block-code,
.wp-block-preformatted {
	background: var(--rm-subtle);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	padding: 1.125rem 1.25rem;
	font-family: var(--wp--preset--font-family--fira-code, ui-monospace, monospace);
	font-size: 0.875rem;
	line-height: 1.6;
	overflow-x: auto;
	tab-size: 2;
}

:not(pre) > code {
	background: var(--rm-subtle);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	padding: 0.1em 0.35em;
	font-family: var(--wp--preset--font-family--fira-code, ui-monospace, monospace);
	font-size: 0.9em;
}

/* Изображения и подписи */
.wp-block-image img,
.wp-block-post-featured-image img {
	border-radius: var(--rm-radius);
	display: block;
}

figcaption,
.wp-element-caption {
	font-size: var(--rm-meta-size);
	line-height: 1.5;
	color: var(--rm-ink-faint);
	margin-top: 0.75rem;
	text-align: left;
	letter-spacing: 0;
	text-transform: none;
}

/* Списки — ровный ритм, аккуратные маркеры */
.wp-block-post-content :is(ul, ol),
.entry-content :is(ul, ol) {
	padding-left: 1.25rem;
}

.wp-block-post-content li + li,
.entry-content li + li {
	margin-top: 0.5rem;
}

.wp-block-post-content li::marker,
.entry-content li::marker {
	color: var(--rm-ink-faint);
}

/* Разделитель */
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--rm-line);
	opacity: 1;
	margin-block: var(--rm-rhythm-lg);
	max-width: none;
}

/* Сноски */
.wp-block-footnotes {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rm-line);
	font-size: 0.9375rem;
	color: var(--rm-ink-muted);
}

/* Блок «Последние записи» на главной — та же сетка, что и в ленте */

.wp-block-latest-posts__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-latest-posts__list > li {
	display: flex;
	flex-direction: column;
	padding-block: 1.5rem;
	border-top: 1px solid var(--rm-line);
}

.wp-block-latest-posts__list > li:first-child {
	border-top: 0;
	padding-top: 0.5rem;
}

.wp-block-latest-posts__post-title {
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	color: var(--rm-ink);
	text-decoration: none;
	transition: color 0.15s ease;
}

.wp-block-latest-posts__post-title:hover { color: var(--rm-accent); }

/* Дату поднимаем над заголовком — как в остальной ленте */
.wp-block-latest-posts__post-date {
	order: -1;
	margin-bottom: 0.5rem;
	font-size: var(--rm-meta-size);
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: var(--rm-ink-faint);
}

.wp-block-latest-posts__post-excerpt {
	margin-top: 0.6rem;
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--rm-ink-muted);
	max-width: 62ch;
}

.wp-block-latest-posts__post-excerpt a { display: none; }

/* Переходы между записями */

.wp-block-post-navigation-link {
	font-size: 0.9375rem;
	letter-spacing: -0.01em;
	max-width: 46%;
}

.wp-block-post-navigation-link a {
	color: var(--rm-ink-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.wp-block-post-navigation-link a:hover {
	color: var(--rm-ink);
	border-bottom-color: var(--rm-line);
}

@media (max-width: 781px) {
	.wp-block-post-navigation-link { max-width: 100%; }
}

/* ==========================================================================
   6. Кнопки
   ========================================================================== */

.wp-block-button__link,
.wp-element-button {
	border-radius: var(--rm-radius);
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	padding: 0.8125rem 1.5rem;
	box-shadow: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	background-color: var(--rm-accent);
	color: var(--rm-surface);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--rm-ink);
	color: var(--rm-ink);
	background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--rm-ink);
	border-color: var(--rm-ink);
	color: var(--rm-bg);
}

/* ==========================================================================
   7. Формы (в т.ч. Contact Form 7)
   ========================================================================== */

.wpcf7-form p {
	margin-block: 0 1.5rem;
}

.wpcf7-form label {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--rm-ink);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.75rem 0.875rem;
	font-family: inherit;
	font-size: 1rem;          /* 16px — не даёт iOS зумить форму */
	line-height: 1.5;
	color: var(--rm-ink);
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	min-height: 9rem;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--rm-accent);
	box-shadow: inset 0 0 0 1px var(--rm-accent);
	outline: none;
}

::placeholder { color: var(--rm-ink-faint); }

.wpcf7-form input[type="submit"],
.wpcf7-submit {
	width: auto;
	margin-top: 0;
	padding: 0.8125rem 1.75rem;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--rm-surface);
	background: var(--rm-ink);
	border: 1px solid var(--rm-ink);
	border-radius: var(--rm-radius);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
	background: var(--rm-accent);
	border-color: var(--rm-accent);
}

/* Сообщения валидации — строгие, без «пузырей» */
.wpcf7 form .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 0.875rem 1rem;
	border: 1px solid var(--rm-line);
	border-left: 2px solid var(--rm-accent);
	border-radius: 0;
	font-size: 0.9375rem;
	background: var(--rm-surface);
}

.wpcf7-not-valid-tip {
	margin-top: 0.4rem;
	font-size: var(--rm-meta-size);
	color: #B42318;
	letter-spacing: 0;
	text-transform: none;
}

.wpcf7-form .wpcf7-not-valid {
	border-color: #B42318;
}

.wpcf7-spinner { margin-left: 0.75rem; }

/* ==========================================================================
   8. Подвал
   ========================================================================== */

.rm-footer {
	border-top: 1px solid var(--rm-line);
	font-size: 0.9375rem;
	color: var(--rm-ink-muted);
}

.rm-footer .wp-block-site-title {
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.rm-footer .wp-block-site-title a,
.rm-footer a {
	color: var(--rm-ink-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.rm-footer a:hover {
	color: var(--rm-ink);
	border-bottom-color: var(--rm-line);
}

.rm-footer .wp-block-site-tagline {
	font-size: 0.9375rem;
	color: var(--rm-ink-faint);
	margin-top: 0.4rem;
}

.rm-footer__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: var(--rm-ink-faint);
	margin: 0 0 0.875rem;
}

.rm-footer .wp-block-navigation {
	font-size: 0.9375rem;
	gap: 0.5rem;
}

.rm-footer__legal {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rm-line);
	font-size: var(--rm-meta-size);
	color: var(--rm-ink-faint);
}

/* ==========================================================================
   10. Каталог дверей
   ========================================================================== */

/* Фильтры по типу */
.rm-filters {
	gap: 0 1.25rem;
	font-size: var(--rm-meta-size);
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
}

.rm-filters p { margin: 0; }

.rm-filters a {
	color: var(--rm-ink-faint);
	text-decoration: none;
	padding-block: 2px;
	border-bottom: 1px solid transparent;
}

.rm-filters a:hover {
	color: var(--rm-ink);
	border-bottom-color: var(--rm-ink);
}

/* Сетка карточек */
.rm-door-grid .wp-block-post-template {
	gap: 2.5rem 1.75rem;
}

.rm-door-grid .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

/* Двери — вытянутые по вертикали, и фабрики отдают их узкими картинками
   (у Geona оригинал 280x800). Поэтому не растягиваем и не обрезаем:
   вписываем целиком и никогда не увеличиваем сверх своего размера —
   иначе фото мылит. */
.rm-door-grid .wp-block-post-featured-image {
	margin: 0;
	background: var(--rm-subtle);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	aspect-ratio: 2 / 3;
	overflow: hidden;
	padding: 0.75rem;
	box-sizing: border-box;
}

.rm-door-grid .wp-block-post-featured-image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.rm-door-grid .wp-block-post-featured-image img {
	border-radius: 0;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: opacity 0.15s ease;
}

.rm-door-grid .wp-block-post-featured-image a:hover img { opacity: 0.88; }

.rm-door-grid .wp-block-post-title {
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.01em;
	margin: 0;
}

.rm-door-grid .wp-block-post-title a {
	color: var(--rm-ink);
	text-decoration: none;
}

.rm-door-grid .wp-block-post-title a:hover { color: var(--rm-accent); }

/* Карточка модели */
.rm-door .wp-block-post-featured-image {
	margin: 0;
	background: var(--rm-subtle);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	overflow: hidden;
	position: sticky;
	top: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 1.5rem;
	box-sizing: border-box;
}

/* Показываем в натуральную величину — апскейл только портит картинку. */
.rm-door .wp-block-post-featured-image img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 70vh;
	border-radius: 0;
}

/* Галерея в карточке — тем же принципом */
.rm-door .wp-block-gallery .wp-block-image {
	background: var(--rm-subtle);
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	padding: 0.5rem;
}

.rm-door .wp-block-gallery img {
	object-fit: contain !important;
	width: auto;
	height: auto;
	max-width: 100%;
}

.rm-door .wp-block-post-title {
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
}

/* Таблица характеристик */
.rm-specs {
	margin-block: var(--rm-rhythm-lg) var(--rm-rhythm);
}

.rm-specs th {
	width: 45%;
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--rm-ink-faint);
	border-bottom: 1px solid var(--rm-line);
	padding: 0.6rem 1rem 0.6rem 0;
	vertical-align: top;
}

.rm-specs td {
	padding: 0.6rem 0;
	font-size: 0.9375rem;
}

/* Ссылка на источник — мелко и приглушённо */
.rm-source {
	margin-top: 1.5rem;
	font-size: var(--rm-meta-size);
	color: var(--rm-ink-faint);
	line-height: 1.5;
}

.rm-source a { color: var(--rm-ink-faint); }

@media (max-width: 781px) {
	.rm-door-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 2rem 1rem;
	}

	.rm-door .wp-block-post-featured-image { position: static; }

	.rm-specs th { width: 50%; }
}

/* ==========================================================================
   11. Баннер на главной
   ========================================================================== */

.rm-hero {
	background: var(--rm-ink);
	color: #FAFAFA;
	overflow: hidden;
}

.rm-hero .wp-block-columns {
	align-items: center;
	gap: 0;
}

.rm-hero__text {
	padding-block: 3.5rem;
	padding-right: 2rem;
}

.rm-hero h1,
.rm-hero .wp-block-heading {
	color: #FAFAFA;
	margin: 0 0 1rem;
}

.rm-hero p {
	color: rgba(250, 250, 250, 0.72);
}

.rm-hero__eyebrow {
	font-size: var(--rm-meta-size);
	letter-spacing: var(--rm-meta-track);
	text-transform: uppercase;
	color: rgba(250, 250, 250, 0.45);
	margin: 0 0 1.25rem;
}

.rm-hero__lead {
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: 46ch;
	margin: 0 0 1.75rem;
}

.rm-hero a:not(.wp-element-button) {
	color: #FAFAFA;
	text-decoration-color: rgba(250, 250, 250, 0.35);
}

.rm-hero .wp-block-button__link {
	background: #FAFAFA;
	color: var(--rm-ink);
	border: 1px solid #FAFAFA;
}

.rm-hero .wp-block-button__link:hover {
	background: transparent;
	color: #FAFAFA;
}

.rm-hero .is-style-outline .wp-block-button__link {
	background: transparent;
	color: #FAFAFA;
	border-color: rgba(250, 250, 250, 0.35);
}

.rm-hero .is-style-outline .wp-block-button__link:hover {
	background: #FAFAFA;
	color: var(--rm-ink);
	border-color: #FAFAFA;
}

/* Портрет: снят на чёрном, поэтому сливается с полосой без видимой рамки */
.rm-hero__photo {
	position: relative;
	align-self: center;
	min-height: 0;
	margin-right: calc(-1 * var(--wp--preset--spacing--40));
}

.rm-hero__photo .wp-block-image,
.rm-hero__photo figure {
	margin: 0;
	height: 100%;
}

/* Портрет уже собран с нужным полем сверху и растворённым левым краем,
   поэтому не кадрируем — показываем целиком. */
/* Портрет собран с растворёнными краями на цвете полосы,
   поэтому просто прижимаем его к низу — стыка не видно. */
.rm-hero__photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 460px;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	margin-top: -1.5rem;
	/* Подстраховка: если колонка окажется уже картинки, края всё равно
	   уйдут в фон полосы и вертикальной границы не будет. */
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
}

@media (max-width: 781px) {
	.rm-hero .wp-block-columns { flex-direction: column-reverse; }

	.rm-hero__text {
		padding-block: 2.5rem 3rem;
		padding-right: 0;
	}

	.rm-hero__photo {
		min-height: 0;
		width: 100%;
	}

	.rm-hero__photo img {
		max-height: 300px;
		object-position: bottom center;
	}

	.rm-hero__lead { font-size: 1rem; }
}

/* ==========================================================================
   9. Адаптив
   ========================================================================== */

@media (max-width: 781px) {
	:root {
		--rm-rhythm:    1.25rem;
		--rm-rhythm-lg: 2.25rem;
	}

	.rm-header .wp-block-site-title { font-size: 1.1875rem; }

	.rm-article__header { margin-bottom: 2rem; }

	.rm-post-list .wp-block-post { padding-block: 1.75rem; }
	.rm-post-list .wp-block-post-title { font-size: 1.1875rem; }

	.wp-block-quote { padding-left: 1.125rem; }

	.wp-block-table table { font-size: 0.875rem; }
	.wp-block-table th,
	.wp-block-table td { padding-right: 0.75rem; white-space: nowrap; }

	.wp-block-buttons { gap: 0.75rem; }
	.wp-block-button { width: 100%; }
	.wp-block-button__link { display: block; text-align: center; }

	.rm-footer__legal { margin-top: 2rem; }
}

@media (max-width: 480px) {
	.rm-meta { gap: 0.35rem 0.6rem; }
	.rm-meta > * + *::before { margin-right: 0.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Печать: только контент */
@media print {
	.rm-header, .rm-footer, .wp-block-query-pagination, .wpcf7 { display: none !important; }
	body { background: #fff; color: #000; }
}
