/* =========================================================================
   Seosite · разметка WordPress поверх стилей прототипов (site.css — копия, её не правим).
   Здесь только то, чем блоки WordPress отличаются от HTML прототипов: обёртки wp-block-*,
   картинка в <figure>, служебные классы и замены встроенных стилей прототипа.
   ========================================================================= */

/* Служебный текст для экранных дикторов (WordPress использует screen-reader-text) */
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Кнопки: core/buttons даёт обёртки div.wp-block-buttons > div.wp-block-button > a.btn.
   Классы btn переносит на ссылку фильтр Markers, обёртки не должны менять раскладку. */
.wp-block-buttons > .wp-block-button { display: inline-flex; margin: 0; }
.wp-block-button__link.btn { height: auto; word-break: normal; text-align: start; }
.pain-panel > .wp-block-buttons, .quickfix > .wp-block-buttons { display: flex; }

/* Картинка в «Проект веду сам»: core/image оборачивает <img> в <figure> */
.portrait > .wp-block-image { position: absolute; inset: 0; margin: 0; }
.portrait > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }

/* WordPress сбрасывает отступы <figure> (:where(figure){margin:0 0 1em}), а отзывы в прототипе
   стоят со стандартными отступами браузера */
.reviews-track > figure.review { margin: 1em 40px; }

/* Замены инлайн-стилей прототипа, которые core-блоки сохранить не могут */
.is-sticky-under-header { position: sticky; top: calc(var(--header-h) + 24px); }
.case-feature a:not(.btn) { color: var(--flow-light); }

/* Ошибка отправки формы (assets/js/wp/forms.js) */
.form-error { margin: 0; color: var(--leak); font-size: var(--step--1); }
.form-error[hidden] { display: none; }
.form button[aria-busy="true"] { opacity: 0.7; cursor: progress; }

/* Пагинация и список записей в шаблоне index.html */
.wp-block-query-pagination { display: flex; gap: 12px; margin-top: 32px; }
.related .wp-block-post { display: grid; gap: 10px; padding: 24px; border-radius: var(--radius-md); background: var(--surface); border: 1px solid var(--line); }
.related .wp-block-post-title a { color: inherit; text-decoration: none; }
