/*
 * Новая главная и лендинги услуг Еллоу Медиа.
 * Секции — блоки «Группа» с классом ym-section; карточки — группы с макетом «Сетка».
 * Фирменные цвета: жёлтый #FFC700, тёмный #0f0f0f, текст #373737.
 */

:root {
	--ym-yellow: #FFC700;
	--ym-yellow-dark: #E6B300;
	--ym-ink: #111111;
	--ym-text: #373737;
	--ym-muted: #5c5c5c;
	--ym-muted-dark: #b9b9b9;
	--ym-line: #e5e5e5;
	--ym-bg-soft: #f6f6f4;
	--ym-dark: #0f0f0f;
	--ym-dark-2: #1b1b1b;
	--ym-radius: 20px;
	--ym-wrap: 1320px;
}

/* ---------- Шапка ---------- */
.wrap_header > .custom-logo-link {
	flex-shrink: 0;
	margin-right: 36px;
}
@media (min-width: 1024px) {
	.wrap_header .top_menu { width: auto; flex: 1 1 auto; justify-content: flex-end; }
}
.ym-landing .main_header {
	background: transparent;
	position: absolute;
	top: 0;
	width: 100%;
}
.ym-head-contacts {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	margin-left: 28px;
	white-space: nowrap;
}
.ym-head-phone {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 800;
}
.ym-head-phone:hover { color: var(--ym-yellow); }
.ym-head-hours {
	color: #b9b9b9;
	font-size: 13px;
}
.top_menu .top_max a {
	display: block;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background: var(--ym-yellow) url(../img/ym/max.svg) no-repeat center / 40px;
	font-size: 0;
}
.top_menu .top_max a:hover { background-color: #fff; }

/* ---------- Секции ---------- */
main > .ym-section {
	margin-left: 0;
	margin-right: 0;
}
.ym-section {
	padding: 96px 0;
	color: var(--ym-text);
	font-size: 18px;
	line-height: 1.55;
}
.ym-section > .wp-block-group__inner-container {
	max-width: var(--ym-wrap);
	margin: 0 auto;
	padding: 0 40px;
}
.ym-section p { margin-bottom: 14px; }
.ym-section h2 {
	font-size: 44px;
	line-height: 1.15;
	margin-bottom: 18px;
	color: var(--ym-ink);
}
.ym-section h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 12px;
	color: var(--ym-ink);
}
.ym-section a { color: inherit; }
.ym-lead {
	font-size: 20px;
	color: var(--ym-muted);
	max-width: 820px;
	margin-bottom: 48px !important;
}
.ym-soft { background: var(--ym-bg-soft); }
.ym-dark {
	background: var(--ym-dark);
	color: #e9e9e9;
}
.ym-dark h2,
.ym-dark h3 { color: #fff; }
.ym-dark .ym-lead { color: var(--ym-muted-dark); }

/* Сетки карточек: макет «Сетка» из редактора, здесь только отступы */
.ym-section .ym-grid { gap: 24px; }

/* ---------- Кнопки ---------- */
.ym-section .wp-block-buttons { gap: 16px; }
.ym-section .wp-block-button__link {
	display: inline-block;
	padding: 18px 40px;
	border-radius: 33px;
	background: var(--ym-yellow);
	color: var(--ym-ink);
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	border: 2px solid var(--ym-yellow);
	transition: .25s;
}
.ym-section .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--ym-ink);
}
.ym-section .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ym-yellow);
}
.ym-section .is-style-outline .wp-block-button__link:hover {
	background: var(--ym-yellow);
	color: var(--ym-ink);
}
.ym-soft .wp-block-button__link:hover,
.ym-light .wp-block-button__link:hover {
	background: var(--ym-ink);
	border-color: var(--ym-ink);
	color: #fff;
}

/* ---------- Первый экран ---------- */
.ym-hero {
	background: #000 url(/wp-content/uploads/2023/09/main-bg.webp) no-repeat center / cover;
	color: #fff;
	padding: 190px 0 110px;
}
.ym-hero-cols { gap: 56px !important; align-items: center !important; }
.ym-kicker {
	color: var(--ym-yellow);
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 22px !important;
}
.ym-hero h1 {
	color: #fff;
	font-size: 58px;
	line-height: 1.08;
	margin-bottom: 26px;
}
.ym-hero-lead {
	font-size: 21px;
	color: #e1e1e1;
	max-width: 640px;
	margin-bottom: 28px !important;
}
.ym-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
.ym-facts li {
	padding: 9px 18px;
	border: 1px solid rgba(255, 199, 0, .55);
	border-radius: 30px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}
.ym-hero-price {
	font-size: 19px;
	color: #e1e1e1;
	margin-bottom: 30px !important;
}
.ym-hero-price strong {
	color: var(--ym-yellow);
	font-family: 'Montserrat', sans-serif;
	font-size: 30px;
	font-weight: 900;
	margin-right: 6px;
}
.ym-form-card {
	background: #fff;
	color: var(--ym-text);
	border-radius: 24px;
	padding: 36px 34px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
}
.ym-form-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--ym-ink);
	margin-bottom: 10px !important;
}
.ym-form-note {
	font-size: 16px;
	color: var(--ym-muted);
	margin-bottom: 22px !important;
}

