/* ============================================================
   Правки поверх темы. Подключается на всех страницах сайта.
   Всё, что здесь есть, снимается отключением плагина.
   ============================================================ */

/* ---------- Шапка: меню строго в одну строку ----------
   Пунктов стало больше, чем влезает, и они переносились на вторую строку.
   Перенос запрещаем, а что не помещается — уводит в «Ещё» скрипт menu.js. */
.header .top-menu > ul > li > a { white-space: nowrap; }
.header .right .phone a,
.header .right .phone span { white-space: nowrap; }

/* На экранах, где шапка идёт впритык (примерно 1280–1600), родные поля пунктов
   по 15px не оставляют места правому блоку с кнопкой «Получить консультацию»:
   строка вылезала за экран на 34px. Ужимаем поля на 2px — этого хватает,
   чтобы все пункты остались на виду и не уехали в «Ещё». На широких экранах
   поля остаются родными. */
@media (min-width: 992px) and (max-width: 1600px) {
	/* !important: у темы своё правило той же специфичности, и оно идёт последним */
	.header .top-menu > ul > li > a { padding-left: 12px !important; padding-right: 12px !important; }
}

/* Меню вплотную к логотипу слева и к телефону справа (0 и 10px) — сливалось
   с ними в одну ленту. Разводим внешними отступами; место под них освободил
   убранный пункт «Главная» (переход на главную — по клику на логотип). */
@media (min-width: 992px) {
	.header .top-menu { margin-left: 24px; margin-right: 24px; }
}

/* Кнопка «Получить консультацию» — в одну строку.
   Без этого flex ужимает её до 159px и надпись ломается пополам: у темы
   whiteSpace: normal, и правый блок сжимается раньше, чем меню решит,
   что пунктов слишком много. Запрет переноса возвращает решение меню:
   не влезло — лишний пункт уходит в «Ещё». */
.header .right .btn-callback { white-space: nowrap; }

/* Пункт «Ещё» — выглядит как остальные, подменю по клику и по наведению */
.header .top-menu > ul > li.solt-more { position: relative; }
.header .top-menu > ul > li.solt-more > a { cursor: pointer; }
.header .top-menu > ul > li.solt-more.is-open > .submenu,
.header .top-menu > ul > li.solt-more:hover > .submenu,
.header .top-menu > ul > li.solt-more:focus-within > .submenu {
	display: block;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.header .top-menu > ul > li.solt-more > .submenu { min-width: 200px; }
.header .top-menu > ul > li[hidden] { display: none !important; }

/* ---------- Страницы каталогов ----------
   Тема печатает свой блок с крошками и заголовком (.page-header),
   а шаблон каталога печатает свои — получался дубль. Прячем тему,
   потому что в согласованном макете крошки и заголовок живут внутри
   серого интро-блока вместе с подзаголовком и фактами. */
.solt-catalog-page .l-page.page-single > .page-header { display: none; }

/* Каталог лежит внутри страницы темы, а у той уже есть отступ 70px под
   фиксированную шапку. Свой отступ каталога поверх него давал пустые 141px. */
.solt-catalog-page .l-page.solt-cat { padding-top: 0; }
.solt-catalog-page .l-page.page-single { padding-bottom: 0; }

/* Радиусы. Стандарт сайта: крупные блоки и карточки — 10px (так тема рисует
   карточки на главной и блок «Нужна помощь в подборе?»), мелкие элементы —
   поля, кнопки, бейджи — 2-4px. Интро-блок шёл с прямыми углами. */
.solt-catalog-page .solt-intro,
.solt-cat .solt-intro { border-radius: 10px; }

/* На узких экранах блок идёт от края до края — скругление там лишнее */
@media (max-width: 767px) {
	.solt-catalog-page .solt-intro,
	.solt-cat .solt-intro { border-radius: 0; }
}

/* Фирменный CTA внутри каталога на телефоне.
   У кнопок темы стоит white-space: nowrap, и длинная надпись
   «Рассчитать дом с участком» вместе с полями 40px по бокам не влезала
   в 360px — страница получала горизонтальную прокрутку. Разрешаем перенос
   и ужимаем поля до тех же значений, что тема использует на своих
   мелких брейкпойнтах. */
@media (max-width: 767px) {
	.solt-cat .section-search-help .wrapper { padding: 26px 20px; }
	.solt-cat .section-search-help .text .btn {
		white-space: normal;
		min-width: 0;
		max-width: 100%;
		height: auto;
		padding: 14px 18px;
		line-height: 1.3;
	}
}

/* Смысловой перенос строки.
   Обычный <br> не годится: тема прячет их все начиная с 1200px
   (`mobile.css`: `br { display: none }`), и строки склеиваются — «„Васильки“
   Калуга, вблизи с. Грабцево» вместо названия посёлка и адреса под ним.
   Правило живёт здесь, а не в catalogs.css: оно нужно и на страницах темы,
   где наши каталожные стили не подключаются, — например на «Контактах». */
.solt-line { display: block; }

/* ---------- Логотип компании-девелопера ----------
   Блок «Проекты реализует + логотип» выводится в двух местах: в подвале
   (виден на каждой странице) и в правой колонке «Контактов», под телефоном
   для партнёров. Базовые правила общие, привязки к месту — ниже. */
.solt-developer__label {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	line-height: 1.3;
	color: #8a93a3;
}
.solt-developer__logo { display: block; width: 100%; height: auto; }

/* --- в подвале ---
   Два логотипа стоят колонкой: сверху витрина, под ней компания.
   Обёртка `.solt-brand` нужна потому, что элементам верхней строки подвала
   тема раздаёт жёсткий порядок (`order`), и отдельным блоком логотип компании
   вставал перед основным. Селектор с `.wrapper` — на класс длиннее темы:
   она центрирует содержимое строки и перебивала выравнивание. */
.footer .wrapper .top-block .solt-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.footer .wrapper .top-block .solt-brand .logo { order: 0; }
.footer .wrapper .top-block .solt-brand .solt-developer { order: 1; }
.footer .solt-developer { margin-top: 18px; max-width: 150px; }

/* --- на «Контактах» ---
   Колонка контактов — flex с переносом, элементы идут в два столбца.
   Без `flex-basis: 100%` блок вставал бы рядом с телефоном для партнёров,
   а он должен идти отдельной строкой под ним. Логотип крупнее, чем
   в подвале: колонка широкая. */
.solt-developer--contacts { flex: 0 0 100%; max-width: none; margin-top: 34px; }
/* Ширину ограничиваем у самой картинки, а не у блока: блок должен занять всю
   строку, иначе он влезает рядом с телефоном для партнёров и не переносится. */
.solt-developer--contacts .solt-developer__logo { max-width: 210px; }
.solt-developer--contacts .solt-developer__label { margin-bottom: 8px; font-size: 12px; }

@media screen and (max-width: 992px) {
	.footer .wrapper .top-block .solt-brand { align-items: center; }
	.footer .solt-developer { margin: 16px auto 0; }
	.footer .solt-developer__label { text-align: center; }
	.solt-developer--contacts { margin-top: 26px; }
}
