/*
Theme Name: ПрофСтрой (дочерняя)
Template: blankslate
Description: Дочерняя тема для blankslate. Главная страница «строительство полного цикла», сквозные правки шапки и футера, цели Метрики, микроразметка.
Version: 1.0.0
Text Domain: profstroy-child
*/

/* Стили родительской темы подключаются в functions.php. Здесь только дополнения,
   собранные на существующих токенах темы: цвета #E7D4BF / #977E65 / #202020,
   рамка rgba(151,126,101,.3), шрифты Forum и Futura PT. */

/* ---------- Экран 1. Первый экран ---------- */
.ps-hero h1.zag { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 52px; line-height: 130%; text-transform: uppercase; color: #202020; margin: 0 0 20px; max-width: 900px; }
.ps-hero { margin-bottom: 110px; }
.ps-hero .ps-overline { font-size: 16px; letter-spacing: .08em; text-transform: uppercase; color: #977E65; margin-bottom: 15px; }
/* Размеры заголовка и описания — как на первых экранах страниц услуг (.block-17.uss: H1 52/42/30, подзаголовок 30/20) */
.ps-hero .ps-sub { max-width: 760px; margin-bottom: 30px; font-size: 30px; line-height: 142.857%; }
.ps-markers { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.ps-markers li { border: 1px solid #E7D4BF; border-radius: 100px; padding: 10px 20px; font-size: 16px; line-height: 150%; color: #202020; }
.ps-hero-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.ps-hero-btns a.button { width: auto; margin: 0; min-height: 50px; padding: 12px 32px; transition: 0.4s; }
.ps-hero-btns a.w100.button:hover { background: #fff; }
.ps-remote { font-size: 18px; line-height: 150%; color: #202020; }
.ps-remote a { color: #977E65; display: inline-block; padding: 12px 0; }
/* Фон первого экрана: фото + затемнение как у первых экранов страниц услуг (.block-17.uss, чёрный слой);
   плотность 0.6 вместо 0.5 — чтобы белый текст держал контраст 4.5:1 на светлых участках фото. */
.ps-hero--bg { position: relative; padding: 90px 0 70px; background: #202020; }
.ps-hero-bg, .ps-hero-bg picture { position: absolute; inset: 0; display: block; }
.ps-hero-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-hero--bg:before { content: ""; position: absolute; inset: 0; background: #000; opacity: 0.6; z-index: 1; }
.ps-hero--bg .container { position: relative; z-index: 2; }
.ps-hero--bg h1.zag, .ps-hero--bg .tx, .ps-hero--bg .ps-remote { color: #fff; }
.ps-hero--bg .ps-overline, .ps-hero--bg .ps-remote a { color: #E7D4BF; }
.ps-hero--bg .ps-markers li { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
.ps-hero--bg .ps-hero-btns a.w50.button { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.ps-hero--bg .ps-hero-btns a.w50.button:hover { color: #202020; }
.ps-hero--bg + .main-2 { margin-top: 0; }

/* ---------- Экран 3. Полный цикл: 7 направлений ---------- */
.ps-dirs { margin-bottom: 110px; }
.ps-dirs .tx { max-width: 760px; margin-bottom: 40px; }
.ps-dirs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
a.ps-dir { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(151, 126, 101, 0.3); border-radius: 14px; padding: 30px 24px; text-decoration: none; color: #202020; transition: 0.4s; min-height: 44px; }
a.ps-dir:hover { border-color: #977E65; }
.ps-dir-num { font-family: 'Forum'; font-size: 32px; line-height: 1; color: #977E65; margin-bottom: 20px; }
.ps-dir-h { font-family: 'Forum'; font-size: 20px; line-height: 130%; text-transform: uppercase; margin-bottom: 12px; }
.ps-dir-t { font-size: 16px; line-height: 140%; }
.ps-dirs-more { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(151, 126, 101, 0.3); }
.ps-dirs-more h3 { font-family: 'Forum'; font-size: 28px; line-height: 130%; text-transform: uppercase; margin-bottom: 10px; }
.ps-dirs-more .tx { margin: 0; max-width: 700px; font-size: 18px; }
.ps-dirs-more a.w100.button { width: auto; flex-shrink: 0; margin: 0; padding: 12px 40px; transition: 0.4s; }
.ps-dirs-more a.w100.button:hover { background: #fff; }

/* ---------- Экран 4. Два аргумента ---------- */
.ps-args { margin-bottom: 110px; padding-top: 0; }
.ps-args .cols-1 { display: flow-root; }
.ps-args .one-pre { padding-right: 40px; }

/* ---------- Экран 5. Объекты ---------- */
.ps-objects { margin-bottom: 110px; padding-top: 0; }
.ps-objects .tx { margin-bottom: 40px; }
/* В теме слайдер подтянут под текст первого экрана (top:-250px); в «Объектах» он идёт после заголовка. */
.ps-objects div#slider-main { top: 0; margin-bottom: 0; }
.ps-objects .pre-ims .container .row > div { margin-bottom: 4px; }
.ps-objects .ps-obj-link { color: #977E65; }
.ps-objects-all { margin-top: 30px; }
.ps-objects-all a.w100.button { width: auto; padding: 12px 40px; transition: 0.4s; }
.ps-objects-all a.w100.button:hover { background: #fff; }

/* ---------- Экран 8. Статьи: картинки не шире колонки ---------- */
.block-stati .one-st img { max-width: 100%; height: auto; }
/* В разметке блока .container вложен в .container — на 768–991px это давало горизонтальный скролл. */
@media (min-width: 768px) and (max-width: 991px) { .block-stati > .container { width: auto; } }

@media (max-width: 1249px) {
	.ps-hero h1.zag { font-size: 42px; }
	.ps-dirs-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
	.ps-hero h1.zag { font-size: 30px; }
	.ps-dirs-grid { grid-template-columns: repeat(2, 1fr); }
	.ps-dirs-more { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 768px) {
	.ps-hero h1.zag { font-size: 30px; margin-bottom: 10px; }
	.ps-hero .ps-sub { font-size: 20px; line-height: 140%; }
	.ps-markers { display: grid; grid-template-columns: 1fr 1fr; }
	.ps-markers li { border-radius: 14px; padding: 8px 12px; font-size: 14px; }
	.ps-dirs-grid { grid-template-columns: 1fr; gap: 12px; }
	a.ps-dir { padding: 20px; }
	.ps-dir-num { font-size: 26px; margin-bottom: 10px; }
}
@media (max-width: 500px) {
	.ps-hero--bg { padding: 50px 0 40px; }
	.ps-hero, .ps-dirs, .ps-args, .ps-objects { margin-bottom: 60px; }
	.ps-hero-btns a.button { width: 100%; }
	.ps-dirs-more a.w100.button { width: 100%; }
	.ps-args .one-pre { padding-right: 0; }
}

/* ---------- Шаблон страницы услуги ---------- */
.block-17.block-5 h1.zag { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 52px; line-height: 130%; text-transform: uppercase; color: #fff; margin-bottom: 10px; }
.block-17.block-5.uss .ps-overline { font-size: 16px; letter-spacing: .08em; text-transform: uppercase; color: #E7D4BF; margin-bottom: 15px; }
.block-17.block-5.uss a.ps-uss-btn { width: auto; padding: 12px 40px; transition: 0.4s; }
.block-17.block-5.uss a.ps-uss-btn:hover { background: #fff; }
/* Текст без картинки — во всю колонку; типографика как у статей блога (.single #all) */
.ps-uss-text .tx { max-width: 820px; }
.ps-uss-text .tx > h2, .ps-uss-text .tx .ps-lead h2 { font-size: 28px; margin: 30px 0 10px; }
.ps-uss-text .tx > h3, .ps-uss-text .tx .ps-lead h3 { font-size: 22px; margin: 25px 0 5px; }
.ps-uss-text .tx p { margin: 10px 0; }
.ps-uss-text .tx ul { list-style: disc; padding-left: 20px; margin: 10px 0; }
.ps-uss-text .tx a { color: #977E65; text-decoration: underline; }
.ps-uss-text .tx a.button { color: #202020; text-decoration: none; }
/* Список «Часто заказывают вместе» на страницах услуг (контент в половинной колонке) */
.usssss .tx ul.ps-related { list-style: disc; padding-left: 20px; margin: 10px 0; }
.usssss .tx ul.ps-related a { color: #977E65; text-decoration: underline; }
.block-3 a.ps-steps-more { width: auto; padding: 12px 40px; transition: 0.4s; }
.block-3 a.ps-steps-more:hover { background: #fff; }
.ps-archive-overline { font-size: 16px; letter-spacing: .08em; text-transform: uppercase; color: #977E65; margin-top: 10px; }
.ps-archive-sub { text-align: left; max-width: 760px; }
/* Портфолио: пустое состояние фильтра (MixItUp ставит контейнеру класс .fail) */
#portfoliolist .ps-empty { display: none; font-size: 18px; line-height: 150%; padding: 30px 0; max-width: 700px; }
/* показывается скриптом в archive-project.php, только при пустой категории */
@media (max-width: 1249px) { .block-17.block-5 h1.zag { font-size: 42px; } }
@media (max-width: 992px) { .block-17.block-5 h1.zag { font-size: 30px; } }
@media (max-width: 500px) { .block-17.block-5.uss a.ps-uss-btn { width: 100%; } }
.ps-uss-text .tx a.w50.button { width: auto; min-width: 220px; margin: 0 10px 10px 0; padding: 12px 30px; }
@media (max-width: 500px) { .ps-uss-text .tx a.w50.button { width: 100%; margin-right: 0; } }
/* Подзаголовок первого экрана на мобильных: тема задаёт 30px, для длинных подзаголовков это слишком крупно */
@media (max-width: 768px) { .block-17.block-5.uss h3.zag { font-size: 20px; line-height: 140%; } }
footer#footer .logo span.ps-req { display: block; margin-top: 6px; font-size: 12px; line-height: 140%; color: #777; }

/* =====================================================================
   Компоненты страниц (ps-*): собраны на токенах темы — Forum/Futura,
   #202020 / #977E65 / #E7D4BF / #F9F5F0, рамка rgba(151,126,101,.3), радиус 14px.
   ===================================================================== */
.ps-uss-text .tx { max-width: none; }
.ps-uss-text .tx > p, .ps-uss-text .tx > ul, .ps-uss-text .tx > h3 { max-width: 820px; }
.ps-sec { margin: 0 0 80px; }
.ps-sec:last-child { margin-bottom: 0; }
.ps-uss-text .tx .ps-h { font-family: 'Forum'; font-weight: 400; font-size: 42px; line-height: 125%; text-transform: uppercase; color: #202020; margin: 0 0 30px; }
/* вторая строка со сдвигом: тот же Forum (иначе span берёт общий шрифт темы Futura) */
.ps-uss-text .tx .ps-h span { display: block; padding-left: 150px; font-family: inherit; }
.ps-lead { font-size: 20px; line-height: 150%; max-width: 820px; margin-bottom: 30px; }
.ps-uss-text .tx .ps-lead p { margin: 0 0 12px; }
.ps-img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; display: block; }

/* Текст + фото */
.ps-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ps-split--rev .ps-split-media { order: -1; }
.ps-split-media { aspect-ratio: 4 / 3; }
.ps-uss-text .tx .ps-split-text p { margin: 0 0 14px; }

/* Карточки */
.ps-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ps-cards--2 { grid-template-columns: repeat(2, 1fr); }
.ps-cards--4 { grid-template-columns: repeat(4, 1fr); }
.ps-card { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(151, 126, 101, 0.3); border-radius: 14px; overflow: hidden; color: #202020; text-decoration: none !important; transition: 0.4s; }
a.ps-card:hover { border-color: #977E65; transform: translateY(-2px); }
.ps-card-media { aspect-ratio: 16 / 10; overflow: hidden; background: #F9F5F0; }
.ps-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: 0.6s; }
a.ps-card:hover .ps-card-media img { transform: scale(1.04); }
.ps-card-body { padding: 26px 24px 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ps-card-num { font-family: 'Forum'; font-size: 30px; line-height: 1; color: #977E65; }
.ps-card-h { font-family: 'Forum'; font-size: 21px; line-height: 125%; text-transform: uppercase; color: #202020; }
.ps-card-t { font-size: 16px; line-height: 145%; color: #202020; }
.ps-card-t b { font-family: 'Futura PT Medium'; font-weight: normal; }
.ps-card-more { margin-top: auto; padding-top: 8px; font-size: 16px; color: #977E65; }
.ps-card-more:after { content: " →"; }
.ps-card--accent { background: #F9F5F0; border-color: #E7D4BF; }

/* Цифры */
.ps-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ps-stat { border-top: 1px solid rgba(151, 126, 101, 0.3); padding-top: 22px; }
.ps-stat-n { font-family: 'Forum'; font-size: 54px; line-height: 1; color: #977E65; margin-bottom: 10px; }
.ps-stat-t { font-size: 17px; line-height: 140%; color: #202020; }

/* Панель */
.ps-panel { background: #F9F5F0; border-radius: 14px; padding: 44px 48px; }
.ps-panel--split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.ps-uss-text .tx .ps-panel p { margin: 0 0 12px; }
.ps-panel-h { font-family: 'Forum'; font-size: 30px; line-height: 125%; text-transform: uppercase; margin-bottom: 16px; }
.ps-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ps-uss-text .tx .ps-btns a.button, .ps-btns a.button { width: auto; min-width: 200px; margin: 0; padding: 12px 30px; text-decoration: none; color: #202020; transition: 0.4s; }
.ps-btns a.w100.button:hover { background: #fff; }

/* Списки с галочкой / крестиком */
.ps-uss-text .tx ul.ps-check, .ps-uss-text .tx ul.ps-cross { list-style: none; padding: 0; margin: 0; max-width: none; }
.ps-check li, .ps-cross li { position: relative; padding: 12px 0 12px 42px; border-bottom: 1px solid rgba(151, 126, 101, 0.2); font-size: 16px; line-height: 145%; }
.ps-check li:before, .ps-cross li:before { position: absolute; left: 0; top: 11px; width: 26px; height: 26px; border-radius: 50%; text-align: center; line-height: 26px; font-size: 14px; }
.ps-check li:before { content: "✓"; background: #E7D4BF; color: #202020; }
.ps-cross li:before { content: "✕"; background: #f1ece6; color: #977E65; }
.ps-col-h { font-family: 'Forum'; font-size: 24px; text-transform: uppercase; margin-bottom: 10px; }

/* Вопросы-ответы: открытым текстом, вопрос — подзаголовок H3 (аккордеон по ТЗ не разрабатывается) */
.ps-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; border-top: 1px solid rgba(151, 126, 101, 0.3); }
.ps-faq-item { padding: 28px 0 26px; border-bottom: 1px solid rgba(151, 126, 101, 0.3); }
.ps-uss-text .tx .ps-faq h3.ps-faq-q { font-family: 'Forum'; font-weight: 400; font-size: 22px; line-height: 130%; text-transform: uppercase; color: #202020; margin: 0 0 12px; }
.ps-faq-a { font-size: 17px; line-height: 150%; }
.ps-uss-text .tx .ps-faq-a p { margin: 0 0 8px; }

/* Документы */
.ps-docs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
a.ps-doc { display: flex; align-items: center; gap: 18px; padding: 22px; border: 1px solid rgba(151, 126, 101, 0.3); border-radius: 14px; background: #fff; color: #202020 !important; text-decoration: none !important; transition: 0.4s; min-height: 44px; }
a.ps-doc:hover { border-color: #977E65; }
.ps-doc-ic { flex-shrink: 0; width: 52px; height: 62px; border-radius: 6px; background: #E7D4BF; color: #202020; font-size: 13px; font-family: 'Futura PT Medium'; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 8px; }
.ps-doc-t { font-size: 16px; line-height: 140%; }
.ps-doc-t small { display: block; color: #977E65; font-size: 13px; margin-top: 4px; }
.ps-req { font-size: 15px; color: #555; margin-top: 18px; }

/* Команда */
.ps-team { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); gap: 24px; }
.ps-team .ps-card-media { aspect-ratio: 1 / 1; }

@media (max-width: 1249px) {
	.ps-cards--4, .ps-stats { grid-template-columns: repeat(2, 1fr); }
	.ps-docs { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
	.ps-split, .ps-panel--split { grid-template-columns: 1fr; gap: 30px; }
	.ps-split--rev .ps-split-media { order: 0; }
	.ps-cards { grid-template-columns: repeat(2, 1fr); }
	.ps-uss-text .tx .ps-h { font-size: 32px; }
	.ps-uss-text .tx .ps-h span { padding-left: 60px; }
}
@media (max-width: 600px) {
	.ps-cards, .ps-cards--2, .ps-cards--4, .ps-docs, .ps-team, .ps-faq { grid-template-columns: 1fr; }
	.ps-stats { grid-template-columns: 1fr 1fr; gap: 16px; }
	.ps-stat-n { font-size: 40px; }
	.ps-panel { padding: 28px 22px; }
	.ps-sec { margin-bottom: 56px; }
	.ps-uss-text .tx .ps-h { font-size: 26px; }
	.ps-uss-text .tx .ps-h span { padding-left: 0; }
	.ps-uss-text .tx .ps-faq h3.ps-faq-q { font-size: 19px; }
}

/* Блок менеджера: «облачко» растягивается под текст (текст стал длиннее и уходил под плашку) */
.diz-foo div.col-md-5d { background-size: 100% 100%; padding-bottom: 40px; }
/* Тема красит всё в .usssss в #000 (.block-17.block-5.usssss *) — акцентные цвета компонентов возвращаем */
.block-17.block-5.usssss .ps-card-num, .block-17.block-5.usssss .ps-stat-n, .block-17.block-5.usssss .ps-card-more,
.block-17.block-5.usssss .ps-doc-t small, .block-17.block-5.usssss .ps-cross li:before { color: #977E65; }
.block-17.block-5.usssss .ps-check li:before { color: #202020; }
.block-17.block-5.usssss .ps-req { color: #555; }
.block-17.block-5.usssss .ps-card-t a, .block-17.block-5.usssss .ps-split-text p a, .block-17.block-5.usssss .ps-panel p a, .block-17.block-5.usssss .ps-lead a { color: #977E65; text-decoration: underline; }
.block-17.block-5.usssss .ps-btns a.button { color: #202020; text-decoration: none; }
.ps-stats--3 { grid-template-columns: repeat(3, 1fr); }
.ps-card { position: relative; }
.ps-card-more:before { content: ""; position: absolute; inset: 0; } /* вся карточка — ссылка */
.ps-card-media img, .ps-split-media img { max-width: 100%; }
@media (max-width: 1249px) { .ps-stats--3 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .ps-stats--3 { grid-template-columns: 1fr 1fr; } }
/* /dokumenty/ и другие обычные страницы */
#all .ps-docs { margin: 20px 0 10px; }
.ps-cards--team { grid-template-columns: repeat(2, minmax(0, 360px)); }
.ps-cards--team .ps-card-media { aspect-ratio: 1 / 1; }
@media (max-width: 600px) { .ps-cards--team { grid-template-columns: 1fr; } }

/* Текстовая ссылка под сеткой карточек */
.ps-after { margin-top: 22px; font-size: 17px; }
.block-17.block-5.usssss .ps-after a { color: #977E65; text-decoration: underline; }
/* /uslugi/: вводный текст и строка направлений */
.ps-uslugi-intro { max-width: 820px; font-size: 18px; line-height: 150%; margin: 10px 0 30px; }
.ps-uslugi-intro p, .ps-uslugi-after p { margin: 0 0 12px; }
.ps-uslugi-after { margin: 30px 0 60px; font-size: 18px; line-height: 150%; }
.ps-uslugi-after a { color: #977E65; text-decoration: underline; }

/* =====================================================================
   Замена тегов без изменения вида (аудит, блок B2). Значения — из правил темы.
   ===================================================================== */
/* цитата отзывов: был h2.zag */
.ps-zag { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 52px; line-height: 130%; text-transform: uppercase; color: #202020; margin-bottom: 10px; }
.ps-zag span { font-family: 'Forum'; display: inline-block; width: 100%; padding-left: 200px; }
.block-14 .ps-zag { margin-bottom: 50px; }
/* H2 «Отзывы клиентов» — надзаголовком над цитатой */
.ps-sec-label { font-size: 16px; letter-spacing: .08em; text-transform: uppercase; color: #977E65; margin-bottom: 12px; }
.ps-all-reviews { margin-top: 24px; font-size: 18px; }
.ps-all-reviews a { color: #977E65; text-decoration: underline; }
/* имя в отзыве: был h5 */
.innn-o .ps-name { font-size: 20px; line-height: 140%; color: #202020; font-family: 'Futura PT Medium'; position: relative; padding-right: 100px; }
.innn-o .ps-name:after { width: 80px; display: inline-block; height: 16px; background: url(/wp-content/uploads/2023/03/Vector-3.png); background-repeat: space; margin-bottom: 10px; content: ""; position: absolute; right: 0; top: 5px; }
.block-17.block-5.usssssd .innn-o .ps-name { background: none !important; padding: 0; }
.block-17.block-5.usssssd .innn-o .ps-name:after { display: none; }
/* имя менеджера: был h3 */
.he-d .ps-person { font-size: 18px; line-height: 130%; color: #202020; margin-bottom: 20px; }
.he-d .ps-person b { display: inline-block; width: 100%; margin-top: 10px; }
/* подзаголовок первого экрана страниц услуг: был h3.zag */
.block-17.block-5.uss .ps-sub-h { color: #fff; font-size: 30px; }
/* заголовок внутри форм: был h3 */
.fo5-in .ps-form-h { font-size: 20px; line-height: 130%; text-align: center; color: #202020; }
/* попапы: были h2 / h3 */
.spu-content .ps-spu-h { text-align: center; font-size: 30px; line-height: 30px; }
.spu-content .ps-spu-sub { font-size: 18px; max-width: 300px; margin: 0 auto; text-align: center; }
/* плитки главной: был h2 со вложенным span */
.col-md-4in .ps-tile-head { min-height: 160px; position: relative; }
.col-md-4in h3.ps-tile-h { font-size: 23px; font-family: 'Forum'; text-transform: uppercase; }
.col-md-4in p.ps-tile-cap { width: 100%; display: inline-block; font-size: 15px; position: absolute; left: 0; bottom: 0; text-transform: none; }
.main-2 .ps-tiles-title { padding: 0 15px; margin-bottom: 30px; }
/* H1 шапки страниц-наследников (block-1, «Видео отзывы», «Шумоизоляция»): был h2.zag */
h1.ps-h1-legacy { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 45px; line-height: 130%; text-transform: uppercase; color: #202020; margin: 0 0 25px; }
h1.ps-h1-legacy span { font-family: 'Forum'; display: inline-block; width: 100%; padding-left: 200px; }
@media (max-width: 1249px) {
	.ps-zag { font-size: 42px; } .ps-zag span, h1.ps-h1-legacy span { padding-left: 150px; }
}
@media (max-width: 992px) {
	.ps-zag { font-size: 30px; } .ps-zag span, h1.ps-h1-legacy span { padding-left: 100px; }
}
@media (max-width: 768px) {
	h1.ps-h1-legacy { font-size: 28px; margin-bottom: 10px; }
	.block-17.block-5.uss .ps-sub-h { font-size: 20px; line-height: 140%; }
}
@media (max-width: 500px) {
	.ps-zag span, h1.ps-h1-legacy span { padding: 0; }
}

/* название слайда в шапке старых страниц: был h3 (.pre-ims h3) */
.pre-ims .ps-slide-h { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 32px; line-height: 140%; text-transform: uppercase; color: #202020; margin-bottom: 10px; }
/* «Часто заказывают вместе»: был h3 без собственных стилей темы */
.usssss .tx > h2:not([class]) { font: inherit; }
@media (max-width: 768px) { .opic-ss .ps-slide-h { font-size: 23px; } }
/* название статьи в карточке на главной: был h2 (.one-st.col-md-4 h2 a) */
.one-st.col-md-4 h3 a { font-size: 24px; color: #222; }

/* Узкие экраны: длинные слова в заголовках и колонках не должны выходить за экран (проверка адаптивности 320 px) */
h1.page-title { overflow-wrap: break-word; }
@media (max-width: 420px) {
	h1.page-title { font-size: 30px; }
	.row-fcic { overflow-wrap: anywhere; hyphens: auto; }
	.wh-kart img, .inner-tab img { max-width: 100%; height: auto; }
	.block-8 .ghf h3 { overflow-wrap: anywhere; } /* «Прованс/Средиземноморский» на «Стилях» */
	.inner-tab .col-md-4 { min-width: 0; width: 100%; } /* вкладки на «Стилях» и «Вы из другого города»: тема задаёт колонке min-width 360px */
}

/* =====================================================================
   Вертикальный ритм: одинаковый видимый отступ между блоками на всех страницах —
   110 px (ПК) / 80 px (≤992) / 60 px (≤600). Значения подобраны по замеру видимого
   расстояния между содержимым соседних блоков (у блоков темы свои внутренние поля).
   ===================================================================== */
:root { --ps-gap: 110px; }
@media (max-width: 992px) { :root { --ps-gap: 80px; } }
@media (max-width: 600px) { :root { --ps-gap: 60px; } }
.ps-sec { margin-bottom: var(--ps-gap); }
.ps-sec:last-child { margin-bottom: 0; }
/* страница услуги: первый экран → блоки → подуслуги → форма → отзывы → менеджеры */
.block-17.block-5.usssss { padding-top: calc(var(--ps-gap) - 20px); padding-bottom: var(--ps-gap); }
.block-17.block-5.usssssd { padding-top: 0; padding-bottom: var(--ps-gap); }
.ussg ~ .block-14 { margin-top: var(--ps-gap); }
/* главная */
.main-2 { margin-bottom: calc(var(--ps-gap) - 34px); }
.ps-hero, .ps-dirs, .ps-args, .ps-objects { margin-bottom: var(--ps-gap); }

/* Кнопки «Все отзывы» и «Смотреть все объекты» — по центру, в стиле кнопок темы */
.ps-all-reviews { text-align: center; margin-top: 40px; padding: 0 15px; }
.ps-all-reviews a.w50.button { width: auto; min-width: 240px; margin: 0; padding: 12px 40px; }
.ps-objects-all { text-align: center; }
@media (max-width: 500px) { .ps-all-reviews a.w50.button, .ps-objects-all a.w100.button { width: 100%; } }
/* главная: у «Трёх шагов» и «Статей» колонки на float выходили за блок — замыкаем, затем общий отступ */
.block-3, .block-stati { display: flow-root; }
.block-3 { margin-bottom: calc(var(--ps-gap) - 10px); }
/* Отзывы: подпись раздела → цитата → поясняющий текст. В теме текст был прибит абсолютно к верху блока
   и оказывался над подписью «Отзывы клиентов»; ставим его в поток, верхнее поле блока больше не нужно. */
body .block-14 { padding-top: 0; }
.block-14 .ps-zag + .tx { position: static; margin: -30px 0 40px; max-width: 560px; font-size: 18px; }
.page-id-2086 div#testimonials.block-14 { margin-bottom: var(--ps-gap); } /* в теме — 60px через #testimonials */
body .block-stati.container { margin-bottom: calc(var(--ps-gap) - 15px); } /* анонсы обрезаны темой по высоте, видимый низ выше блока */
/* страница услуги: подуслуги и блок менеджеров после отзывов */
.block-17.block-5.usssssd { margin-top: -10px; padding-bottom: calc(var(--ps-gap) - 20px); }
.ussg ~ .block-14 { margin-bottom: 20px; }

/* Объекты: карточки в двух колонках (column-count темы) плавали влево — колонки считались неровно,
   под сеткой оставалось ~360px пустоты. Без float и без разрыва карточки колонки выравниваются. */
#portfoliolist.proj .portfolio { float: none; break-inside: avoid; page-break-inside: avoid; }
#portfoliolist.proj:after { content: none; }

/* Страница «Спасибо» (/spasibo/): текст, кнопки связи в ряд, «Пока ждёте» */
.page-id-1328 #all { display: block; max-width: none; }
body.page-template-default.page.page-id-1328 div#all > p { font-size: 22px; line-height: 150%; max-width: 820px; margin: 0 0 14px; padding: 0; } /* тема даёт абзацам 60px сверху и снизу */
.ps-messengers { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.ps-messengers a.button, .ps-messengers a.w50.button, .ps-messengers a.w100.button { width: auto; min-width: 230px; margin: 0; padding: 12px 32px; text-decoration: none; }
.page-id-1328 #all h2 { font-family: 'Forum'; font-weight: 400; font-size: 42px; line-height: 125%; text-transform: uppercase; color: #202020; margin: var(--ps-gap) 0 30px; }
.ps-wait { margin-bottom: var(--ps-gap); }
.ps-wait .ps-card-t { font-size: 17px; }
@media (max-width: 600px) {
	body.page-template-default.page.page-id-1328 div#all > p { font-size: 18px; }
	.ps-messengers a.button, .ps-messengers a.w50.button, .ps-messengers a.w100.button { width: 100%; }
	.page-id-1328 #all h2 { font-size: 28px; }
}

/* Выпадающий список в формах CF7 (форма «Выезд инженера» — «Тип объекта»): как текстовые поля темы —
   линия снизу #E7D4BF, без системной рамки, своя стрелка. */
.fo5-in select.wpcf7-select, .wpcf7 select.wpcf7-select {
	-webkit-appearance: none; appearance: none; width: 100%; height: 34px; margin: 2px 0 4px; padding: 2px 28px 2px 2px;
	border: 0; border-bottom: 1px solid #E7D4BF; border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23977E65' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 6px center;
	font-family: 'Futura PT Book'; font-size: 16px; color: #202020; cursor: pointer; transition: border-color 0.3s;
}
.wpcf7 select.wpcf7-select:hover, .wpcf7 select.wpcf7-select:focus { border-bottom-color: #977E65; outline: none; }
@media (max-width: 768px) { .block-14 .ps-zag + .tx { padding-right: 110px; font-size: 16px; } } /* справа — стрелки слайдера */

/* Первый экран страницы услуги: вторая кнопка (контурная, на тёмном фоне) */
.block-17.block-5.uss .ps-hero-btns { margin-top: 10px; }
.block-17.block-5.uss .ps-hero-btns a.button { width: auto; margin: 0; padding: 12px 40px; transition: 0.4s; }
.block-17.block-5.uss a.w50.ps-uss-btn2 { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.block-17.block-5.uss a.w50.ps-uss-btn2:hover { color: #202020; background: #E7D4BF; }
@media (max-width: 500px) { .block-17.block-5.uss .ps-hero-btns a.button { width: 100%; } }

/* ТЗ «до подключения домена» */
/* 7.3: заголовок плитки на главной — ссылка, вид прежний */
.col-md-4in h3.ps-tile-h a { color: inherit; text-decoration: none; font: inherit; }
.col-md-4in h3.ps-tile-h a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* 5.2: вводный текст блога под H1 */
.ps-archive-intro { max-width: 820px; font-size: 18px; line-height: 150%; margin: 10px 0 30px; }
.ps-archive-intro p { margin: 0; }
/* 8.4: страница 404 */
.ps-404 { padding-bottom: var(--ps-gap); }
.ps-404-lead { font-size: 20px; line-height: 150%; margin: 10px 0 24px; }
.ps-404-links { display: flex; flex-wrap: wrap; gap: 12px; }
.ps-404-links a { display: inline-block; border: 1px solid #E7D4BF; border-radius: 100px; padding: 12px 28px; color: #202020; text-decoration: none; transition: 0.4s; }
.ps-404-links a:hover { background: #E7D4BF; }
/* 5.1: контакты — разделы в две колонки, карта на всю ширину */
.page-id-301 .ps-uss-text .tx { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; }
.page-id-301 .ps-uss-text .tx > .ps-sec { margin-bottom: var(--ps-gap); }
.page-id-301 .ps-uss-text .tx > .ps-sec:last-child { grid-column: 1 / -1; margin-bottom: 0; }
.page-id-301 .ps-lead a { color: #977E65; text-decoration: underline; }
.ps-map { width: 100%; height: 420px; border: 0; border-radius: 14px; display: block; }
@media (max-width: 768px) { .page-id-301 .ps-uss-text .tx { grid-template-columns: 1fr; } .ps-map { height: 320px; } }
.page-id-301 .ps-uss-text .tx > .ps-sec:last-child .ps-lead { max-width: none; } /* карта на всю ширину */
/* 8.3: /obekty/ — тема прятала все карточки (.portfolio {display:none}) до запуска MixItUp (~5 с на телефоне),
   подвал сначала стоял вверху и потом «уезжал» (CLS 0,45). Карточки видны сразу; фильтр сам скрывает лишние. */
#portfoliolist .portfolio { display: block; }

/* ---------- Уровни заголовков на старых страницах (ТЗ «финализация», п. 1.12.2) ---------- */
/* «Шумоизоляция»: вводный абзац первого экрана был <h3> сразу после H1. Теперь абзац — вид прежний. */
.sw-text .pre-ims .opic-ss.min-opic .ps-slide-lead { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 20px; line-height: 140%; text-transform: none; color: #202020; margin: 0 0 10px; }
@media (max-width: 500px) { .sw-text .pre-ims .opic-ss.min-opic .ps-slide-lead { font-size: 18px; padding-bottom: 20px; } }
/* «Вы из другого города» и «Дизайн, который увеличит стоимость»: подзаголовки блока были <h4> после <h2>. */
.col-md-4-in6 h3 { font-family: 'Forum'; font-style: normal; font-weight: 400; font-size: 32px; line-height: 120%; text-transform: uppercase; color: #202020; text-align: left; position: relative; }
.col-md-4-in6 h3 img { padding-bottom: 54px; clear: left; }
.col-md-4-in6 h3:before { border-bottom: 1px solid rgba(151, 126, 101, 0.3); content: ""; position: absolute; width: 100%; left: 0; top: 40px; }
@media (max-width: 992px) { .col-md-4-in6 h3 { font-size: 22px; } }

/* ---------- Фон блоков и подразделы (ТЗ «финальное единое», блоки C и F) ---------- */
/* Светло-серый — тот же, что в карточках и панелях: #F9F5F0. Новых цветов не вводим. */
.ps-sec--gray { background: #F9F5F0; border-radius: 14px; padding: 44px 48px; margin-bottom: 40px; }
.ps-sec--gray .ps-card, .ps-sec--gray .ps-panel { background: #fff; }
.ps-sec--gray .ps-card--accent { background: #F3ECE3; }
.ps-sec--gray .ps-panel { border: 1px solid rgba(151, 126, 101, 0.3); }
/* Заголовок подраздела: на ступень меньше H2 раздела */
.ps-uss-text .tx .ps-h--sub { font-size: 30px; margin-bottom: 24px; }
.ps-uss-text .tx .ps-h--sub span { padding-left: 0; display: inline; }
@media (max-width: 992px) { .ps-uss-text .tx .ps-h--sub { font-size: 26px; } .ps-sec--gray { padding: 32px 28px; } }
@media (max-width: 768px) { .ps-uss-text .tx .ps-h--sub { font-size: 22px; } .ps-sec--gray { padding: 24px 20px; border-radius: 10px; } }

/* ---------- Карточки объектов на главной кликабельны (ТЗ «финальное единое», B 3.5) ---------- */
.pre-ims { position: relative; }
.pre-ims .ps-obj-cover { position: absolute; inset: 0; z-index: 1; }
.pre-ims .container { position: relative; z-index: 2; }
.opic-ss h3 a { color: inherit; text-decoration: none; }
.opic-ss h3 a:hover { text-decoration: underline; }
.ps-msg-links { font-size: 16px; line-height: 150%; margin: 14px 0 0; color: #202020; }
.ps-msg-links a { color: #977E65; text-decoration: underline; }

/* ---------- Переносы в заголовках (ТЗ «финальное единое», 7.2) ---------- */
/* Строки выравниваются сами — без одного слова на второй строке. Вид не меняется. */
h1, h2, h3, .zag, .ps-h, .ps-card-h, .ps-panel-h, .ps-tile-h, .page-title { text-wrap: balance; }

/* ---------- Чередование фона секций (ТЗ «финальное единое», 7.1) ---------- */
/* Светло-серый — тот же, что в карточках: #F9F5F0. Новых цветов не вводим. */
/* Экран формы оставлен с фотографией — так он и был задуман в макете. */
body.home .ps-dirs,                 /* Закрываем весь цикл */
body.home .ps-objects,              /* Наши объекты */
body.home #testimonials {           /* Отзывы */
	background-color: #F9F5F0;
	padding-top: 70px;
	padding-bottom: 70px;
	margin-bottom: 0;
}
body.home .ps-dirs + *, body.home .ps-objects + *, body.home #testimonials + * { margin-top: 70px; }
@media (max-width: 992px) {
	body.home .ps-dirs, body.home .ps-objects, body.home #testimonials { padding-top: 40px; padding-bottom: 40px; }
	body.home .ps-dirs + *, body.home .ps-objects + *, body.home #testimonials + * { margin-top: 40px; }
}

/* Первый экран без кнопки «Подробнее»: слайдер поднят на 150px, поэтому добавляем отступ,
   иначе фотография заезжает на заголовок (ТЗ «финальное единое», блок A). */
.block-1.ps-no-next > .container { padding-bottom: 160px; }
@media (max-width: 992px) { .block-1.ps-no-next > .container { padding-bottom: 40px; } }

/* ЗАГОЛОВКИ В ОДНУ СТРОКУ.
   В исходном макете вторая часть заголовка была отдельным блоком со сдвигом вправо
   (span: display:inline-block; width:100%; padding-left:200px) — из-за этого даже
   короткий заголовок вроде «Из чего строим» всегда разбивался на две строки лесенкой.
   Теперь вторая часть — обычное продолжение строки: заголовок занимает одну строку,
   а если длинный — переносится сам, по словам. */
h1.zag span, h2.zag span, h3.zag span,
.ps-zag span, h1.ps-h1-legacy span,
.ps-h span, .ps-uss-text .tx .ps-h span,
.ps-uss-text .tx .ps-h--sub span {
	display: inline;
	width: auto;
	padding: 0;
	font-family: inherit;
}

/* Первый экран страниц услуг: когда справа нет формы, текстовая колонка занимала
   половину ширины и длинный H1 дробился на три строки. Отдаём ей две трети —
   заголовок встаёт в одну-две строки, подзаголовок остаётся читаемой длины. */
@media (min-width: 992px) {
	.block-17.block-5.uss .back-row .col-md-6.ps-hero-col--wide { width: 83.33333333%; }
	.block-17.block-5.uss .ps-hero-col--wide .ps-sub-h { max-width: 640px; }
}

/* Блок «Статьи» на главной: контейнер внутри контейнера сдвигал заголовок и карточки на 15 px вправо
   относительно остальных блоков, а на ширине ~990 px давал горизонтальную прокрутку. */
.block-stati.container > .container { width: auto; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