/* ---------- Формы Contact Form 7 внутри новых блоков ---------- */
.ym-form-card .wpcf7 input[type="text"],
.ym-form-card .wpcf7 input[type="tel"],
.ym-form-card .wpcf7 input[type="email"],
.ym-form-card .wpcf7 input[type="url"],
.ym-form-card .wpcf7 textarea {
	width: 100%;
	height: 56px;
	padding: 0 18px;
	margin-bottom: 12px !important;
	border: 1px solid #cfcfcf;
	border-radius: 14px;
	font-size: 16px;
	font-family: 'Inter', sans-serif;
	color: var(--ym-ink);
	background: #fff;
}
.ym-form-card .wpcf7-form p { margin: 0; }
.ym-form-card .wpcf7-form br { display: none; }
.ym-form-card .wpcf7-form-control-wrap { display: block; }
.ym-form-card .ok { margin: 4px 0 0; }
.ym-form-card .wpcf7 input:focus { outline: 2px solid var(--ym-yellow); border-color: var(--ym-yellow); }
.ym-form-card .wpcf7-acceptance .wpcf7-list-item-label { font-size: 13px; line-height: 1.4; }
.ym-form-card .wpcf7-acceptance .wpcf7-list-item-label:before { margin-right: 10px; }
.ym-form-card .wpcf7 input[type="submit"] {
	display: block;
	width: 100%;
	padding: 0 20px;
	text-align: center;
	height: 60px;
	margin-top: 14px;
	border: 0;
	border-radius: 33px;
	background: var(--ym-yellow);
	color: var(--ym-ink);
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	transition: .25s;
}
.ym-form-card .wpcf7 input[type="submit"]:hover { background: var(--ym-ink); color: #fff; }
.ym-form-card .wpcf7-response-output { font-size: 14px; margin: 14px 0 0 !important; border-radius: 10px; }
.ym-form-card .wpcf7-spinner { display: none; }

/* ---------- Карточки ---------- */
.ym-card {
	background: #fff;
	border: 1px solid var(--ym-line);
	border-radius: var(--ym-radius);
	padding: 32px 30px;
	transition: .25s;
	height: 100%;
}
.ym-card:hover {
	border-color: var(--ym-yellow);
	box-shadow: 0 18px 40px rgba(17, 17, 17, .08);
}
.ym-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.ym-card p { font-size: 16px; color: var(--ym-muted); }
.ym-card .ym-card-price {
	margin-top: auto !important;
	padding-top: 14px;
	margin-bottom: 6px !important;
	color: var(--ym-ink);
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 800;
}
.ym-card .ym-card-more { margin-bottom: 0 !important; }
.ym-card .ym-card-more a {
	color: var(--ym-ink);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--ym-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.ym-card .ym-card-more a:hover { color: var(--ym-yellow-dark); }

/* Иконки: класс ym-ic-ИМЯ на карточке или пункте */
[class*="ym-ic-"] > .wp-block-group__inner-container::before,
p[class*="ym-ic-"]::before {
	content: '';
	display: block;
	width: 52px;
	height: 52px;
	margin-bottom: 20px;
	background: no-repeat center / contain;
}
.ym-ic-seo > .wp-block-group__inner-container::before { background-image: url(../img/ym/seo.svg); }
.ym-ic-yandex > .wp-block-group__inner-container::before { background-image: url(../img/ym/yandex.svg); }
.ym-ic-shop > .wp-block-group__inner-container::before { background-image: url(../img/ym/shop.svg); }
.ym-ic-complex > .wp-block-group__inner-container::before { background-image: url(../img/ym/complex.svg); }
.ym-ic-ads > .wp-block-group__inner-container::before { background-image: url(../img/ym/ads.svg); }
.ym-ic-dev > .wp-block-group__inner-container::before { background-image: url(../img/ym/dev.svg); }
.ym-ic-content > .wp-block-group__inner-container::before { background-image: url(../img/ym/content.svg); }
.ym-ic-audit > .wp-block-group__inner-container::before { background-image: url(../img/ym/audit.svg); }
.ym-ic-consult > .wp-block-group__inner-container::before { background-image: url(../img/ym/consult.svg); }
.ym-ic-key > .wp-block-group__inner-container::before { background-image: url(../img/ym/key.svg); }
.ym-ic-clock > .wp-block-group__inner-container::before { background-image: url(../img/ym/clock.svg); }
.ym-ic-pin > .wp-block-group__inner-container::before { background-image: url(../img/ym/pin.svg); }
.ym-ic-pages > .wp-block-group__inner-container::before { background-image: url(../img/ym/pages.svg); }
.ym-ic-ai > .wp-block-group__inner-container::before { background-image: url(../img/ym/ai.svg); }
.ym-ic-plan > .wp-block-group__inner-container::before { background-image: url(../img/ym/plan.svg); }
.ym-ic-shield > .wp-block-group__inner-container::before { background-image: url(../img/ym/shield.svg); }
.ym-ic-lock > .wp-block-group__inner-container::before { background-image: url(../img/ym/lock.svg); }
.ym-ic-doc > .wp-block-group__inner-container::before { background-image: url(../img/ym/doc.svg); }
.ym-ic-chart > .wp-block-group__inner-container::before { background-image: url(../img/ym/chart.svg); }
.ym-ic-analyst > .wp-block-group__inner-container::before { background-image: url(../img/ym/analyst.svg); }
.ym-ic-design > .wp-block-group__inner-container::before { background-image: url(../img/ym/design.svg); }
.ym-ic-manager > .wp-block-group__inner-container::before { background-image: url(../img/ym/manager.svg); }

/* ---------- Почему мы ---------- */
.ym-why-item {
	border-top: 2px solid var(--ym-yellow);
	padding-top: 26px;
}
.ym-why-item p { color: var(--ym-muted-dark); font-size: 16px; }

/* ---------- Кейсы ---------- */
.ym-case {
	background: #fff;
	border: 1px solid var(--ym-line);
	border-radius: var(--ym-radius);
	overflow: hidden;
	height: 100%;
}
.ym-case > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.ym-case .wp-block-image { margin: 0; }
.ym-case .wp-block-image img {
	display: block;
	width: 100%;
	height: 230px;
	object-fit: cover;
	object-position: center;
}
.ym-case-body { padding: 26px 28px 30px; }
.ym-case-tag {
	display: inline-block;
	margin-bottom: 12px !important;
	padding: 5px 12px;
	border-radius: 20px;
	background: var(--ym-bg-soft);
	color: var(--ym-muted);
	font-size: 13px !important;
	font-weight: 600;
}
.ym-case p { font-size: 16px; color: var(--ym-muted); }
.ym-metrics {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 18px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--ym-line);
	list-style: none;
}
.ym-metrics li { font-size: 13px; color: var(--ym-muted); line-height: 1.35; }
.ym-metrics strong {
	display: block;
	color: var(--ym-ink);
	font-family: 'Montserrat', sans-serif;
	font-size: 26px;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 4px;
}
.ym-portfolio-title { margin-top: 64px !important; }
.ym-work {
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ym-line);
}
.ym-work .wp-block-image { margin: 0; }
.ym-work .wp-block-image img { display: block; width: 100%; height: 150px; object-fit: contain; object-position: center; padding: 14px; background: #fff; border-bottom: 1px solid var(--ym-line); }
.ym-work p { padding: 0 16px; font-size: 14px; color: var(--ym-muted); margin-bottom: 4px !important; }
.ym-work p:first-of-type { padding-top: 14px; color: var(--ym-ink); font-weight: 700; font-size: 15px; }
.ym-work p:last-child { padding-bottom: 14px; }

/* ---------- Как мы работаем ---------- */
.ym-steps-grid { counter-reset: ymstep; }
.ym-step {
	counter-increment: ymstep;
	background: var(--ym-dark-2);
	border-radius: var(--ym-radius);
	padding: 30px 28px;
	height: 100%;
}
.ym-step > .wp-block-group__inner-container::before {
	content: counter(ymstep, decimal-leading-zero);
	display: block;
	margin-bottom: 18px;
	color: var(--ym-yellow);
	font-family: 'Montserrat', sans-serif;
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
}
.ym-step p { color: var(--ym-muted-dark); font-size: 16px; }
.ym-badge {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 30px;
	background: var(--ym-yellow);
	color: var(--ym-ink) !important;
	font-weight: 700;
	font-size: 16px !important;
	margin-bottom: 40px !important;
}

/* ---------- Стоимость и калькулятор ---------- */
.ym-price-cols { gap: 32px !important; align-items: stretch !important; }
.ym-tariff {
	background: var(--ym-yellow);
	border-radius: 24px;
	padding: 40px 38px;
	color: var(--ym-ink);
	height: 100%;
}
.ym-tariff h3 { font-size: 24px; }
.ym-tariff-price {
	font-family: 'Montserrat', sans-serif;
	font-size: 46px;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 6px !important;
}
.ym-tariff-price span { font-size: 20px; font-weight: 700; white-space: nowrap; }
.ym-checks { list-style: none; margin: 22px 0 26px; padding: 0; }
.ym-checks li {
	position: relative;
	padding-left: 34px;
	margin-bottom: 11px;
	font-size: 17px;
}
.ym-checks li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ym-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC700' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") no-repeat center / 14px;
}
.ym-tariff .ym-note { font-size: 14px; color: #3a3a3a; }
.ym-tariff .wp-block-button__link { background: var(--ym-ink); border-color: var(--ym-ink); color: #fff; }
.ym-tariff .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--ym-ink); }
.ym-prices { list-style: none; margin: 0 0 24px; padding: 0; }
.ym-prices li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ym-line);
	font-size: 17px;
}
.ym-prices li strong {
	flex: 0 1 auto;
	max-width: 68%;
	text-align: right;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	color: var(--ym-ink);
}
.ym-calc {
	margin-top: 56px;
	background: var(--ym-dark);
	color: #fff;
	border-radius: 24px;
	padding: 40px;
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 40px;
}
.ym-calc-title {
	grid-column: 1 / -1;
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	font-weight: 900;
	text-transform: uppercase;
	margin: 0;
}
.ym-calc-q { margin-bottom: 22px; }
.ym-calc-q:last-child { margin-bottom: 0; }
.ym-calc-label { display: block; font-weight: 700; margin-bottom: 10px; font-size: 16px; color: #fff; }
.ym-calc-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.ym-calc-opts button {
	padding: 10px 16px;
	border-radius: 24px;
	border: 1px solid #4a4a4a;
	background: transparent;
	color: #e1e1e1;
	font-size: 15px;
	font-family: 'Inter', sans-serif;
	cursor: pointer;
	transition: .2s;
}
.ym-calc-opts button:hover { border-color: var(--ym-yellow); color: #fff; }
.ym-calc-opts button.is-active { background: var(--ym-yellow); border-color: var(--ym-yellow); color: var(--ym-ink); font-weight: 700; }
.ym-calc-result {
	align-self: center;
	background: var(--ym-dark-2);
	border-radius: 20px;
	padding: 30px;
}
.ym-calc-result-label { color: var(--ym-muted-dark); font-size: 15px; margin-bottom: 8px; }
.ym-calc-sum {
	color: var(--ym-yellow);
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 8px;
}
.ym-calc-hint { color: var(--ym-muted-dark); font-size: 14px; line-height: 1.45; margin-bottom: 20px; }
.ym-calc-result .ym-calc-btn {
	display: block;
	text-align: center;
	padding: 16px 20px;
	border-radius: 33px;
	background: var(--ym-yellow);
	color: var(--ym-ink);
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 15px;
}
.ym-calc-result .ym-calc-btn:hover { background: #fff; }

/* ---------- Акции ---------- */
.ym-promo-card {
	position: relative;
	background: var(--ym-dark);
	color: #fff;
	border-radius: 24px;
	padding: 40px 38px;
	overflow: hidden;
	height: 100%;
}
.ym-promo-card h3 { color: #fff; font-size: 24px; }
.ym-promo-card p { color: var(--ym-muted-dark); }
.ym-promo-card .ym-promo-badge {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	background: var(--ym-yellow);
	color: var(--ym-ink);
	font-size: 13px !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 18px !important;
}

.ym-section .ym-promos { grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)) !important; }

/* ---------- Гарантии ---------- */
.ym-guarantee {
	background: #fff;
	border-radius: var(--ym-radius);
	padding: 30px 28px;
	height: 100%;
}
.ym-guarantee p { color: var(--ym-muted); font-size: 16px; }

/* ---------- Отзывы ---------- */
.ym-review {
	background: #fff;
	border: 1px solid var(--ym-line);
	border-radius: var(--ym-radius);
	padding: 32px 30px 28px;
	height: 100%;
}
.ym-review > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.ym-review > .wp-block-group__inner-container::before {
	content: '“';
	display: block;
	color: var(--ym-yellow);
	font-family: Georgia, serif;
	font-size: 72px;
	line-height: .8;
	height: 40px;
}
.ym-review p { font-size: 16px; color: var(--ym-text); }
.ym-review .ym-review-author { margin-top: auto !important; margin-bottom: 2px !important; font-weight: 700; color: var(--ym-ink); }
.ym-review .ym-review-role { font-size: 14px; color: var(--ym-muted); margin-bottom: 0 !important; }

/* ---------- Команда ---------- */
.ym-role {
	background: var(--ym-bg-soft);
	border-radius: var(--ym-radius);
	padding: 28px 26px;
	height: 100%;
}
.ym-role p { font-size: 15px; color: var(--ym-muted); }

/* ---------- Вопросы и ответы ---------- */
.ym-faq .wp-block-details {
	border-bottom: 1px solid #333;
	padding: 0;
	margin: 0;
}
.ym-faq .wp-block-details:first-child { border-top: 1px solid #333; }
.ym-faq .wp-block-details summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 26px 56px 26px 0;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}
.ym-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ym-faq .wp-block-details summary::after {
	content: '+';
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ym-yellow);
	font-size: 34px;
	font-weight: 400;
	transition: .25s;
}
.ym-faq .wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.ym-faq .wp-block-details p {
	color: var(--ym-muted-dark);
	font-size: 17px;
	max-width: 960px;
	padding-bottom: 12px;
}

/* ---------- Заявка и контакты ---------- */
.ym-contact-cols { gap: 48px !important; }
.ym-contact-list { list-style: none; margin: 8px 0 28px; padding: 0; }
.ym-contact-list li {
	position: relative;
	padding: 2px 0 2px 46px;
	margin-bottom: 20px;
	font-size: 18px;
	color: #e9e9e9;
	min-height: 30px;
}
.ym-contact-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	background: no-repeat center / contain;
}
.ym-contact-list li.ym-c-phone::before { background-image: url(../img/ym/phone.svg); }
.ym-contact-list li.ym-c-mail::before { background-image: url(../img/ym/mail.svg); }
.ym-contact-list li.ym-c-pin::before { background-image: url(../img/ym/pin.svg); }
.ym-contact-list li.ym-c-clock::before { background-image: url(../img/ym/clock.svg); }
.ym-contact-list a { color: #fff; text-decoration: underline; text-decoration-color: var(--ym-yellow); text-underline-offset: 4px; }
.ym-contact-list .ym-c-phone a { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 800; text-decoration: none; }
.ym-messengers { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ym-messengers li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px 12px 14px;
	border-radius: 30px;
	border: 1px solid #3a3a3a;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	transition: .2s;
}
.ym-messengers li a:hover { border-color: var(--ym-yellow); }
.ym-messengers li a::before {
	content: '';
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ym-yellow) no-repeat center / 18px;
}
.ym-messengers .ym-m-tg a::before { background-image: url(../img/telega.svg); background-size: 16px; }
.ym-messengers .ym-m-max a::before { background-image: url(../img/ym/max.svg); background-size: 22px; }
.ym-messengers .ym-m-wa a::before { background-image: url(../img/whatsapp.svg); background-size: 16px; }
.ym-messengers .ym-m-vk a::before { background-image: url(../img/ym/vk.svg); background-size: 18px; }

