/**
 * Инфраструктура и «хвост» направлений — мягкая доводка «элегантности» поверх main.css,
 * тот же язык, что pages-gym-pilates-groups.css / pages-pool-kids-akuly.css / pages-kontakty-o-klube.css:
 * белые карточки на креме, одна шкала H2, короткий красный штрих, оранжевая «вкладка» градиента.
 *
 * Области действия (классы body выводит тема):
 *   направления (CPT direction) — body.direction-funkcionalnyy-trening, -zona-edinoborstv,
 *     -bannyy-kompleks, -massazhnyy-kabinet, -igrovaya-zona;
 *   body.direction-cycle-studiya — только галерея t1148: остальное на странице уже ведёт
 *     pages-gym-pilates-groups.css, правила не пересекаются;
 *   страницы (лёгкий проход) — body.page-shkola-trenerov, body.page-promo:
 *     обзор, режим работы, FAQ, форма; курсы, спикеры, контакты школы и колесо Risoma не трогаем.
 * Прочие направления, главная, /kontakty/, /trenery/ файл не получают (см. inc/setup/enqueue-amenities.php),
 * а если он всё же попадёт на них — ни один селектор не сработает.
 *
 * Цвета, кегли и скругления — из tokens.css; литералы только те, что уже есть в системе
 * (#7b7463 — подписи, #ff8562 — кольца seo-overview, #fdf8ec — поля форм).
 * Специфичность подогнана под постраничные правила main.css (body.direction-* #id …): при равном
 * весе побеждает этот файл, т.к. печатается после main.css. Без !important, без JS, без текста в content.
 * Панели вкладок /igrovaya-zona/ main.js прячет атрибутом hidden — display у .block-media не задаём.
 */

/* —— Локальные переменные —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.direction-cycle-studiya, body.page-shkola-trenerov, body.page-promo) {
	--pam-ink: var(--c-ink-2);
	--pam-muted: var(--c-gray);
	--pam-label: #7b7463;
	--pam-accent-ring: #ff8562;
	--pam-hairline: rgba(29, 29, 29, 0.1);
	--pam-card-bg: var(--c-white);
	--pam-card-border: rgba(0, 0, 0, 0.06);
	--pam-card-radius: var(--r-reviews);
	--pam-card-shadow: 0 1px 2px rgba(29, 29, 29, 0.04), 0 14px 32px -22px rgba(29, 29, 29, 0.35);
	--pam-tile-shadow: 0 1px 2px rgba(29, 29, 29, 0.08), 0 18px 36px -24px rgba(29, 29, 29, 0.6);
	--pam-tile-shadow-hover: 0 1px 2px rgba(29, 29, 29, 0.08), 0 24px 44px -24px rgba(29, 29, 29, 0.7);
	--pam-pill-border: rgba(197, 37, 45, 0.35);
	--pam-pill-bg: rgba(255, 255, 255, 0.55);
	--pam-pill-shadow: 0 10px 22px -14px rgba(197, 37, 45, 0.9);
	--pam-field-bg: #fdf8ec;
	--pam-field-border: var(--c-border-program);
	--pam-focus-ring: 0 0 0 4px rgba(197, 37, 45, 0.14);
	--pam-focus-ring-dark: 0 0 0 4px rgba(255, 201, 69, 0.35);
	--pam-cta-shadow: 0 12px 26px -14px rgba(248, 54, 0, 0.8);
	--pam-on-dark-link: #ff8562;
	--pam-measure: 68ch;
	--pam-section-y: var(--sp-60);
	--pam-h2-size: var(--fs-32);
}

@media screen and (max-width: 960px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.direction-cycle-studiya, body.page-shkola-trenerov, body.page-promo) {
		--pam-h2-size: var(--fs-28);
	}
}

@media screen and (max-width: 640px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.direction-cycle-studiya, body.page-shkola-trenerov, body.page-promo) {
		--pam-section-y: var(--sp-40);
		--pam-h2-size: var(--fs-24);
	}
}

/* —— Hero: тот же кадр и H1, спокойнее кнопка —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-hero__title {
	letter-spacing: -0.015em;
	text-wrap: balance;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-hero__subtitle {
	color: rgba(255, 255, 255, 0.88);
	text-wrap: pretty;
}

/* Подзаголовки из CMS начинаются со строчной («профессионально оборудованная…») — только визуально. */
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-hero__subtitle::first-letter {
	text-transform: uppercase;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-hero__actions {
	gap: var(--sp-12);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-hero__btn {
	min-height: 52px;
	padding: var(--sp-0) var(--sp-28);
	letter-spacing: 0.01em;
	box-shadow: var(--pam-cta-shadow);
}

/* main.css: body.direction-funkcionalnyy-trening .block-hero__btn { max-width: 420px; line-height: 1.25 } — длинная надпись в две строки. */
body.direction-funkcionalnyy-trening .block-hero__btn {
	padding-top: var(--sp-8);
	padding-bottom: var(--sp-8);
}

@media screen and (max-width: 960px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-hero__col-title + .block-hero__col-copy {
		margin-top: var(--sp-24);
	}
}

@media screen and (max-width: 480px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-hero__actions > .block-hero__btn {
		flex: 1 1 auto;
		padding: var(--sp-8) var(--sp-20);
	}
}

/* —— Заголовки глав: один масштаб H2 на всей странице —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-section-title__title,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-split__title,
:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona) .block-media--t1148 .block-media__title,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__title,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-cta--t678 .block-cta__title {
	margin: var(--sp-0) 0 var(--sp-20);
	font-family: var(--font-family);
	font-size: var(--pam-h2-size);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-120);
	letter-spacing: -0.01em;
	color: var(--c-ink);
	text-wrap: pretty;
}

/* Заголовки набраны капсом в контенте — капсу нужна разрядка, а не сжатие. */
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-section-title__title,
:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona) .block-media--t1148 .block-media__title,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-cta--t678 .block-cta__title {
	letter-spacing: 0.02em;
}

/* Короткая красная черта над заголовком главы — как на /trenazhernyj-zal-krasnodar/. */
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-section-title__title::before,
:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona) .block-media--t1148 .block-media__title::before {
	content: "";
	display: block;
	width: var(--sp-24);
	height: var(--border-3);
	margin-bottom: var(--sp-16);
	border-radius: var(--border-3);
	background: var(--c-red);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-section-title {
	padding-bottom: var(--sp-8);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona) .block-section-title__title {
	margin-bottom: var(--sp-0);
}

/* —— seo-overview: «быстрый обзор» в карточке, кольца-счётчики и волосяные линии —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-rich-text#seo-overview {
	padding: var(--pam-section-y) 0 var(--sp-24);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content {
	position: relative;
	box-sizing: border-box;
	max-width: 880px;
	margin: var(--sp-0) auto;
	padding: var(--sp-40) var(--sp-48) var(--sp-40);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	overflow-wrap: break-word;
	word-break: normal;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 72px;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background-image: var(--gradient-cta);
	transform: translateX(-50%);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content > p:first-child {
	max-width: none;
	margin: var(--sp-0) auto var(--sp-24);
	font-size: var(--fs-24);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-125);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content > p:first-child strong {
	font-weight: var(--fw-semibold);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content ul {
	max-width: none;
	margin: var(--sp-0);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li {
	min-height: 0;
	margin: var(--sp-0);
	padding: var(--sp-16) 0 var(--sp-16) 56px;
	border-top: var(--border-1) solid var(--pam-hairline);
	line-height: 1.6;
	color: var(--pam-ink);
	text-wrap: pretty;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li:first-child {
	border-top: 0;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li::before {
	top: 10px;
	border-color: var(--pam-accent-ring);
	color: var(--c-red);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content a:not(.site-btn) {
	color: var(--c-red);
	text-decoration: underline;
	text-decoration-color: rgba(197, 37, 45, 0.35);
	text-underline-offset: 0.2em;
	word-break: normal;
}

/* NAP Восточки (64/2 · 211-61-18) не рвётся посреди номера; #ff8562 на белом ≈2:1 — телефон красным. */
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content a[href^="tel:"] {
	color: var(--c-red);
	white-space: nowrap;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta {
	max-width: none;
	margin: var(--sp-28) 0 0;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn {
	min-height: 52px;
	padding: var(--sp-0) var(--sp-28);
	letter-spacing: 0.01em;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--cta {
	box-shadow: var(--pam-cta-shadow);
}

/* Пара кнопок: основная — градиент, вторичная («Смотреть цены») — красный контур, как на /bassejn-v-krasnodare/. */
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--quiet {
	border: var(--border-2) solid var(--c-red);
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	color: var(--c-red);
	font-weight: var(--btn-fw);
	white-space: normal;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--quiet::before {
	content: none;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--quiet:hover,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--quiet:focus-visible {
	background-color: var(--c-red);
	color: var(--c-white);
	text-decoration: none;
	opacity: 1;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn--quiet:focus-visible {
	outline-color: var(--c-red);
}

@media screen and (min-width: 961px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li {
		font-size: var(--fs-16);
	}
}

@media screen and (max-width: 640px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content {
		padding: var(--sp-32) var(--sp-20) var(--sp-28);
		border-radius: var(--r-reviews);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .block-rich-text__content > p:first-child {
		font-size: var(--fs-20);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li {
		padding-left: 48px;
		font-size: var(--fs-14);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview ul > li::before {
		top: 13px;
		width: 32px;
		height: 32px;
		font-size: var(--fs-14);
		line-height: 28px;
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) #seo-overview .seo-overview__cta .site-btn {
		flex: 1 1 100%;
		width: 100%;
	}
}

/* —— hours-contacts (t572): карточка «режим + NAP Восточки» —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) .block-rich-text#hours-contacts {
	padding: var(--sp-40) 0 var(--sp-48);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #seo-overview + .block-rich-text#hours-contacts {
	padding: var(--sp-24) 0 var(--sp-48);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content {
	box-sizing: border-box;
	max-width: 560px;
	padding: var(--sp-32) var(--sp-32) var(--sp-28);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	overflow-wrap: break-word;
	word-break: normal;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content > h2:first-child {
	margin: var(--sp-0) auto var(--sp-20);
	font-size: var(--fs-24);
	font-weight: var(--fw-semibold);
	letter-spacing: -0.01em;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content > p {
	margin: var(--sp-0);
	line-height: 1.8;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content > p + p {
	margin-top: var(--sp-16);
	padding-top: var(--sp-16);
	border-top: var(--border-1) solid var(--pam-hairline);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content a {
	color: var(--c-red);
	word-break: normal;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content :is(a[href^="tel:"], a[href*="wa.me"]) {
	white-space: nowrap;
}

@media screen and (max-width: 640px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) .block-rich-text#hours-contacts,
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #seo-overview + .block-rich-text#hours-contacts {
		padding: var(--sp-20) 0 var(--sp-40);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content {
		padding: var(--sp-24) var(--sp-20);
		border-radius: var(--r-reviews);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-promo) #hours-contacts .block-rich-text__content > h2:first-child {
		font-size: var(--fs-22);
	}
}

/* —— text_image (функциональный тренинг, баня): фото в карточке, текст по мере строки —— */
/* display у .block-split не задаём — как и в pages-gym-pilates-groups.css. */

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split {
	padding: var(--sp-24) 0 var(--sp-48);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split + .block-split {
	padding-top: var(--sp-8);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__media picture {
	overflow: hidden;
	border-radius: var(--r-lg);
	box-shadow: var(--pam-card-shadow);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__media picture .block-split__image {
	border-radius: inherit;
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__title {
	margin-bottom: var(--sp-16);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__line {
	width: var(--sp-24);
	height: var(--border-3);
	margin: var(--sp-0) 0 var(--sp-20);
	border: 0;
	border-radius: var(--border-3);
	background: var(--c-red);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text {
	max-width: 52ch;
	font-size: var(--fs-16);
	line-height: 1.7;
	color: var(--pam-ink);
	text-wrap: pretty;
}

/* Описание зоны в CMS начинается со строчной («для любителей…») — только визуально. */
:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text::first-letter {
	text-transform: uppercase;
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text ul {
	margin: var(--sp-8) 0 var(--sp-16);
	padding-left: 1.2em;
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text li {
	margin-bottom: var(--sp-4);
	padding-left: var(--sp-4);
}

:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text li::marker {
	color: var(--c-red);
}

@media screen and (min-width: 961px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split--image-left .block-split__copy {
		padding-left: var(--sp-48);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split--image-right .block-split__copy {
		padding-right: var(--sp-48);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__text {
		font-size: 17px;
	}
}

@media screen and (max-width: 960px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__media picture,
	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__image {
		height: 42vh;
		min-height: 260px;
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-bannyy-kompleks) .block-split__media picture {
		border-radius: var(--r-reviews);
	}
}

/* —— benefit_list (баня, массаж): ровные карточки с иконкой в кремовом круге, как на /akuly/ —— */

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit {
	padding: var(--sp-24) 0 var(--pam-section-y);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__grid {
	gap: var(--sp-16);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	min-width: 0;
	padding: var(--sp-28) var(--sp-24);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--pam-card-radius);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	text-align: center;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__image {
	box-sizing: content-box;
	width: 36px;
	height: 36px;
	margin: var(--sp-0) auto var(--sp-16);
	padding: var(--sp-12);
	border-radius: 50%;
	background: var(--pam-field-bg);
	object-fit: contain;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__title {
	margin: var(--sp-0) 0 var(--sp-10);
	font-size: 17px;
	font-weight: var(--fw-semibold);
	line-height: var(--lh-130);
	color: var(--c-ink);
	text-wrap: balance;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__text {
	max-width: 36ch;
	line-height: 1.6;
	color: var(--pam-muted);
	text-wrap: pretty;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__text strong {
	color: var(--pam-ink);
}

/* Три пункта бани: в 2 колонки на планшете третий остался бы сиротой. */
@media screen and (min-width: 641px) {
	body.direction-bannyy-kompleks .block-benefit__grid.block-grid--cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 641px) and (max-width: 960px) {
	:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet) .block-benefit__item {
		padding: var(--sp-24) var(--sp-16);
	}
}

/* —— card_grid (массаж): жёлтые плитки остаются, спокойнее тень и штрих у заголовка —— */

body.direction-massazhnyy-kabinet .block-tiles {
	padding: var(--sp-24) 0 var(--sp-40);
}

body.direction-massazhnyy-kabinet .block-tiles__grid {
	gap: var(--sp-16);
}

body.direction-massazhnyy-kabinet .block-tiles__card {
	border-radius: var(--pam-card-radius);
	box-shadow: var(--pam-tile-shadow);
	transition: box-shadow 0.3s ease-out;
}

body.direction-massazhnyy-kabinet .block-tiles__card:is(:hover, :focus-within) {
	box-shadow: var(--pam-tile-shadow-hover);
}

body.direction-massazhnyy-kabinet .block-tiles__text {
	padding: var(--sp-28) var(--sp-28) var(--sp-32);
}

body.direction-massazhnyy-kabinet .block-tiles__title {
	margin-bottom: var(--sp-10);
	font-size: var(--fs-20);
	line-height: var(--lh-125);
	color: var(--c-ink);
	text-wrap: balance;
}

body.direction-massazhnyy-kabinet .block-tiles__title::before {
	content: "";
	display: block;
	width: var(--sp-24);
	height: var(--border-3);
	margin-bottom: var(--sp-16);
	border-radius: var(--border-3);
	background: var(--c-red);
}

body.direction-massazhnyy-kabinet .block-tiles__desc {
	font-size: var(--fs-14);
	line-height: 1.6;
	color: var(--pam-ink);
	text-wrap: pretty;
}

/* Описания видов массажа в CMS со строчной — только визуально. */
body.direction-massazhnyy-kabinet .block-tiles__desc::first-letter {
	text-transform: uppercase;
}

/* —— Галерея t1148 (единоборства, игровая, сайкл): скругление кадров, список-спецификация —— */
/* Прокрутку ведёт main.js по .block-slider__scroller — ширины, overflow и snap не меняем. */

:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona, body.direction-cycle-studiya) .block-media--t1148 .block-media__image {
	border-radius: var(--pam-card-radius);
}

:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona, body.direction-cycle-studiya) .block-media--t1148 .block-gallery__shot {
	border-radius: var(--pam-card-radius);
}

:is(body.direction-zona-edinoborstv, body.direction-igrovaya-zona, body.direction-cycle-studiya) .block-media--t1148 .block-gallery__shot:focus-visible {
	outline-offset: -3px;
}

/* Оснащение зоны — белая карточка-спецификация с красными точками, как чаши на /bassejn-v-krasnodare/. */
:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc {
	max-width: 640px;
	font-size: var(--fs-16);
	font-weight: var(--fw-normal);
	line-height: var(--lh-150);
	color: var(--pam-ink);
}

/* Размер — на ul: у обёртки из импорта Tilda инлайн font-size: 18px. */
:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul {
	margin: var(--sp-0);
	padding: var(--sp-4) var(--sp-24);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--pam-card-radius);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	font-size: var(--fs-16);
	list-style: none;
}

:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul > li {
	position: relative;
	margin: var(--sp-0);
	padding: var(--sp-12) 0 var(--sp-12) var(--sp-20);
	border-bottom: var(--border-1) solid var(--pam-hairline);
	text-wrap: pretty;
}

:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul > li:last-child {
	border-bottom: 0;
}

:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul > li::before {
	content: "";
	position: absolute;
	top: calc(var(--sp-12) + 0.62em);
	left: var(--sp-0);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--c-red);
}

/* Пункты оснащения в CMS со строчной («ринг 6х6», «зеркала») — только визуально. */
:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul > li::first-letter {
	text-transform: uppercase;
}

@media screen and (min-width: 900px) {
	:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__head {
		align-items: flex-end;
	}
}

@media screen and (max-width: 640px) {
	:is(body.direction-zona-edinoborstv, body.direction-cycle-studiya) .block-media--t1148 .block-media__desc > div > ul {
		padding: var(--sp-4) var(--sp-20);
		font-size: var(--fs-14);
	}
}

/* —— Игровая зона: вкладки видов спорта — мягкие «таблетки», как на /trenazhernyj-zal-krasnodar/ —— */

body.direction-igrovaya-zona .block-tabs--pills {
	min-height: 0;
	padding: var(--sp-32) 0 var(--sp-24);
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__list {
	gap: var(--sp-10);
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn {
	min-height: 48px;
	padding: var(--sp-10) var(--sp-24);
	border: var(--border-1) solid var(--pam-pill-border);
	border-radius: var(--r-pill);
	background: var(--pam-pill-bg);
	color: var(--pam-ink);
	font-size: var(--fs-16);
	font-weight: var(--fw-medium);
	line-height: var(--lh-130);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn:hover {
	border-color: var(--c-red);
	background: var(--c-white);
	color: var(--c-red);
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn[aria-selected="true"] {
	border-color: var(--c-red);
	background: var(--c-red);
	color: var(--c-white);
	box-shadow: var(--pam-pill-shadow);
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
}

body.direction-igrovaya-zona .block-media--t1148 {
	padding-top: var(--sp-16);
}

@media screen and (max-width: 640px) {
	body.direction-igrovaya-zona .block-tabs--pills {
		padding: var(--sp-24) 0 var(--sp-8);
	}

	/* Четыре вида спорта — сетка 2×2 вместо «лесенки» из трёх рядов. */
	body.direction-igrovaya-zona .block-tabs--pills .block-tabs__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--sp-8);
	}

	body.direction-igrovaya-zona .block-tabs--pills .block-tabs__item {
		display: flex;
		min-width: 0;
	}

	body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn {
		width: 100%;
		padding: var(--sp-8) var(--sp-12);
		font-size: var(--fs-14);
		text-wrap: balance;
	}
}

/* —— Игровая зона: тренеры — фото в карточном радиусе, тихая кнопка «Подробнее» —— */
/* Лента (flex + overflow-x из main.css) и высота фото 360px остаются как есть. */

body.direction-igrovaya-zona .block-trainers__image {
	object-fit: cover;
	object-position: top center;
	border-radius: var(--pam-card-radius);
	box-shadow: var(--pam-card-shadow);
}

body.direction-igrovaya-zona .block-trainers__tags {
	margin-top: var(--sp-12);
	color: var(--pam-label);
}

body.direction-igrovaya-zona .block-trainers__name {
	font-size: 17px;
	color: var(--c-ink);
}

body.direction-igrovaya-zona .block-trainers__position {
	color: var(--pam-muted);
}

body.direction-igrovaya-zona .block-trainers__more {
	margin-top: var(--sp-16);
	padding: 7px 18px;
	border: var(--border-1) solid rgba(197, 37, 45, 0.5);
	background: transparent;
	color: var(--c-red);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.direction-igrovaya-zona a.block-trainers__card:is(:hover, :focus-visible) .block-trainers__more {
	border-color: var(--c-red);
	background: var(--c-red);
	color: var(--c-white);
}

body.direction-igrovaya-zona a.block-trainers__card:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
	border-radius: var(--pam-card-radius);
}

/* —— FAQ: воздух в строках, аккуратный круглый «+» —— */

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq {
	padding: var(--pam-section-y) 0;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__title {
	margin-bottom: var(--sp-16);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__list {
	max-width: 880px;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__item,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__item:first-child {
	border-color: var(--pam-hairline);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__q {
	position: relative;
	padding: var(--sp-20) 56px var(--sp-20) 0;
	border-radius: var(--r-sm);
	transition: color 0.15s ease;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__q:hover {
	color: var(--c-red);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__q:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__q::after {
	top: 50%;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 32px;
	height: 32px;
	border: var(--border-1) solid var(--pam-pill-border);
	border-radius: 50%;
	font-size: var(--fs-20);
	line-height: var(--lh-none);
	transform: translateY(-50%);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__item[open] .block-faq__q::after {
	border-color: var(--c-red);
	background: var(--c-red);
	color: var(--c-white);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__a {
	max-width: var(--pam-measure);
	margin: var(--sp-0);
	padding: var(--sp-0) 56px var(--sp-24) 0;
	line-height: 1.65;
	color: var(--pam-muted);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__a a {
	color: var(--c-red);
	text-underline-offset: 0.2em;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__a a[href^="tel:"] {
	white-space: nowrap;
}

@media screen and (max-width: 640px) {
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__q {
		padding: var(--sp-16) 48px var(--sp-16) 0;
		font-size: var(--fs-16);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv, body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov, body.page-promo) .block-faq__a {
		padding-right: 0;
	}
}

/* —— cta_form t678 (баня, массаж, игровая, #zayavka школы): форма в карточке, как на /kontakty/ —— */
/* Разметку формы, пресеты (lead_simple / lead_massage / lead_course) и отправку ведёт main.js — только вид. */

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 {
	padding: var(--sp-16) 0 var(--pam-section-y);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__inner {
	position: relative;
	width: calc(100% - 2 * var(--container-gutter));
	max-width: 880px;
	margin: var(--sp-0) auto;
	padding: var(--sp-48) var(--sp-50) var(--sp-50);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: 0 1px 2px rgba(29, 29, 29, 0.04), 0 28px 60px -34px rgba(29, 29, 29, 0.4);
	text-align: center;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__inner::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 72px;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background-image: var(--gradient-cta);
	transform: translateX(-50%);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__title {
	margin: var(--sp-0) auto var(--sp-12);
	max-width: 32ch;
	text-wrap: balance;
}

/* У массажа под заголовком сразу форма — воздух как у пары «заголовок + текст». */
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__title + .block-cta__form-slot {
	margin-top: var(--sp-28);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__text {
	max-width: 52ch;
	margin: var(--sp-0) auto var(--sp-32);
	font-size: var(--fs-16);
	line-height: 1.6;
	color: var(--pam-muted);
	text-wrap: pretty;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__form-slot {
	max-width: 640px;
	margin: var(--sp-0) auto;
	text-align: left;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form {
	gap: var(--sp-16) var(--sp-12);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field > .domfk-form__input,
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone {
	min-height: 56px;
	border: var(--border-1) solid var(--pam-field-border);
	border-radius: var(--r-md);
	background: var(--pam-field-bg);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/*
 * t678-правила main.css задают селекту background-шорткатом и тем самым стирают стрелку из forms.css —
 * возвращаем ту же стрелку; цвет фона дальше меняем только через background-color.
 */
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field > .domfk-form__select {
	min-height: 56px;
	border: var(--border-1) solid var(--pam-field-border);
	border-radius: var(--r-md);
	background-color: var(--pam-field-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23525252' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	color: var(--pam-ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field:has(> .domfk-form__select) > .domfk-form__label {
	font-size: var(--fs-14);
	color: var(--pam-muted);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field > .domfk-form__input {
	padding: var(--sp-0) var(--sp-20);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone {
	padding: var(--sp-0) var(--sp-16) var(--sp-0) var(--sp-12);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field > :is(.domfk-form__input, .domfk-form__select):hover,
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone:hover {
	border-color: rgba(197, 37, 45, 0.45);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field > :is(.domfk-form__input, .domfk-form__select):focus,
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone:focus-within {
	border-color: var(--c-red);
	background-color: var(--c-white);
	box-shadow: var(--pam-focus-ring);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone .domfk-form__input,
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__phone .domfk-form__input:focus {
	border: 0;
	background: transparent;
	box-shadow: none;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__input::placeholder {
	color: var(--pam-ink);
	opacity: 0.45;
}

/* main.js показывает ошибку, снимая hidden с .domfk-form__error — подсвечиваем поле по нему. */
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field:has(> .domfk-form__error:not([hidden])) > :is(.domfk-form__input, .domfk-form__select),
:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field:has(> .domfk-form__error:not([hidden])) .domfk-form__phone {
	border-color: var(--c-red);
	background-color: var(--c-white);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__error {
	margin-top: var(--sp-4);
	text-align: left;
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__field--consent {
	margin-top: var(--sp-4);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__checkbox-indicator {
	border-radius: var(--r-sm);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__checkbox-text {
	line-height: 1.5;
	color: var(--pam-muted);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__submit {
	min-height: 56px;
	border-radius: var(--r-pill);
	letter-spacing: 0.01em;
	box-shadow: var(--pam-cta-shadow);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__submit:hover:not(:disabled) {
	transform: translateY(-1px);
}

:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__status {
	border-radius: var(--r-md);
}

@media screen and (max-width: 640px) {
	:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__inner {
		padding: var(--sp-40) var(--sp-20) var(--sp-32);
		border-radius: var(--r-reviews);
	}

	:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .block-cta__text {
		margin-bottom: var(--sp-24);
	}
}

/* —— Форма на фото (cover: функциональный тренинг, единоборства) — остаётся тёмной, поля аккуратнее —— */
/* main.css держит эти две секции на 100vh (вес body.direction-* #id.block-cta--cover) — здесь тот же вес. */

body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover,
body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover .block-cta__inner,
body.direction-zona-edinoborstv #cta-martial.block-cta--cover,
body.direction-zona-edinoborstv #cta-martial.block-cta--cover .block-cta__inner {
	min-height: min(100vh, 780px);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__inner {
	box-sizing: border-box;
	padding-top: var(--sp-90);
	padding-bottom: var(--sp-90);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__title {
	max-width: 22ch;
	margin-bottom: var(--sp-16);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__text {
	margin-bottom: var(--sp-32);
	color: rgba(255, 255, 255, 0.86);
	line-height: 1.5;
	text-wrap: pretty;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__form-slot {
	width: 560px;
	max-width: 100%;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__field > .domfk-form__input,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__phone {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	border: var(--border-1) solid rgba(255, 255, 255, 0.4);
	border-radius: var(--r-md);
	background: rgba(255, 255, 255, 0.96);
	color: var(--c-ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__field > .domfk-form__input {
	padding: var(--sp-0) var(--sp-20);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__phone {
	display: flex;
	align-items: center;
	gap: var(--sp-8);
	padding: var(--sp-0) var(--sp-16) var(--sp-0) var(--sp-12);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__phone .domfk-form__input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	margin: var(--sp-0);
	padding: var(--sp-0);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__field > .domfk-form__input:focus,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__phone:focus-within {
	border-color: var(--c-yellow);
	background: var(--c-white);
	outline: none;
	box-shadow: var(--pam-focus-ring-dark);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__input::placeholder {
	color: var(--pam-ink);
	opacity: 0.45;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__error {
	margin-top: var(--sp-6);
	font-size: var(--fs-13);
	color: var(--pam-on-dark-link);
	text-align: left;
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__field:has(> .domfk-form__error:not([hidden])) > .domfk-form__input,
:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__field:has(> .domfk-form__error:not([hidden])) .domfk-form__phone {
	border-color: var(--pam-on-dark-link);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__checkbox-text {
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__checkbox-text a {
	color: var(--pam-on-dark-link);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__checkbox-indicator {
	border-color: rgba(255, 255, 255, 0.85);
	border-radius: var(--r-sm);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__submit {
	min-height: 56px;
	border-radius: var(--r-pill);
	letter-spacing: 0.01em;
	box-shadow: var(--pam-cta-shadow);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__submit:hover:not(:disabled) {
	transform: translateY(-1px);
}

:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__status {
	border-radius: var(--r-md);
}

@media screen and (max-width: 640px) {
	body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover,
	body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover .block-cta__inner,
	body.direction-zona-edinoborstv #cta-martial.block-cta--cover,
	body.direction-zona-edinoborstv #cta-martial.block-cta--cover .block-cta__inner {
		min-height: 0;
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__inner {
		padding-top: var(--sp-60);
		padding-bottom: var(--sp-60);
	}

	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .block-cta__text {
		margin-bottom: var(--sp-24);
		font-size: var(--fs-16);
	}
}

/* —— /promo/ (лёгкий проход): главы акций в карточках, форма t700 рядом с баннером —— */
/* Условия, даты и цены акций — из CMS, CSS их не трогает; колесо Risoma (#wheel) — как есть. */

body.page-promo :is(#promo-transformaciya, #promo-season).block-rich-text {
	padding: var(--sp-24) 0;
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content {
	box-sizing: border-box;
	max-width: 880px;
	margin: var(--sp-0) auto;
	padding: var(--sp-40) var(--sp-48);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	color: var(--pam-ink);
	text-align: left;
	overflow-wrap: break-word;
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > h2:first-child {
	margin: var(--sp-0) 0 var(--sp-20);
	font-size: var(--fs-24);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-125);
	letter-spacing: -0.01em;
	color: var(--c-ink);
	text-transform: none;
	text-wrap: balance;
}

body.page-promo #promo-season .block-rich-text__content > h2:first-child {
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > h2:first-child::before {
	content: "";
	display: block;
	width: var(--sp-24);
	height: var(--border-3);
	margin-bottom: var(--sp-16);
	border-radius: var(--border-3);
	background: var(--c-red);
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > p {
	max-width: var(--pam-measure);
	margin: var(--sp-0) 0 var(--sp-16);
	font-size: var(--fs-16);
	line-height: 1.65;
	text-wrap: pretty;
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > p:last-child {
	margin-bottom: var(--sp-0);
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content a {
	color: var(--c-red);
	text-underline-offset: 0.2em;
}

body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content a[href^="tel:"] {
	white-space: nowrap;
}

/* Блок сезона «Трансформация» (баннер + текст) — /promo/ и CPT */
:is(#promo-transformaciya, #promo-transform-body) .promo-transform {
	margin: var(--sp-0);
}

.promo-transform__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--sp-32);
	align-items: start;
}

.promo-transform__sections {
	margin-top: var(--sp-32);
	padding-top: var(--sp-32);
	border-top: var(--border-1) solid var(--pam-hairline);
}

.promo-transform__sections > .promo-transform__subhead:first-child {
	margin-top: var(--sp-0);
}

.promo-transform__meta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--sp-16);
	align-items: stretch;
	margin-top: var(--sp-16);
}

.promo-transform__panel {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: 100%;
	padding: var(--sp-24) var(--sp-28);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-md);
	background: rgb(255 255 255 / 78%);
}

.promo-transform__panel .promo-transform__list {
	margin-bottom: var(--sp-0);
}

.promo-transform__panel .promo-transform__prizes {
	margin: var(--sp-0);
	flex: 1 1 auto;
}

.promo-transform__panel .promo-transform__start {
	margin: var(--sp-16) 0 0;
}

.promo-transform__subhead--tight {
	margin: var(--sp-0) 0 var(--sp-12);
}

.promo-transform__feature-card--accent {
	background: rgb(255 248 235 / 92%);
	border-color: rgb(227 30 36 / 16%);
}

.promo-transform__actions {
	display: grid;
	grid-template-columns: auto minmax(280px, 1fr);
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-24) var(--sp-32);
	margin-top: var(--sp-20);
	padding: var(--sp-24) var(--sp-28);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-md);
	background: rgb(255 255 255 / 78%);
}

.promo-transform__actions .promo-transform__cta {
	margin: var(--sp-0);
}

.promo-transform__actions .promo-transform__reach {
	margin-top: var(--sp-0);
	padding-top: var(--sp-0);
	border-top: none;
}

.promo-transform__banner {
	margin: var(--sp-0);
	overflow: hidden;
	border-radius: var(--r-md);
	line-height: 0;
	box-shadow: var(--pam-tile-shadow);
}

.promo-transform__banner img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.promo-transform__intro {
	max-width: none;
}

.promo-transform__title {
	margin: var(--sp-0) 0 var(--sp-16);
	font-size: clamp(1.35rem, 2.2vw, 1.65rem);
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
	color: var(--c-ink);
}

.promo-transform__lede {
	margin: var(--sp-0) 0 var(--sp-20);
	font-size: var(--fs-17);
	line-height: 1.65;
	text-wrap: pretty;
}

.promo-transform__subhead {
	margin: var(--sp-24) 0 var(--sp-12);
	font-size: var(--fs-18);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-125);
	color: var(--c-ink);
}

.promo-transform__list {
	margin: var(--sp-0) 0 var(--sp-16);
	padding-left: 1.25em;
	font-size: var(--fs-16);
	line-height: 1.65;
}

.promo-transform__list li {
	margin-bottom: var(--sp-8);
}

.promo-transform__list li:last-child {
	margin-bottom: var(--sp-0);
}

.promo-transform__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-16);
	align-items: stretch;
	margin-bottom: var(--sp-0);
}

.promo-transform__feature-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	box-sizing: border-box;
	height: 100%;
	padding: var(--sp-24) var(--sp-28);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-md);
	background: rgb(255 255 255 / 78%);
}

.promo-transform__feature-title {
	margin: var(--sp-0) 0 var(--sp-8);
	font-size: var(--fs-16);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-125);
	color: var(--c-ink);
}

.promo-transform__feature-text {
	margin: var(--sp-0);
	font-size: var(--fs-15);
	line-height: 1.55;
	color: var(--pam-muted);
}

.promo-transform__prizes {
	margin: var(--sp-0);
	font-size: var(--fs-16);
	line-height: 1.6;
}

.promo-transform__closing {
	margin: var(--sp-16) 0 0;
	padding: var(--sp-20) var(--sp-24);
	border-radius: var(--r-md);
	background: rgb(227 30 36 / 7%);
	font-size: var(--fs-16);
	line-height: 1.55;
	text-wrap: pretty;
}

.promo-transform__start {
	box-sizing: border-box;
	margin: var(--sp-24) 0 var(--sp-16);
	padding: var(--sp-16) var(--sp-20);
	border-left: var(--border-3) solid var(--c-red);
	border-radius: 0 var(--r-md) var(--r-md) 0;
	background: rgb(227 30 36 / 6%);
	font-size: var(--fs-16);
	line-height: 1.5;
}

.promo-transform__start-line {
	margin: var(--sp-0);
}

.promo-transform__start-line + .promo-transform__start-line {
	margin-top: var(--sp-6);
}

.promo-transform__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-12);
	margin: var(--sp-0);
}

.promo-transform__btn-outline,
.promo-transform__btn-outline::before {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	animation: none !important;
}

.promo-transform__btn-outline {
	border: var(--border-1) solid var(--c-red) !important;
	color: var(--c-red) !important;
}

.promo-transform__btn-outline:hover,
.promo-transform__btn-outline:focus-visible {
	background: rgb(227 30 36 / 6%) !important;
	opacity: 1;
}

.promo-transform__reach {
	margin: var(--sp-0);
	padding: var(--sp-0);
	border: none;
	font-size: var(--fs-15);
	line-height: 1.5;
	color: var(--c-ink);
	text-align: left;
	justify-self: end;
	max-width: 420px;
}

.promo-transform__reach-label {
	margin: var(--sp-0) 0 var(--sp-8);
}

.promo-transform__reach-line {
	margin: var(--sp-0) 0 var(--sp-6);
}

.promo-transform__phone {
	color: var(--c-red);
	font-size: var(--fs-18);
	font-weight: var(--fw-bold);
	text-decoration: none;
	white-space: nowrap;
}

.promo-transform__phone:hover,
.promo-transform__phone:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.promo-transform__messengers {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--sp-8);
	margin: var(--sp-10) 0 var(--sp-8);
}

.promo-transform__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--sp-16);
	border: var(--border-1) solid rgb(227 30 36 / 45%);
	border-radius: 999px;
	background: var(--c-white);
	color: var(--c-ink);
	font-size: var(--fs-14);
	font-weight: var(--fw-semibold);
	line-height: 1.25;
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.promo-transform__chip:hover,
.promo-transform__chip:focus-visible {
	border-color: var(--c-red);
	background: rgb(227 30 36 / 5%);
	color: var(--c-red);
}

.promo-transform__reach-more {
	margin: var(--sp-0);
	font-size: var(--fs-14);
}

.promo-transform__reach-more a {
	color: var(--c-red);
	font-weight: var(--fw-medium);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.page-promo .block-rich-text#promo-transform-body .block-rich-text__content,
body.single-promo.post-transformaciya .block-rich-text#promo-transform-body .block-rich-text__content {
	box-sizing: border-box;
	max-width: min(1080px, 100%);
	margin: var(--sp-0) auto;
	padding: var(--sp-40) var(--sp-48);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
}

body.single-promo.post-transformaciya .block-hero {
	--hero-min-height: 42vh !important;
}

body.single-promo.post-transformaciya #promo-transform-body.block-rich-text {
	padding-top: var(--sp-8);
	padding-bottom: var(--sp-16);
}

body.single-promo.post-transformaciya #cta-transformaciya.block-cta--t678 {
	padding: var(--sp-8) 0 var(--sp-16);
}

body.single-promo.post-transformaciya #cta-transformaciya .block-cta__inner {
	box-sizing: border-box;
	width: min(1080px, calc(100% - 40px));
	margin: 0 auto;
	padding: var(--sp-32) var(--sp-40) var(--sp-28);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
	text-align: left;
}

body.single-promo.post-transformaciya #cta-transformaciya .block-cta__title {
	margin: 0 0 var(--sp-12);
	font-size: var(--fs-24);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-125);
	color: var(--c-ink);
	text-align: left;
}

body.single-promo.post-transformaciya #cta-transformaciya .block-cta__text {
	margin: 0 0 var(--sp-20);
	font-size: var(--fs-16);
	line-height: 1.6;
	color: var(--c-ink);
}

body.single-promo.post-transformaciya #cta-transformaciya .domfk-form__submit {
	min-height: 52px;
}

@media screen and (max-width: 900px) {
	.promo-transform__hero,
	.promo-transform__meta {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-16);
	}

	.promo-transform__actions {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.promo-transform__reach {
		justify-self: start;
		max-width: none;
	}

	.promo-transform__reach,
	.promo-transform__messengers {
		text-align: left;
		justify-content: flex-start;
	}

	.promo-transform__sections {
		margin-top: var(--sp-24);
		padding-top: var(--sp-24);
	}

	.promo-transform__features {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 640px) {
	body.page-promo .block-rich-text#promo-transform-body .block-rich-text__content,
	body.single-promo.post-transformaciya .block-rich-text#promo-transform-body .block-rich-text__content {
		padding: var(--sp-28) var(--sp-20);
	}
}

body.page-promo .block-promo#promo-lead {
	padding: var(--sp-24) 0 var(--sp-24);
}

body.page-promo #promo-lead .block-promo__image {
	border-radius: var(--r-lg);
	box-shadow: var(--pam-tile-shadow);
}

body.page-promo #promo-lead .block-promo__copy {
	box-sizing: border-box;
	padding: var(--sp-28) var(--sp-28) var(--sp-24);
	border: var(--border-1) solid var(--pam-card-border);
	border-radius: var(--r-lg);
	background: var(--pam-card-bg);
	box-shadow: var(--pam-card-shadow);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__label {
	font-size: var(--fs-14);
	color: var(--pam-muted);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__field > .domfk-form__input,
body.page-promo #promo-lead .block-promo__form-slot .domfk-form__phone {
	border-bottom-color: var(--pam-field-border);
	transition: border-color 0.2s ease;
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__field > .domfk-form__input:focus,
body.page-promo #promo-lead .block-promo__form-slot .domfk-form__phone:focus-within {
	border-bottom-color: var(--c-red);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__field:has(> .domfk-form__error:not([hidden])) > .domfk-form__input,
body.page-promo #promo-lead .block-promo__form-slot .domfk-form__field:has(> .domfk-form__error:not([hidden])) .domfk-form__phone {
	border-bottom-color: var(--c-red);
}

/* #ff8562 на белой карточке ≈2:1 — ссылки согласия красным, как в остальных формах. */
body.page-promo #promo-lead .block-promo__form-slot .domfk-form__checkbox-text a {
	color: var(--c-red);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__checkbox-text {
	color: var(--pam-muted);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__submit {
	min-height: 56px;
	letter-spacing: 0.01em;
	box-shadow: var(--pam-cta-shadow);
}

body.page-promo #promo-lead .block-promo__form-slot .domfk-form__status {
	border-radius: var(--r-md);
}

@media screen and (max-width: 640px) {
	body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content {
		padding: var(--sp-28) var(--sp-20);
		border-radius: var(--r-reviews);
	}

	body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > h2:first-child {
		font-size: var(--fs-20);
	}

	body.page-promo :is(#promo-transformaciya, #promo-season) .block-rich-text__content > p {
		font-size: var(--fs-14);
	}

	body.page-promo #promo-lead .block-promo__image {
		border-radius: var(--r-reviews);
	}

	body.page-promo #promo-lead .block-promo__copy {
		padding: var(--sp-24) var(--sp-20) var(--sp-20);
		border-radius: var(--r-reviews);
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(body.direction-bannyy-kompleks, body.direction-massazhnyy-kabinet, body.direction-igrovaya-zona, body.page-shkola-trenerov) .block-cta--t678 .domfk-form__submit:hover:not(:disabled),
	:is(body.direction-funkcionalnyy-trening, body.direction-zona-edinoborstv) .block-cta--cover .domfk-form__submit:hover:not(:disabled) {
		transform: none;
	}

	body.direction-massazhnyy-kabinet .block-tiles__card,
	body.direction-igrovaya-zona .block-tabs--pills .block-tabs__btn,
	body.direction-igrovaya-zona .block-trainers__more {
		transition: none;
	}
}