/* ---------- О компании (SEO-текст) ---------- */
.ym-about .ym-text-cols { gap: 48px !important; }
.ym-about p { color: var(--ym-muted); font-size: 17px; }
.ym-about h3 { margin-top: 10px; }
.ym-about p a,
.ym-light p:not(.ym-card-more) > a:not(.ym-open-form) {
	color: var(--ym-ink);
	text-decoration: underline;
	text-decoration-color: var(--ym-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

/* ---------- Адаптив ---------- */
@media (max-width: 1340px) {
	.ym-hero h1 { font-size: 48px; }
	.ym-section h2 { font-size: 38px; }
}
@media (max-width: 1100px) {
	.ym-head-contacts { display: none; }
	.ym-calc { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
	.ym-section { padding: 72px 0; font-size: 17px; }
	.ym-section > .wp-block-group__inner-container { padding: 0 24px; }
	.ym-hero { padding: 150px 0 72px; }
	.ym-hero h1 { font-size: 40px; }
	.ym-section h2 { font-size: 32px; }
	.ym-lead { font-size: 18px; margin-bottom: 36px !important; }
}
@media (max-width: 781px) {
	.ym-hero-cols,
	.ym-price-cols,
	.ym-contact-cols,
	.ym-about .ym-text-cols { gap: 32px !important; }
	.ym-tariff, .ym-promo-card, .ym-calc { padding: 30px 24px; }
	.ym-tariff-price { font-size: 38px; }
}
@media (max-width: 600px) {
	.ym-section { padding: 56px 0; font-size: 16px; }
	.ym-section > .wp-block-group__inner-container { padding: 0 16px; }
	.ym-hero { padding: 130px 0 56px; }
	.ym-hero h1 { font-size: 30px; }
	.ym-hero-lead { font-size: 17px; }
	.ym-section h2 { font-size: 26px; }
	.ym-section h3 { font-size: 18px; }
	.ym-form-card { padding: 26px 20px; }
	.ym-card, .ym-step, .ym-guarantee, .ym-review, .ym-role { padding: 24px 20px; }
	.ym-calc-sum { font-size: 32px; }
	.ym-faq .wp-block-details summary { font-size: 17px; padding: 20px 44px 20px 0; }
	.ym-contact-list .ym-c-phone a { font-size: 22px; }
	.ym-wrap-buttons .wp-block-button, .ym-hero .wp-block-button { width: 100%; }
	.ym-hero .wp-block-button__link { display: block; text-align: center; }
}

/* ---------- Подвал ---------- */
footer .phone a { white-space: nowrap; }
footer .social img { width: 43px; height: 43px; }
footer .callback a,
.top_menu .top_callback a { color: var(--ym-ink); }
footer .callback a:hover,
.top_menu .top_callback a:hover { color: var(--ym-ink); }
.top_menu .top_callback a { white-space: nowrap; }

/* ---------- Направления внутри карточки услуги ---------- */
.ym-ic-support > .wp-block-group__inner-container::before { background-image: url(../img/ym/support.svg); }
.ym-card .ym-card-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px !important; }
.ym-card .ym-card-tags span,
.ym-card .ym-card-tags a {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 20px;
	background: var(--ym-bg-soft);
	color: var(--ym-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
.ym-card .ym-card-tags a:hover { background: var(--ym-yellow); }

/* ---------- Заголовок H1 на старых лендингах (первый экран main_cover) ---------- */
.main_cover h1.main_title {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 5vw;
	font-weight: 900;
	line-height: 1.15;
	text-transform: uppercase;
	margin-bottom: 40px;
}
@media (max-width: 760px) {
	.main_cover h1.main_title { font-size: 30px; text-align: center; }
}
@media (min-width: 1024px) {
	.top_menu .top_callback a { padding-left: 28px; padding-right: 28px; }
	.ym-head-contacts { margin-left: 18px; }
}
@media (min-width: 1024px) and (max-width: 1500px) {
	.wrap_header > .custom-logo-link { margin-right: 20px; }
	.top_menu { gap: 12px; }
	.top_menu a { font-size: 15px; }
}
@media (max-width: 1400px) {
	.ym-head-contacts { display: none; }
}
@media (min-width: 1024px) and (max-width: 1200px) {
	.top_menu { gap: 8px; }
	.top_menu a { font-size: 14px; }
	.top_menu .top_telega a,
	.top_menu .top_whatsapp a,
	.top_menu .top_max a { width: 50px; height: 50px; background-size: 30px; }
	.top_menu .top_callback a { padding: 14px 18px; font-size: 14px; }
}

/* Подпись под кнопкой формы */
.wpcf7 .ym-form-small {
	margin: 12px 0 0 !important;
	font-size: 12px;
	line-height: 1.4;
	color: #8a8a8a;
	text-align: center;
}

/* Направления продвижения под карточками */
.ym-section .ym-dir-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 0 !important; }
.ym-section .ym-dir-tags span,
.ym-section .ym-dir-tags a {
	padding: 10px 18px;
	border-radius: 30px;
	background: #fff;
	border: 1px solid var(--ym-line);
	color: var(--ym-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
.ym-section .ym-dir-tags a:hover { border-color: var(--ym-yellow); }

/* Отступ после сеток карточек, рамка у карточек на белом фоне */
.ym-section .ym-grid + .wp-block-buttons,
.ym-section .ym-grid + p { margin-top: 28px !important; }
.ym-light .ym-guarantee { border: 1px solid var(--ym-line); }

/* Галочки на тёмном фоне */
.ym-dark .ym-checks li { color: #e9e9e9; }
.ym-dark .ym-checks li::before {
	background: var(--ym-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") no-repeat center / 14px;
}

/* ---------- Хлебные крошки на страницах услуг ---------- */
main > .ym-crumbs {
	position: absolute;
	top: 140px;
	left: 0;
	right: 0;
	z-index: 5;
	max-width: var(--ym-wrap);
	margin: 0 auto;
	padding: 0 40px;
}
.ym-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px 0; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.ym-crumbs li { color: #9a9a9a; }
.ym-crumbs li + li::before { content: '›'; margin: 0 10px; color: var(--ym-yellow); }
.ym-crumbs a { color: #d6d6d6; text-decoration: none; }
.ym-crumbs a:hover { color: var(--ym-yellow); }
main { position: relative; }
/* Нижний отступ шапки лежит поверх крошек: пустая часть шапки не ловит клики, её содержимое — ловит */
.main_header, .wrap_header { pointer-events: none; }
.wrap_header > * { pointer-events: auto; }
@media (max-width: 1023px) {
	main > .ym-crumbs { top: 108px; padding: 0 24px; }
}
@media (max-width: 600px) {
	main > .ym-crumbs { top: 96px; padding: 0 16px; font-size: 13px; }
}

/* ---------- Раздел-руководство ---------- */
.ym-guide > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 56px;
}
.ym-guide-item h3 { margin-bottom: 10px; }
.ym-guide-item p { color: var(--ym-muted); font-size: 17px; }
@media (max-width: 860px) {
	.ym-guide > .wp-block-group__inner-container { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
	.ym-crumbs li[aria-current] { display: none; }
	.ym-crumbs li:nth-last-child(2)::after { content: ''; }
	.ym-landing .ym-hero { padding-top: 140px; }
}

/* ---------- Таблица сравнения ---------- */
.ym-section .ym-compare { margin: 0; overflow-x: auto; }
.ym-section .ym-compare table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 16px; }
.ym-section .ym-compare th,
.ym-section .ym-compare td { padding: 16px 18px; border-bottom: 1px solid var(--ym-line); text-align: left; vertical-align: top; line-height: 1.45; }
.ym-section .ym-compare thead th { background: var(--ym-ink); color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; }
.ym-section .ym-compare thead th:nth-child(2) { background: var(--ym-yellow); color: var(--ym-ink); }
.ym-section .ym-compare tbody td:first-child { font-weight: 700; color: var(--ym-ink); }
.ym-section .ym-compare tbody td:nth-child(2) { background: #fffbe8; }
/* Сетка таблицы: все линии одного светлого цвета, таблица замкнута снизу (стандартный стиль WP рисовал вертикали тёмным) */
.ym-section .ym-compare th, .ym-section .ym-compare td { border: 1px solid var(--ym-line); }
.ym-section .ym-compare thead th { border-color: var(--ym-ink); }
.ym-section .ym-compare thead th:nth-child(2) { border-color: var(--ym-yellow); }
.ym-section .ym-plain thead th:nth-child(2) { border-color: var(--ym-ink); }
.ym-section .ym-compare tbody td:first-child,
.ym-section .ym-compare thead th:first-child { position: sticky; left: 0; z-index: 1; }
.ym-section .ym-compare tbody td:first-child { background: #fff; }
.ym-section .ym-pricelist thead th:nth-child(2) { background: var(--ym-ink); color: #fff; }
.ym-section .ym-pricelist tbody td:nth-child(2) { background: none; }
.ym-section .ym-pricelist tbody td:last-child { font-weight: 700; color: var(--ym-ink); white-space: nowrap; }
.ym-section .ym-subhead { margin-top: 64px !important; }
@media (max-width: 760px) {
  .ym-section .ym-compare::before { content: 'Таблицу можно листать вбок →'; display: block; margin-bottom: 10px; font-size: 14px; color: var(--ym-muted); }
  .ym-section .ym-compare table { min-width: 600px; font-size: 15px; }
  .ym-section .ym-compare th, .ym-section .ym-compare td { padding: 12px 14px; }
  .ym-section .ym-pricelist tbody td:last-child { white-space: normal; }
}
.ym-section .ym-compare + p { margin-top: 20px; }
/* Справочная таблица без выделенного столбца */
.ym-section .ym-plain thead th:nth-child(2) { background: var(--ym-ink); color: #fff; }
.ym-section .ym-plain tbody td:nth-child(2) { background: none; }
/* Пункт без цены — обычная строка, ссылки внутри не разъезжаются по колонкам */
.ym-prices li:not(:has(strong)) { display: block; }
.ym-section .ym-prices li a,
.ym-section .ym-checks li a { text-decoration: underline; text-decoration-color: var(--ym-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ym-section .ym-prices li a:hover,
.ym-section .ym-checks li a:hover { color: var(--ym-yellow-dark); }
/* Контакты */
.ym-ic-phone > .wp-block-group__inner-container::before { background-image: url(../img/ym/phone.svg); }
.ym-ic-mail > .wp-block-group__inner-container::before { background-image: url(../img/ym/mail.svg); }
.ym-ic-max > .wp-block-group__inner-container::before { background-image: url(../img/ym/max.svg); }
.ym-map { position: relative; border-radius: 24px; overflow: hidden; background: #e9e9e4; min-height: 420px; height: 100%; }
.ym-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
.ym-contacts-hero .ym-contact-list { margin-top: 28px; }
.ym-contacts-hero .ym-messengers { margin-top: 20px; }
.ym-section .ym-requisites table { min-width: 0; }
.ym-section .ym-requisites tbody td:first-child { width: 30%; }
@media (max-width: 760px) {
  .ym-map, .ym-map iframe { min-height: 320px; }
  .ym-section .ym-requisites::before { content: none; }
}
/* Карточки людей (страница «О компании») */
.ym-person { background: #fff; border: 1px solid var(--ym-line); border-radius: 24px; padding: 28px; height: 100%; }
.ym-dark .ym-person { background: #1d1d1d; border-color: #333; }
.ym-person .ym-avatar { width: 72px; height: 72px; border-radius: 50%; background: var(--ym-yellow); color: var(--ym-ink); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 22px; margin: 0 0 18px; }
.ym-person h3 { margin: 0 0 6px; font-size: 18px; }
.ym-person .ym-person-role { color: var(--ym-muted); font-size: 15px; margin: 0 0 12px; }
.ym-person p:last-child { font-size: 15px; margin: 0; }
.ym-dark .ym-person .ym-person-role { color: #aaa; }
/* Крупные цифры и история без автонумерации («О компании») */
.ym-stats .ym-guarantee h3 { font-size: 44px; line-height: 1; color: var(--ym-ink); margin-bottom: 12px; }
.ym-stats .ym-guarantee > .wp-block-group__inner-container::before { content: none; display: none; }
.ym-timeline .ym-step > .wp-block-group__inner-container::before { content: none; display: none; }
.ym-timeline .ym-step h3 { color: var(--ym-yellow); }
@media (max-width: 760px) { .ym-stats .ym-guarantee h3 { font-size: 36px; } }

/* ================= Блог ================= */
.ym-article-head, .ym-article-layout, .ym-article-contact-inner, .ym-blog-list > *, .ym-related > * {
	width: min(calc(var(--ym-wrap) - 80px), calc(100% - 80px));
	margin-left: auto; margin-right: auto;
}
.ym-article-hero, .ym-blog-hero { padding: 170px 0 72px; }
.ym-article-hero h1 { font-size: 48px; max-width: 980px; }
.ym-blog-hero h1 { font-size: 54px; }
.ym-kicker a { color: inherit; text-decoration: none; }
.ym-article-meta { display: flex; flex-wrap: wrap; gap: 8px 0; color: #bdbdbd; font-size: 15px; margin: 0 !important; }
.ym-article-meta span + span::before { content: "·"; margin: 0 12px; color: var(--ym-yellow); }

.ym-article-layout {
	display: grid; grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "body aside";
	gap: 64px; padding: 64px 0 96px; align-items: start;
}
.ym-article-aside { grid-area: aside; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.ym-article-body { grid-area: body; max-width: 780px; }
.ym-section.ym-article-body { padding: 0; font-size: 18px; line-height: 1.7; color: var(--ym-text); }
.ym-article-body > *:first-child { margin-top: 0; }
.ym-article-body .ym-article-lead { font-size: 21px; line-height: 1.6; color: var(--ym-ink); margin-bottom: 28px; }
.ym-section.ym-article-body h2 { font-size: 32px; line-height: 1.2; margin: 56px 0 18px; scroll-margin-top: 24px; }
.ym-section.ym-article-body h3 { font-size: 22px; margin: 34px 0 12px; }
.ym-article-body p { margin: 0 0 18px; }
.ym-article-body ul:not(.ym-checks):not(.ym-prices), .ym-article-body ol { margin: 0 0 22px; padding-left: 26px; }
.ym-article-body ul:not(.ym-checks):not(.ym-prices) { list-style: disc; }
.ym-article-body ol { list-style: decimal; }
.ym-article-body li { margin-bottom: 8px; }
.ym-article-body li::marker { color: var(--ym-yellow-dark); font-weight: 700; }
.ym-article-body a { text-decoration: underline; text-decoration-color: var(--ym-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ym-article-body a:hover { color: var(--ym-yellow-dark); }
.ym-article-body strong { color: var(--ym-ink); font-weight: 700; }
.ym-article-body .wp-block-table { margin: 8px 0 28px; }
.ym-article-body .ym-compare table { font-size: 16px; }
.ym-article-body .wp-block-image { margin: 12px 0 32px; }
.ym-article-body .wp-block-image img { display: block; width: 100%; height: auto; border: 1px solid var(--ym-line); border-radius: 16px; background: #fff; }
.ym-article-body .wp-block-image figcaption { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--ym-muted); text-align: center; }
.ym-callout { background: #fff8d9; border-left: 4px solid var(--ym-yellow); border-radius: 0 16px 16px 0; padding: 20px 24px; margin: 8px 0 28px; }
.ym-callout p:last-child { margin-bottom: 0; }
.ym-cta-inline { background: var(--ym-dark-2); color: #e1e1e1; border-radius: 24px; padding: 30px 32px; margin: 36px 0; }
.ym-cta-inline p { margin-bottom: 10px; }
.ym-cta-inline strong { color: #fff; font-family: "Montserrat", sans-serif; font-size: 22px; font-weight: 800; }
.ym-cta-inline .wp-block-buttons { margin-top: 16px; }
.ym-cta-inline a.wp-block-button__link { text-decoration: none; }
/* Вопросы в статье — на светлом фоне */
.ym-article-body .ym-faq .wp-block-details, .ym-article-body .ym-faq .wp-block-details:first-child { border-color: var(--ym-line); }
.ym-article-body .ym-faq .wp-block-details summary { color: var(--ym-ink); font-size: 19px; padding: 20px 52px 20px 0; }
.ym-article-body .ym-faq .wp-block-details p { color: var(--ym-text); font-size: 17px; }

/* Оглавление и боковая заявка */
.ym-toc { background: var(--ym-bg-soft); border-radius: 20px; padding: 22px 24px; max-height: 60vh; overflow: auto; }
.ym-toc-title { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 15px; text-transform: uppercase; letter-spacing: .05em; color: var(--ym-ink); margin: 0 0 12px; }
.ym-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.ym-toc li { counter-increment: toc; display: flex; gap: 8px; font-size: 15px; line-height: 1.4; margin-bottom: 10px; }
.ym-toc li::before { content: counter(toc) "."; color: var(--ym-yellow-dark); font-weight: 700; min-width: 20px; }
.ym-toc a { color: var(--ym-text); text-decoration: none; }
.ym-toc a:hover { color: var(--ym-ink); text-decoration: underline; text-decoration-color: var(--ym-yellow); }
.ym-aside-cta { background: var(--ym-dark-2); color: #d6d6d6; border-radius: 20px; padding: 24px; font-size: 15px; line-height: 1.5; }
.ym-aside-cta-title { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 18px; color: #fff; margin: 0 0 8px; }
.ym-aside-cta p { margin: 0 0 16px; }
.ym-aside-cta-btn { display: inline-block; background: var(--ym-yellow); color: var(--ym-ink); font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 15px; padding: 12px 22px; border-radius: 40px; text-decoration: none; }
.ym-aside-cta-btn:hover { background: #fff; color: var(--ym-ink); }

/* Заявка внизу статьи и ленты */
.ym-article-contact-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.ym-article-contact h2 { color: #fff; }
.ym-article-contact .ym-lead { color: #d6d6d6; }
.ym-article-contact a { color: #fff; text-decoration: underline; text-decoration-color: var(--ym-yellow); text-underline-offset: 4px; }
.ym-article-contact .ym-form-card a { color: inherit; }

/* Лента статей */
.ym-related h2 { margin-bottom: 32px; }
.ym-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.ym-post-card { background: #fff; border: 1px solid var(--ym-line); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; transition: .2s; }
.ym-post-card:hover { border-color: var(--ym-yellow); box-shadow: 0 16px 40px rgba(0, 0, 0, .06); }
.ym-post-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 14px; color: var(--ym-muted); margin: 0 0 14px !important; }
.ym-post-cat { background: var(--ym-bg-soft); color: var(--ym-ink); font-weight: 600; padding: 3px 10px; border-radius: 20px; }
.ym-post-card h3, .ym-post-card h2 { font-size: 21px; line-height: 1.25; margin-bottom: 12px; }
.ym-post-card h3 a, .ym-post-card h2 a { color: var(--ym-ink); text-decoration: none; }
.ym-post-card h3 a:hover, .ym-post-card h2 a:hover { color: var(--ym-yellow-dark); }
.ym-post-excerpt { font-size: 16px; color: var(--ym-muted); flex: 1 1 auto; }
.ym-post-more { margin: 8px 0 0 !important; }
.ym-post-more a { font-weight: 700; color: var(--ym-ink); text-decoration: underline; text-decoration-color: var(--ym-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ym-blog-cats { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0 !important; }
.ym-blog-cats a { border: 1px solid #555; color: #fff; border-radius: 30px; padding: 8px 18px; font-size: 15px; text-decoration: none; }
.ym-blog-cats a:hover, .ym-blog-cats a[aria-current] { background: var(--ym-yellow); border-color: var(--ym-yellow); color: var(--ym-ink); }
.ym-blog-list .nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 40px; }
.ym-blog-list .page-numbers { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ym-line); border-radius: 22px; color: var(--ym-ink); text-decoration: none; }
.ym-blog-list .page-numbers.current { background: var(--ym-yellow); border-color: var(--ym-yellow); }

@media (max-width: 1100px) {
	.ym-article-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "aside" "body"; gap: 32px; padding-top: 40px; }
	.ym-article-aside { position: static; }
	.ym-aside-cta { display: none; }
	.ym-toc { max-height: 340px; }
	.ym-article-body { max-width: none; }
	.ym-article-contact-inner { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 760px) {
	.ym-article-head, .ym-article-layout, .ym-article-contact-inner, .ym-blog-list > *, .ym-related > * { width: calc(100% - 32px); }
	.ym-article-hero, .ym-blog-hero { padding: 130px 0 48px; }
	.ym-article-hero h1, .ym-blog-hero h1 { font-size: 32px; }
	.ym-section.ym-article-body { font-size: 17px; }
	.ym-section.ym-article-body h2 { font-size: 26px; margin-top: 44px; }
	.ym-section.ym-article-body h3 { font-size: 20px; }
	.ym-article-body .ym-article-lead { font-size: 19px; }
	.ym-cta-inline { padding: 24px 20px; }
	.ym-post-grid { grid-template-columns: 1fr; }
}
/* Код в статьях */
.ym-article-body .wp-block-code { background: #151515; color: #f1f1f1; border-radius: 16px; padding: 20px 22px; overflow-x: auto; margin: 0 0 24px; font-size: 14px; line-height: 1.6; }
.ym-article-body .wp-block-code code { font-family: Consolas, Menlo, monospace; white-space: pre; background: none; padding: 0; color: inherit; }
.ym-article-body :not(pre) > code { font-family: Consolas, Menlo, monospace; font-size: .9em; background: var(--ym-bg-soft); border-radius: 6px; padding: 2px 6px; }
/* main в теме обрезает переполнение через overflow:hidden — это ломает липкое оглавление */
.ym-article-page main { overflow: visible; overflow-x: clip; }
/* Подвал: меню в две колонки (услуги | компания) */
@media (min-width: 761px) {
  footer .f_second ul { display: grid; grid-auto-flow: column; grid-template-rows: repeat(6, auto); column-gap: 56px; row-gap: 18px; }
  footer .f_second ul li { margin-bottom: 0; }
}
@media (max-width: 760px) {
  footer .f_second ul { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
  footer .f_second ul li { margin-bottom: 0; }
}
@media (max-width: 760px) {
  footer .f_second ul { gap: 0 24px; width: 100%; }
  footer .f_second ul li { border-bottom: 1px solid #4a4a4a; }
  footer .f_second ul a, footer .f_second ul a:last-child { height: auto; line-height: 1.3; padding: 14px 0; border: 0; text-align: left; }
  footer .copy { line-height: 1.3; }
}
/* Рубрика-хаб: блок услуги и SEO-текст */
.ym-hub-service { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--ym-dark-2); color: #d6d6d6; border-radius: 24px; padding: 30px 36px; margin-top: 40px; }
.ym-hub-service p { margin: 0 0 6px; }
.ym-hub-service-kicker { color: var(--ym-yellow); font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.ym-hub-service-title { color: #fff; font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 22px; }
.ym-hub-service .ym-aside-cta-btn { flex-shrink: 0; }
.ym-hub-text-inner { width: min(calc(var(--ym-wrap) - 80px), calc(100% - 80px)); margin: 0 auto; max-width: 900px; }
.ym-hub-text .ym-hub-text-inner { margin-left: max(40px, calc((100% - var(--ym-wrap)) / 2 + 40px)); }
.ym-hub-text h2 { font-size: 32px; }
.ym-hub-text a { text-decoration: underline; text-decoration-color: var(--ym-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (max-width: 760px) { .ym-hub-service { flex-direction: column; align-items: flex-start; padding: 24px 20px; } .ym-hub-text-inner, .ym-hub-text .ym-hub-text-inner { width: calc(100% - 32px); margin: 0 auto; } .ym-hub-text h2 { font-size: 26px; } }
@media (min-width: 761px) { footer .f_second ul a { white-space: nowrap; } footer .f_second ul { column-gap: 40px; } }
/* Оглавление: высота по экрану, подсветка текущего раздела, прогресс чтения */
.ym-article-aside { max-height: calc(100vh - 48px); }
.ym-toc { max-height: none; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d0d0d0 transparent; padding-top: 0; }
.ym-toc::-webkit-scrollbar { width: 6px; } .ym-toc::-webkit-scrollbar-thumb { background: #d0d0d0; border-radius: 3px; }
.ym-toc-head { position: sticky; top: 0; background: var(--ym-bg-soft); padding: 22px 0 12px; margin-bottom: 4px; z-index: 1; }
.ym-toc-head .ym-toc-title { margin: 0 0 10px; }
.ym-toc-progress { height: 3px; background: #e2e2e2; border-radius: 2px; overflow: hidden; }
.ym-toc-progress span { display: block; height: 100%; width: 0; background: var(--ym-yellow); transition: width .15s linear; }
.ym-toc li { position: relative; padding: 4px 0 4px 12px; margin-bottom: 4px; border-left: 2px solid transparent; transition: border-color .2s; }
.ym-toc li.is-active { border-left-color: var(--ym-yellow); }
.ym-toc li.is-active a { color: var(--ym-ink); font-weight: 700; }
.ym-toc li.is-active::before { color: var(--ym-ink); }
.ym-aside-cta { flex: 0 0 auto; }
@media (max-width: 1100px) { .ym-article-aside { max-height: none; } .ym-toc { max-height: 340px; } }
@media (min-width: 761px) { footer .callback a { white-space: nowrap; padding: 18px 40px; } }

/* ================= Прилипающая полоска ================= */
.ym-stickybar {
	position: fixed; top: 0; left: 0; right: 0; z-index: 900;
	background: rgba(15, 15, 15, .96); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	border-bottom: 1px solid #2a2a2a; box-shadow: 0 6px 24px rgba(0, 0, 0, .25);
	transform: translateY(-100%); transition: transform .25s ease; visibility: hidden;
}
.ym-stickybar.is-visible { transform: translateY(0); visibility: visible; }
.ym-stickybar-inner { display: flex; align-items: center; gap: 24px; height: 60px; width: min(calc(var(--ym-wrap) - 80px), calc(100% - 80px)); margin: 0 auto; }
.ym-sb-logo { display: flex; align-items: center; flex-shrink: 0; color: var(--ym-yellow); font-family: "Montserrat", sans-serif; font-weight: 800; text-decoration: none; }
.ym-sb-logo img { height: 34px; width: auto; display: block; }
.ym-sb-contacts { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.ym-sb-phone { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 17px; text-decoration: none; white-space: nowrap; margin-right: 8px; }
.ym-sb-phone::before { content: ""; width: 18px; height: 18px; background: url(../img/ym/phone.svg) no-repeat center / contain; }
.ym-sb-phone:hover { color: var(--ym-yellow); }
.ym-sb-ch { width: 38px; height: 38px; border-radius: 50%; background: var(--ym-yellow) no-repeat center; display: inline-flex; flex-shrink: 0; transition: transform .15s; }
.ym-sb-ch:hover { transform: translateY(-1px); background-color: #fff; }
.ym-sb-ch span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ym-sb-tg { background-image: url(../img/telega.svg); background-size: 17px; }
.ym-sb-max { background-image: url(../img/ym/max.svg); background-size: 24px; }
.ym-sb-wa { background-image: url(../img/whatsapp.svg); background-size: 17px; }
.ym-sb-mail { background-image: url(../img/ym/mail.svg); background-size: 19px; background-color: #2a2a2a; }
.ym-sb-mail:hover { background-color: #3a3a3a; }
.ym-sb-cta { flex-shrink: 0; background: var(--ym-yellow); color: var(--ym-ink); font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 15px; padding: 11px 22px; border-radius: 30px; text-decoration: none; white-space: nowrap; }
.ym-sb-cta:hover { background: #fff; color: var(--ym-ink); }
@media (max-width: 1100px) {
	.ym-sb-phone span { display: none; }
	.ym-sb-phone { width: 38px; height: 38px; justify-content: center; border-radius: 50%; background: #2a2a2a; margin-right: 0; }
}
@media (max-width: 760px) {
	.ym-stickybar-inner { width: calc(100% - 24px); gap: 10px; height: 54px; }
	.ym-sb-logo img { height: 26px; }
	.ym-sb-contacts { gap: 6px; }
	.ym-sb-ch, .ym-sb-phone { width: 34px; height: 34px; }
	.ym-sb-mail { display: none; }
	.ym-sb-cta { font-size: 13px; padding: 9px 14px; }
}
@media (max-width: 420px) {
	.ym-sb-logo { display: none; }
	.ym-sb-contacts { margin-left: 0; }
	.ym-sb-cta { margin-left: auto; }
}

/* Статья: справа только оглавление, оно встаёт под полоской и не прокручивается само */
.ym-article-aside { top: 84px; max-height: calc(100vh - 108px); }
.ym-toc { overflow-y: auto; }
.ym-toc li { margin-bottom: 2px; padding-top: 3px; padding-bottom: 3px; font-size: 14.5px; }
@media (max-width: 1100px) {
	.ym-article-aside { top: auto; max-height: none; }
}
/* Якорные переходы не прячем под полоску */
.ym-section.ym-article-body h2 { scroll-margin-top: 84px; }
/* Оглавление: компактнее, без видимой прокрутки — само едет за текущим разделом */
.ym-article-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; }
.ym-toc { scrollbar-width: none; padding-bottom: 14px; }
.ym-toc::-webkit-scrollbar { display: none; }
.ym-toc-head { padding: 18px 0 10px; }
.ym-toc li { font-size: 14px; line-height: 1.3; padding-top: 2px; padding-bottom: 2px; margin-bottom: 3px; }
.ym-toc.is-overflow { -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 36px), transparent); }
.ym-toc.is-overflow.is-end { -webkit-mask-image: none; mask-image: none; }
@media (max-width: 1100px) { .ym-article-layout { grid-template-columns: minmax(0, 1fr); } }

/* ================= Меню «Услуги»: выпадающий список в шапке и в полоске ================= */
@media (min-width: 1024px) {
	.top_menu > li.menu-item-has-children { position: relative; }
	.top_menu > li.menu-item-has-children > a::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
	.top_menu > li.menu-item-has-children:hover > a::after { transform: translateY(0) rotate(-135deg); }
	.top_menu > li.menu-item-has-children > .sub-menu { position: absolute; top: 100%; left: -22px; padding-top: 14px; z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
	.top_menu > li.menu-item-has-children:hover > .sub-menu,
	.top_menu > li.menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
}
.top_menu .sub-menu, .ym-dd-menu { list-style: none; margin: 0; }
@media (min-width: 1024px) {
	.top_menu .sub-menu::before { content: ""; position: absolute; inset: 14px 0 0; background: #151515; border: 1px solid #2c2c2c; border-radius: 18px; box-shadow: 0 24px 50px rgba(0, 0, 0, .35); z-index: -1; }
	.top_menu .sub-menu { display: grid; grid-auto-flow: column; grid-template-rows: repeat(8, auto); column-gap: 18px; padding: 28px 18px 14px; min-width: 590px; }
	.top_menu .sub-menu li { margin: 0; }
	.top_menu .sub-menu a { display: block; padding: 8px 12px; border-radius: 10px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #e8e8e8; white-space: nowrap; text-decoration: none; }
	.top_menu .sub-menu a:hover { background: #242424; color: var(--ym-yellow); }
	.top_menu .sub-menu .current-menu-item > a { color: var(--ym-yellow); }
}
/* Мобильное меню (бургер): «Услуги» раскрываются по тапу */
@media (max-width: 1023px) {
	.top_menu > li.menu-item-has-children > a::after { content: "+"; margin-left: 8px; color: var(--ym-yellow); }
	.top_menu > li.menu-item-has-children.is-open > a::after { content: "−"; }
	.top_menu .sub-menu { display: none; padding: 4px 0 8px; }
	.top_menu li.is-open > .sub-menu { display: block; }
	.top_menu .sub-menu li { width: 100%; }
	.top_menu .sub-menu a { height: auto; line-height: 1.3; padding: 11px 0; font-size: 15px; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, .25); color: #e8e8e8; }
	.top_menu .sub-menu li:first-child a { border-top: 0; }
}

/* Полоска: «Услуги» */
.ym-sb-nav { flex-shrink: 0; }
.ym-dd { position: relative; }
.ym-dd-btn { background: none; border: 0; cursor: pointer; color: #fff; font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 15px; padding: 10px 4px; display: inline-flex; align-items: center; gap: 8px; }
.ym-dd-btn::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.ym-dd:hover .ym-dd-btn, .ym-dd.is-open .ym-dd-btn { color: var(--ym-yellow); }
.ym-dd:hover .ym-dd-btn::after, .ym-dd.is-open .ym-dd-btn::after { transform: translateY(2px) rotate(-135deg); }
.ym-dd-menu { position: absolute; top: 100%; left: -18px; padding: 24px 18px 14px; display: grid; grid-auto-flow: column; grid-template-rows: repeat(8, auto); column-gap: 18px; min-width: 590px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 2; }
.ym-dd-menu::before { content: ""; position: absolute; inset: 10px 0 0; background: #151515; border: 1px solid #2c2c2c; border-radius: 18px; box-shadow: 0 24px 50px rgba(0, 0, 0, .35); z-index: -1; }
.ym-dd:hover .ym-dd-menu, .ym-dd.is-open .ym-dd-menu, .ym-dd:focus-within .ym-dd-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ym-dd-menu a { display: block; padding: 8px 12px; border-radius: 10px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #e8e8e8; white-space: nowrap; text-decoration: none; }
.ym-dd-menu a:hover { background: #242424; color: var(--ym-yellow); }
@media (max-width: 760px) { .ym-sb-nav { display: none; } }

/* Кнопка «наверх» */
.ym-totop { position: fixed; right: 24px; bottom: 24px; z-index: 890; width: 52px; height: 52px; border-radius: 50%; background: var(--ym-yellow); box-shadow: 0 10px 24px rgba(0, 0, 0, .22); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s, transform .2s, visibility .2s, background-color .2s; }
.ym-totop::before { content: ""; width: 12px; height: 12px; border-left: 3px solid var(--ym-ink); border-top: 3px solid var(--ym-ink); transform: translateY(3px) rotate(45deg); }
.ym-totop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ym-totop:hover { background: #fff; }
@media (max-width: 760px) { .ym-totop { right: 14px; bottom: 14px; width: 46px; height: 46px; } }
@media (min-width: 1024px) { .top_menu > li > a { white-space: nowrap; } }
/* Отступ первого пункта от края панели (зазор 14px до «Услуг» + 14px внутри панели) */
@media (min-width: 1024px) { .top_menu > li.menu-item-has-children > .sub-menu { padding: 28px 14px 14px; } .top_menu .sub-menu::before { inset: 14px 0 0; } }
.ym-dd-menu { padding: 24px 14px 14px; }
/* MAX — нативный значок приложения (квадрат со скруглением) вместо жёлтого круга с надписью */
.top_menu .top_max a, .top_menu .top_max a:hover { background: url(../img/ym/max-app.png) no-repeat center / cover !important; border-radius: 23% !important; font-size: 0; color: transparent; }
.top_menu .top_max a:hover { transform: translateY(-2px); }
@media (max-width: 1440px) { .top_menu .top_max a { background-size: cover !important; } }
.ym-messengers .ym-m-max a::before { background: url(../img/ym/max-app.png) no-repeat center / cover; border-radius: 23%; }
.ym-sb-max, .ym-sb-max:hover { background: url(../img/ym/max-app.png) no-repeat center / cover; border-radius: 23%; }
footer img[src*="max-app"] { border-radius: 23%; }
/* Оптическая подгонка: квадрат кажется крупнее круга того же размера */
.top_menu .top_max a { width: 58px !important; height: 58px !important; margin: 4px; }
@media (max-width: 1440px) { .top_menu .top_max a { width: 46px !important; height: 46px !important; margin: 2px; } }
.ym-sb-max { width: 34px; height: 34px; margin: 2px; }
.ym-messengers .ym-m-max a::before { width: 27px; height: 27px; margin: 1px; }
footer img[src*="max-app"] { width: 39px !important; height: 39px !important; margin: 2px; }
@media (max-width: 760px) { .ym-sb-max { width: 31px; height: 31px; } }

/* ===== Иконки мессенджеров: шапка — цвета брендов, блоки контактов — жёлтые, подвал — серые ===== */
/* Шапка и прилипающая полоска: нативные цвета, белый глиф; MAX — значок приложения */
.top_telega a, .ym-sb-tg { background-color: #2AABEE !important; }
.top_whatsapp a, .ym-sb-wa { background-color: #25D366 !important; }
.top_telega a:hover, .ym-sb-tg:hover { background-color: #1C93D1 !important; }
.top_whatsapp a:hover, .ym-sb-wa:hover { background-color: #1DB954 !important; }
.top_telega a:hover:after, .top_whatsapp a:hover:after { background-color: #fff; }
.ym-sb-max:hover { background-color: transparent; }
/* Блоки контактов: все жёлтые, MAX — белый глиф на жёлтом круге */
.ym-messengers .ym-m-max a::before { background: var(--ym-yellow) url(../img/ym/max-glyph-white.png) no-repeat center / 17px !important; border-radius: 50% !important; width: 30px !important; height: 30px !important; margin: 0 !important; }
/* Подвал: все серые, при наведении — исходный вид */
footer .social img { filter: grayscale(1) brightness(.62); transition: filter .2s; border-radius: 50% !important; }
footer .social a:hover img { filter: none; }
footer img[src*="f-max-circle"] { width: 43px !important; height: 43px !important; margin: 0 !important; }

/* Ссылки в таблицах видно так же, как в списках */
.ym-section .ym-compare td a { text-decoration: underline; text-decoration-color: var(--ym-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ym-section .ym-compare td a:hover { color: var(--ym-ink); text-decoration-color: var(--ym-ink); }

/* ================= «Услуги» с группами: SEO / Сайты / Реклама + Ведение / Все цены ================= */
@media (min-width: 1024px) {
	.top_menu > li.menu-item-has-children > .sub-menu,
	.ym-dd-menu { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: repeat(3, minmax(220px, auto)); column-gap: 28px; row-gap: 6px; min-width: 0; width: max-content; padding: 30px 26px 18px; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(1), .ym-dd-menu > .ym-dd-group:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(2), .ym-dd-menu > .ym-dd-group:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(3), .ym-dd-menu > .ym-dd-group:nth-child(3) { grid-column: 3; grid-row: 1; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(4), .ym-dd-menu > .ym-dd-group:nth-child(4) { grid-column: 3; grid-row: 2; }
	.top_menu > li > .sub-menu > li:not(.menu-item-has-children), .ym-dd-menu > .ym-dd-all { grid-column: 1 / -1; border-top: 1px solid #2c2c2c; margin-top: 10px; padding-top: 10px; }
	/* заголовок группы */
	.top_menu > li > .sub-menu > li.menu-item-has-children > a, .ym-dd-menu > .ym-dd-group > a { color: var(--ym-yellow); font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 12px 8px; }
	.top_menu > li > .sub-menu > li.menu-item-has-children > a::after { display: none; }
	.top_menu > li > .sub-menu > li.menu-item-has-children > a:hover, .ym-dd-menu > .ym-dd-group > a:hover { background: none; color: #fff; }
	/* вложенный список группы — обычный столбец, не второе выпадающее меню */
	.top_menu .sub-menu .sub-menu, .ym-dd-group > ul { position: static; display: block; opacity: 1; visibility: inherit; transform: none; min-width: 0; padding: 0 0 8px; margin: 0; list-style: none; }
	.top_menu .sub-menu .sub-menu::before { display: none; }
	.ym-dd-menu > .ym-dd-all > a { color: #bdbdbd; font-size: 14px; }
	.ym-dd-group > ul a { display: block; padding: 7px 12px; border-radius: 10px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #e8e8e8; white-space: nowrap; text-decoration: none; }
	.ym-dd-group > ul a:hover { background: #242424; color: var(--ym-yellow); }
}
/* 1024–1399: в три колонки меню (~880 px) не влезает справа от «Услуг» — две колонки, группы 3 и 4 под 1 и 2 */
@media (min-width: 1024px) and (max-width: 1399px) {
	.top_menu > li.menu-item-has-children > .sub-menu,
	.ym-dd-menu { grid-template-columns: repeat(2, minmax(220px, auto)); }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(1), .ym-dd-menu > .ym-dd-group:nth-child(1) { grid-column: 1; grid-row: 1; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(2), .ym-dd-menu > .ym-dd-group:nth-child(2) { grid-column: 2; grid-row: 1; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(3), .ym-dd-menu > .ym-dd-group:nth-child(3) { grid-column: 1; grid-row: 2; }
	.top_menu > li > .sub-menu > li.menu-item-has-children:nth-child(4), .ym-dd-menu > .ym-dd-group:nth-child(4) { grid-column: 2; grid-row: 2; }
}
@media (max-width: 1023px) {
	.top_menu .sub-menu .sub-menu { display: block; padding: 0 0 6px 14px; }
	.top_menu .sub-menu > li.menu-item-has-children > a { color: var(--ym-yellow); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; border-bottom: 0; padding-top: 14px; }
	.top_menu .sub-menu > li.menu-item-has-children > a::after { display: none; }
}

/* Заголовок группы без своей страницы («Ведение и поддержка») — подпись, а не ссылка */
.top_menu .sub-menu > li.menu-item-has-children > a[href="#"] { pointer-events: none; cursor: default; }
.ym-dd-menu > .ym-dd-group > span { display: block; color: var(--ym-yellow); font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 12px 8px; }

/* ================= Формы: ошибка видна у самого поля ================= */
/* старая тема прятала подсказки (.wpcf7-not-valid-tip { display: none !important }) — показываем */
.wpcf7-form .wpcf7-not-valid-tip {
	display: block !important;
	margin: 6px 2px 12px !important;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 500;
	color: #d93025;
	text-align: left;
}
.wpcf7-form .wpcf7-form-control-wrap:has(> .wpcf7-not-valid-tip) > input,
.wpcf7-form .wpcf7-form-control-wrap:has(> .wpcf7-not-valid-tip) > textarea { margin-bottom: 0 !important; }
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid {
	border-color: #d93025 !important;
	box-shadow: 0 0 0 3px rgba(217, 48, 37, .15);
	background: #fff8f7;
}
.wpcf7-form input.wpcf7-not-valid:focus { outline: 2px solid #d93025; }
/* согласие: красная рамка у галочки */
.wpcf7-form .wpcf7-acceptance.wpcf7-not-valid .wpcf7-list-item-label:before { border-color: #d93025 !important; box-shadow: 0 0 0 3px rgba(217, 48, 37, .15); }
.wpcf7-form .ok .wpcf7-not-valid-tip { margin-top: 8px !important; }
/* общее сообщение под кнопкой */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	display: block;
	margin: 14px 0 0 !important;
	padding: 10px 14px !important;
	border: 1px solid #f1b7b2 !important;
	border-radius: 10px;
	background: #fff4f3;
	color: #b3261e;
	font-size: 14px;
	line-height: 1.4;
}
.wpcf7 form.sent .wpcf7-response-output {
	display: block;
	margin: 14px 0 0 !important;
	padding: 10px 14px !important;
	border: 1px solid #a8d5b0 !important;
	border-radius: 10px;
	background: #f1faf2;
	color: #1a6b2c;
	font-size: 14px;
	line-height: 1.4;
}

/* ================= Всплывающее окно: три формы, видна одна ================= */
.open_win .ym-pop[hidden] { display: none !important; }
.open_win .ym-pop-title { margin-bottom: 14px; }
.open_win .ym-pop-note { margin-bottom: 22px; }
/* поле «Коротко о задаче» в общей заявке */
.ym-form-card .wpcf7 textarea,
.open_win .wpcf7 textarea {
	display: block;
	width: 100%;
	height: auto;
	min-height: 96px;
	padding: 14px 18px;
	margin-bottom: 12px !important;
	border: 1px solid #cfcfcf;
	border-radius: 14px;
	font: 16px/1.45 'Inter', sans-serif;
	color: var(--ym-ink);
	background: #fff;
	resize: vertical;
}
.open_win .wpcf7 .ym-f input[type="text"],
.open_win .wpcf7 .ym-f input[type="tel"] { margin-bottom: 12px !important; }
.ym-form-card .wpcf7 textarea:focus,
.open_win .wpcf7 textarea:focus { outline: 2px solid var(--ym-yellow); border-color: var(--ym-yellow); }
/* окно не выше экрана: на телефоне заголовок и крестик не уезжают, форма прокручивается внутри */
.open_win { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 600px) {
	.open_win { padding: 28px 20px 24px; }
	.open_win .close { right: 14px; top: 8px; }
	.open_win .ym-pop-title, .open_form h3 { font-size: 24px; margin-bottom: 10px; }
	.open_win .ym-pop-note, .open_form .form__subtitle { font-size: 15px; margin-bottom: 16px; }
}

/* ================= Подробный кейс (/kejsy/): воздух, крупный текст, результаты карточками ================= */
.ym-story-top, .ym-story-bottom { gap: 56px !important; align-items: flex-start !important; margin-bottom: 48px !important; }
.ym-story h3 { font-size: 20px; line-height: 1.25; margin: 0 0 14px !important; }
.ym-story .wp-block-column > h3:not(:first-child) { margin-top: 34px !important; }
.ym-story p { font-size: 17px; line-height: 1.65; color: var(--ym-text); margin: 0 0 14px !important; }
.ym-story .ym-checks li { font-size: 17px; line-height: 1.55; margin-bottom: 12px; }
.ym-story-logo { margin-bottom: 24px; }
.ym-story-logo .wp-block-image { margin: 0; }
.ym-story-logo img { display: block; width: 100%; height: 240px; object-fit: contain; padding: 32px; background: #fff; border: 1px solid var(--ym-line); border-radius: 24px; }
.ym-story-facts li { font-size: 15px; padding: 14px 0; gap: 20px; }
.ym-story-facts li strong { font-size: 15px; }
.ym-story .ym-metrics { gap: 16px; margin: 0; padding: 0; border-top: 0; }
.ym-story .ym-metrics li { background: #fff; border: 1px solid var(--ym-line); border-radius: 18px; padding: 20px 22px; font-size: 14px; line-height: 1.4; }
.ym-story .ym-metrics strong { font-size: 34px; margin-bottom: 8px; }
.ym-story .ym-story-note { margin-top: 16px !important; font-size: 14px; line-height: 1.5; color: var(--ym-muted); }
.ym-story .ym-review { height: auto; }
.ym-story .ym-review p:first-child { font-size: 16px; line-height: 1.6; }
@media (max-width: 781px) {
	.ym-story-top, .ym-story-bottom { gap: 28px !important; margin-bottom: 32px !important; }
	.ym-story-logo img { height: 180px; padding: 24px; }
	.ym-story p, .ym-story .ym-checks li { font-size: 16px; }
	.ym-story .ym-metrics strong { font-size: 28px; }
}

/* ================= Мобильная версия (06.10.2026): меню, окно заявки, cookie, таблицы, карточки, подвал ================= */

/* Типограф: слова через дефис не рвём (ym_typograph), а если слово шире строки — скрипт снимает запрет */
.ym-nw { white-space: nowrap; }
.ym-nw.ym-nw-off { white-space: normal; }
h1, h2, h3, .ym-badge, .ym-facts li { text-wrap: balance; }
.ym-section p, .ym-section li { text-wrap: pretty; }

/* ---------- Меню-бургер ---------- */
@media (max-width: 1023px) {
	.top_menu { padding: 6px 20px 28px; align-content: flex-start; min-height: calc(100vh - 98px); min-height: calc(100dvh - 98px); }
	.top_menu li:first-child a { border-top: 0; }
	/* пункты: слева, крупно, тонкий разделитель */
	.top_menu > li.menu-item:not([class*="top_"]) > a { display: flex; align-items: center; justify-content: space-between; height: auto; min-height: 58px; padding: 14px 0; line-height: 1.3; text-align: left; font-size: 18px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
	.top_menu > li.menu-item-has-children > a::after { font-size: 26px; font-weight: 400; line-height: 1; margin-left: 12px; }
	/* «Услуги»: группы — аккордеон, внутри группы — услуги */
	.top_menu > li > .sub-menu { padding: 2px 0 10px; }
	.top_menu .sub-menu li { position: relative; }
	.top_menu .sub-menu a,
	.top_menu .sub-menu > li.menu-item-has-children > a { display: block; height: auto; min-height: 0; line-height: 1.35; padding: 13px 52px 13px 14px; font-size: 16px; font-weight: 700; color: #f2f2f2; text-align: left; text-transform: none; letter-spacing: 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.top_menu .sub-menu > li.menu-item-has-children > a[href="#"] { pointer-events: auto; cursor: pointer; }
	.top_menu .sub-menu > li.is-open > a { color: var(--ym-yellow); }
	.top_menu .sub-menu .sub-menu { display: none; padding: 0 0 6px; }
	.top_menu .sub-menu li.is-open > .sub-menu { display: block; }
	.top_menu .sub-menu .sub-menu a { padding: 11px 14px 11px 28px; font-size: 15px; font-weight: 500; color: #c9c9c9; border-bottom-color: rgba(255, 255, 255, .05); }
	.top_menu .sub-menu .current-menu-item > a { color: var(--ym-yellow); }
	.ym-sub-toggle { position: absolute; right: 0; top: 0; width: 48px; height: 48px; padding: 0; border: 0; background: none; color: var(--ym-yellow); font: 400 26px/48px 'Montserrat', sans-serif; cursor: pointer; }
	.ym-sub-toggle::before { content: "+"; }
	li.is-open > .ym-sub-toggle::before { content: "−"; }
	/* телефон и почта */
	.top_menu .add_main_contact { height: auto; padding: 24px 0 4px; display: flex; flex-direction: column; gap: 16px; }
	.top_menu .add_main_contact a { display: block; height: auto; line-height: 1.3; margin: 0; padding: 0 0 0 30px; border: 0; text-align: left; font-size: 16px; font-weight: 600; background-size: 18px !important; }
	.top_menu .add_main_contact a[href^="tel"] { font-size: 21px; font-weight: 800; }
	.top_menu .add_main_contact a::before { display: none; }
	/* мессенджеры — в один ряд */
	.top_menu .top_telega, .top_menu .top_max, .top_menu .top_whatsapp { width: auto; height: auto; position: static; left: auto; top: auto; margin: 20px 14px 0 0; }
	.top_menu .top_telega a, .top_menu .top_whatsapp a, .top_menu .top_max a { width: 52px !important; height: 52px !important; margin: 0 !important; border: 0 !important; padding: 0; min-height: 0; }
	.top_menu .top_telega a:after { width: 24px; height: 20px; }
	.top_menu .top_whatsapp a:after { width: 25px; height: 25px; }
	/* «Обратный звонок» — на всю ширину */
	.top_menu .top_callback { width: 100%; margin-top: 24px; }
	.top_menu .top_callback a { display: block; width: 100%; height: 56px; line-height: 56px; padding: 0 20px; border: 0 !important; border-radius: 30px; text-align: center; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; }
}
@media (min-width: 1024px) { .ym-sub-toggle { display: none; } }

/* ---------- Окно заявки: поля и кнопка как в формах на странице ---------- */
.open_win .wpcf7-form p { margin: 0; }
.open_win .wpcf7-form br { display: none; }
.open_win .wpcf7-form-control-wrap { display: block; }
.open_win .wpcf7 input[type="text"],
.open_win .wpcf7 input[type="tel"],
.open_win .wpcf7 input[type="email"],
.open_win .wpcf7 input[type="url"] { width: 100%; height: 54px; padding: 0 18px; margin-bottom: 12px !important; border: 1px solid #cfcfcf; border-radius: 14px; font: 16px 'Inter', sans-serif; color: var(--ym-ink); background: #fff; }
.open_win .wpcf7 input:focus { outline: 2px solid var(--ym-yellow); border-color: var(--ym-yellow); }
.open_win .ok { margin: 4px 0 0; }
.open_win .ok_policy { margin-top: 8px; font-size: 13px; color: var(--ym-muted); }
.open_win .wpcf7 input[type="submit"] { display: block; width: 100%; height: auto; min-height: 58px; margin: 18px 0 0; padding: 14px 20px; border: 0; border-radius: 33px; background: var(--ym-yellow); color: var(--ym-ink); font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; line-height: 1.25; white-space: normal; cursor: pointer; transition: .25s; }
.open_win .wpcf7 input[type="submit"]:hover { background: var(--ym-ink); color: #fff; }
.open_win .wpcf7-spinner { display: none; }
.open_win .ym-form-small { margin-top: 12px; font-size: 13px; color: var(--ym-muted); text-align: center; }
.open_win .ym-pop-title, .open_win .open_form h3 { padding-right: 44px; }
@media (max-width: 600px) {
	.open_win { width: calc(100% - 20px); padding: 24px 18px 20px; border-radius: 22px; }
	.open_win .close { right: 10px; top: 10px; width: 44px; height: 44px; line-height: 42px; text-align: center; font-size: 30px; font-weight: 400; border-radius: 50%; background: #f2f2f2; color: #555; }
	.open_win .ym-pop-title, .open_win .open_form h3 { font-size: 22px; line-height: 1.15; }
	.open_win .wpcf7 input[type="text"], .open_win .wpcf7 input[type="tel"], .open_win .wpcf7 input[type="email"], .open_win .wpcf7 input[type="url"] { height: 52px; }
}

/* ---------- Согласие в формах: подпись не подтекает под квадрат, нажимается вся строка ---------- */
.wpcf7-form .wpcf7-acceptance, .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; }
.wpcf7-acceptance label { display: block; min-height: 44px; padding: 6px 0; cursor: pointer; }
.wpcf7-acceptance .wpcf7-list-item-label { position: relative; display: block; padding-left: 34px; font-size: 14px !important; font-weight: 400; line-height: 1.45; }
.wpcf7-acceptance .wpcf7-list-item-label:before { position: absolute; left: 0; top: -1px; width: 22px; height: 22px; margin: 0 !important; border-radius: 6px; }

/* ---------- Баннер cookie: компактный на телефоне, не перекрывает окно заявки и меню ---------- */
.cookie_banner__btns button { font-family: 'Montserrat', sans-serif; }
.cookie_banner__btns [data-consent="granted"] { color: var(--ym-ink); }
body:has(.open_win.show) .cookie_banner,
body:has(.top_menu.show) .cookie_banner { display: none; }
@media (max-width: 767px) {
	.cookie_banner { left: 8px; right: 8px; bottom: 8px; padding: 12px 14px; gap: 10px; font-size: 12px; line-height: 1.45; border-radius: 14px; }
	.cookie_banner__btns button { padding: 10px 12px; font-size: 14px; }
}

/* ---------- Кнопки ---------- */
/* контурная кнопка на светлом фоне: жёлтый текст на белом не читается */
.ym-light .is-style-outline .wp-block-button__link,
.ym-soft .is-style-outline .wp-block-button__link { color: var(--ym-ink); }
@media (max-width: 600px) {
	.ym-section .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
	.ym-section .wp-block-buttons > .wp-block-button { width: 100%; }
	.ym-section .wp-block-buttons .wp-block-button__link { display: block; width: 100%; padding: 17px 20px; text-align: center; }
	.ym-badge { display: block; border-radius: 16px; padding: 12px 18px; text-align: center; margin-bottom: 28px !important; }
	.ym-facts { gap: 8px; }
	.ym-facts li { padding: 7px 14px; font-size: 14px; }
}

/* ---------- Таблицы на телефоне: каждая строка — карточка с подписями столбцов (подписи ставит скрипт) ---------- */
@media (max-width: 600px) {
	.ym-section .ym-compare.ym-stack { overflow: visible; }
	.ym-section .ym-compare.ym-stack::before { display: none; }
	.ym-section .ym-compare.ym-stack table,
	.ym-section .ym-compare.ym-stack tbody,
	.ym-section .ym-compare.ym-stack tr,
	.ym-section .ym-compare.ym-stack td { display: block; width: 100%; min-width: 0; }
	.ym-section .ym-compare.ym-stack table { font-size: 15px; border: 0; }
	.ym-section .ym-compare.ym-stack thead { display: none; }
	.ym-section .ym-compare.ym-stack tr { margin: 0 0 12px; border: 1px solid var(--ym-line); border-radius: 16px; overflow: hidden; background: #fff; }
	.ym-section .ym-compare.ym-stack td { position: static; border: 0; border-top: 1px solid var(--ym-line); padding: 12px 16px; background: none; }
	.ym-section .ym-compare.ym-stack td:first-child { border-top: 0; background: var(--ym-ink); color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; line-height: 1.35; }
	.ym-section .ym-compare.ym-stack td:first-child a { color: #fff; }
	.ym-section .ym-compare.ym-stack td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--ym-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
	/* выделенный столбец («Еллоу Медиа», «Метод…») остаётся выделенным */
	.ym-section .ym-compare.ym-stack:not(.ym-plain):not(.ym-pricelist) td:nth-child(2) { background: #fffbe8; }
	.ym-section .ym-compare.ym-stack:not(.ym-plain):not(.ym-pricelist) td:nth-child(2)::before { color: var(--ym-ink); }
	.ym-section .ym-pricelist.ym-stack tbody td:last-child { white-space: normal; font-size: 17px; }
	/* таблица из двух столбцов «подпись — значение»: строкой, подпись над значением */
	.ym-section .ym-compare.ym-stack.ym-two tr { display: block; }
	.ym-section .ym-compare.ym-stack.ym-two td:first-child { background: var(--ym-bg-soft); color: var(--ym-muted); font-family: inherit; font-weight: 600; font-size: 13px; padding: 10px 16px 0; }
	.ym-section .ym-compare.ym-stack.ym-two td:last-child { border-top: 0; padding-top: 4px; color: var(--ym-ink); font-weight: 600; background: var(--ym-bg-soft); }
	.ym-section .ym-compare.ym-stack.ym-two td::before { display: none; }
	.ym-section .ym-compare.ym-stack.ym-two tr { background: var(--ym-bg-soft); border: 0; margin-bottom: 8px; }
	/* таблицы в статьях */
	.ym-article-body .ym-compare.ym-stack table { font-size: 15px; }
}
/* «Подпись — значение»: значение уходит строкой ниже целиком, а не переносится по словам справа */
@media (max-width: 600px) {
	.ym-prices li { flex-wrap: wrap; row-gap: 4px; }
	.ym-prices li strong { max-width: 100%; margin-left: auto; }
}

/* ---------- Карточки с иконкой: на телефоне иконка слева от заголовка, без пустого места ---------- */
@media (max-width: 600px) {
	.ym-card[class*="ym-ic-"] > .wp-block-group__inner-container,
	.ym-why-item[class*="ym-ic-"] > .wp-block-group__inner-container,
	.ym-guarantee[class*="ym-ic-"] > .wp-block-group__inner-container { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: center; }
	.ym-card[class*="ym-ic-"] > .wp-block-group__inner-container::before,
	.ym-why-item[class*="ym-ic-"] > .wp-block-group__inner-container::before,
	.ym-guarantee[class*="ym-ic-"] > .wp-block-group__inner-container::before { grid-column: 1; grid-row: 1; width: 40px; height: 40px; margin: 0; }
	.ym-card[class*="ym-ic-"] > .wp-block-group__inner-container > :first-child,
	.ym-why-item[class*="ym-ic-"] > .wp-block-group__inner-container > :first-child,
	.ym-guarantee[class*="ym-ic-"] > .wp-block-group__inner-container > :first-child { grid-column: 2; grid-row: 1; margin: 0 !important; }
	.ym-card[class*="ym-ic-"] > .wp-block-group__inner-container > :not(:first-child),
	.ym-why-item[class*="ym-ic-"] > .wp-block-group__inner-container > :not(:first-child),
	.ym-guarantee[class*="ym-ic-"] > .wp-block-group__inner-container > :not(:first-child) { grid-column: 1 / -1; }
	.ym-card[class*="ym-ic-"] > .wp-block-group__inner-container > :nth-child(2),
	.ym-why-item[class*="ym-ic-"] > .wp-block-group__inner-container > :nth-child(2),
	.ym-guarantee[class*="ym-ic-"] > .wp-block-group__inner-container > :nth-child(2) { margin-top: 12px !important; }
	.ym-section .ym-grid { gap: 12px; }
	.ym-card, .ym-step, .ym-guarantee, .ym-review, .ym-role, .ym-why-item { padding: 20px 18px; }
	.ym-card:hover { box-shadow: none; }
}

/* ---------- «Ещё проекты»: компактный список — логотип слева, подпись справа ---------- */
@media (max-width: 600px) {
	.ym-section .ym-portfolio.ym-grid { gap: 10px; }
	.ym-portfolio-title { margin-top: 40px !important; }
	.ym-work { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 10px 14px 10px 10px; border-radius: 14px; }
	.ym-work > .wp-block-group__inner-container { display: contents; }
	.ym-work .wp-block-image { grid-row: 1 / span 2; }
	.ym-work .wp-block-image img { width: 112px; height: 72px; padding: 8px; border: 1px solid var(--ym-line); border-radius: 10px; }
	.ym-work p, .ym-work p:first-of-type, .ym-work p:last-child { padding: 0; margin: 0 !important; }
	.ym-work p:first-of-type { align-self: end; font-size: 15px; line-height: 1.3; }
	.ym-work p:last-child { align-self: start; margin-top: 4px !important; font-size: 13px; line-height: 1.35; }
}

/* ---------- Отзывы: на телефоне кавычка не занимает отдельную строку ---------- */
@media (max-width: 600px) {
	.ym-review { position: relative; padding-top: 22px; }
	.ym-review > .wp-block-group__inner-container::before { position: absolute; right: 16px; top: 14px; height: auto; font-size: 56px; opacity: .9; }
	.ym-review p:first-child { padding-right: 28px; }
	.ym-reviews-more { display: block; width: 100%; margin-top: 12px; padding: 15px 20px; border: 2px solid var(--ym-ink); border-radius: 33px; background: none; color: var(--ym-ink); font: 800 15px 'Montserrat', sans-serif; cursor: pointer; }
	.ym-dark .ym-reviews-more { border-color: var(--ym-yellow); color: #fff; }
	.ym-reviews.is-collapsed > .ym-review:nth-child(n+4),
	.ym-reviews.is-collapsed > .wp-block-group__inner-container > .ym-review:nth-child(n+4) { display: none; }
}
@media (min-width: 601px) { .ym-reviews-more { display: none; } }

/* ---------- Блог: рубрики одной прокручиваемой строкой, карточки статей, оглавление ---------- */
@media (max-width: 600px) {
	.ym-blog-cats { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px !important; margin-right: -16px !important; padding: 0 16px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.ym-blog-cats::-webkit-scrollbar { display: none; }
	.ym-blog-cats a { flex: 0 0 auto; white-space: nowrap; }
	.ym-post-card h3, .ym-post-card h2 { font-size: 18px; }
	.ym-toc li { font-size: 16px; line-height: 1.35; margin-bottom: 0; }
	.ym-toc a { display: block; padding: 9px 0; }
	.ym-article-body img { cursor: zoom-in; }
}
/* просмотр картинки статьи во весь экран (скрипт) */
.ym-zoom { position: fixed; inset: 0; z-index: 100001; background: rgba(0, 0, 0, .92); overflow: auto; -webkit-overflow-scrolling: touch; display: flex; align-items: flex-start; }
.ym-zoom img { max-width: none !important; width: auto; height: auto; margin: auto; padding: 60px 12px 24px; }
.ym-zoom-close { position: fixed; top: 12px; right: 12px; z-index: 1; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: var(--ym-ink); font: 400 28px/44px sans-serif; cursor: pointer; }
.ym-zoom-hint { position: fixed; left: 12px; top: 22px; color: #ddd; font-size: 13px; }

/* ---------- Отступы на телефоне ---------- */
@media (max-width: 600px) {
	.ym-section .ym-subhead { margin-top: 40px !important; }
	.ym-section .wp-block-column > h3:not(:first-child),
	.ym-section .wp-block-group__inner-container > h3:not(:first-child) { margin-top: 32px !important; }
	.ym-section .wp-block-columns { gap: 28px !important; }
	.ym-section h2 { font-size: 24px; }
	.ym-section h1, .ym-hero h1 { overflow-wrap: break-word; }
}

/* ---------- Подвал на телефоне: одна колонка во всю ширину, всё по левому краю ---------- */
@media (max-width: 600px) {
	footer { padding: 40px 16px 24px !important; }
	.wrap_footer .wp-block-column,
	.wrap_footer .wp-block-column:not(:first-child) { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
	footer .f_logo { text-align: left; }
	footer .f_logo img { width: 200px; height: auto; }
	footer .str_phone { align-items: flex-start !important; }
	footer .str_phone p { text-align: left; color: #c9c9c9; }
	footer ul a { text-align: left; height: auto; line-height: 1.3; padding: 14px 0; font-size: 15px; }
	footer .f_third .phone { display: none; }
	footer .f_third { margin-bottom: 0; }
	footer .callback a { width: 100%; text-align: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; }
	footer .social { gap: 12px !important; }
	footer .social img { width: 44px !important; height: 44px !important; filter: brightness(1.7); }
	footer .copy { text-align: left; font-size: 13px !important; padding-top: 18px; margin-top: 8px; }
	.footer_legal { margin-top: 20px; padding-top: 16px; font-size: 13px; }
	.footer_legal a, .footer_legal .cookie_settings_link { display: block; margin: 0; padding: 10px 0; }
}
/* кнопка «наверх» не висит поверх окна заявки и открытого меню */
body:has(.open_win.show) .ym-totop,
body:has(.top_menu.show) .ym-totop { display: none; }

/* Прайс-лист на телефоне: компактный список вместо карточек — название, формат оплаты, цена */
@media (max-width: 600px) {
	.ym-section .ym-pricelist.ym-stack tr { margin: 0; padding: 14px 0; border: 0; border-bottom: 1px solid var(--ym-line); border-radius: 0; background: none; }
	.ym-section .ym-pricelist.ym-stack tr:first-child { border-top: 1px solid var(--ym-line); }
	.ym-section .ym-pricelist.ym-stack td { padding: 0; border: 0; background: none; }
	.ym-section .ym-pricelist.ym-stack td::before { display: none; }
	.ym-section .ym-pricelist.ym-stack td:first-child { background: none; color: var(--ym-ink); font-size: 16px; }
	.ym-section .ym-pricelist.ym-stack td:first-child a { color: var(--ym-ink); }
	.ym-section .ym-pricelist.ym-stack td:nth-child(2) { margin-top: 4px; color: var(--ym-muted); font-size: 14px; line-height: 1.4; }
	.ym-section .ym-pricelist.ym-stack tbody td:last-child { margin-top: 6px; font-size: 17px; }
	/* обложка кейса ниже, подписи цифр крупнее */
	.ym-case .wp-block-image img { height: 170px; }
	.ym-case-body { padding: 22px 20px 24px; }
	.ym-metrics li { font-size: 14px; color: var(--ym-text); }
}

/* span.ym-nw (типограф) не должен подхватывать оформление тегов-пилюль и разделитель «·» в мета-строке статьи */
.ym-card .ym-card-tags .ym-nw,
.ym-section .ym-dir-tags .ym-nw,
.ym-tariff-price .ym-nw { all: unset; white-space: nowrap; }
.ym-article-meta span.ym-nw::before { content: none !important; margin: 0 !important; }
/* Статья на телефоне: оглавление целиком, без окошка с прокруткой; мета-строка без разделителя в начале переноса */
@media (max-width: 600px) {
	.ym-toc { max-height: none !important; overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
	.ym-article-meta { gap: 6px 18px; font-size: 14px; }
	.ym-article-meta span + span::before { content: none; }
	.ym-article-hero h1 { font-size: 28px; }
}
@media (max-width: 380px) { .ym-hero h1 { font-size: 27px; } }
@media (max-width: 600px) {
	.ym-section .ym-compare.ym-stack td,
	.ym-section .ym-requisites.ym-stack tbody td:first-child { width: auto !important; }
}
/* Узкие телефоны: длинные слова в заголовках («ПРОГРАММИРОВАНИЕ», «МНОГОСТРАНИЧНОСТЬ») не вылезают за край */
@media (max-width: 400px) {
	.ym-section h2, .ym-article-body h2 { font-size: 22px; }
	.ym-section h3 { font-size: 17px; }
	h1, h2, h3 { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
}
/* ссылка в строке прайса: зона нажатия на всю высоту строки, вид тот же */
@media (max-width: 1023px) { .ym-prices li > a { padding: 10px 0; margin: -10px 0; } }
