/* === tokens.css === */
/**
 * Дизайн-токены domfk-vostochka.ru — извлечены из экспортов Tilda (частота вхождений).
 * Шаг 36в. Единственный источник цветов, кегля, отступов и скруглений для blocks.css / ui.css.
 */

:root {
	/* —— Цвета —— */
	--c-red: #c5252d;
	--c-yellow: #ffc945;
	--c-cream: #f8ecce;
	--c-cream-2: #f6eacc;
	--c-black: #000000;
	--c-ink: #111111;
	--c-ink-2: #1d1d1d;
	--c-ink-3: #272727;
	--c-gray: #525252;
	--c-gray-2: #b3b3b3;
	--c-white: #ffffff;
	--c-bg: #f8ecce;
	--c-bg-2: #f5f5f5;
	--c-border: #e8e8e8;
	--c-sand: #c2b788;

	/* Производные (градиенты CTA, оверлеи — из исходника t1120 / кнопки) */
	--c-orange-cta: #f83600;
	--c-yellow-cta: #f9d423;
	--c-border-muted: #e6e6e6;
	--c-border-program: #e5d9b8;
	--c-ink-tooltip: #292929;
	--c-text-muted: #777777;
	--c-placeholder-bg: #eeeeee;

	--gradient-cta: linear-gradient(0.75turn, var(--c-orange-cta) 0%, var(--c-yellow-cta) 100%);
	--gradient-hero-overlay: linear-gradient(to bottom, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.88));
	--gradient-hero-overlay-light: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
	--gradient-hero-overlay-t337: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.5));
	--gradient-program-tile-overlay: linear-gradient(180deg, rgba(31, 31, 31, 0) 0%, rgba(31, 31, 31, 0.5) 50%, rgba(16, 16, 16, 1) 75%, rgba(10, 10, 10, 1) 88%, rgba(0, 0, 0, 1) 100%);
	--gradient-program-tile-overlay-opacity: 0.72;
	--gradient-program-tile-overlay-opacity-mobile: 0.88;
	--shadow-program-tile-text: 0 1px 2px rgba(0, 0, 0, 0.85), 0 0 10px rgba(0, 0, 0, 0.35);
	--gradient-service-tile: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.9));
	--shadow-cta: 0 5px 15px 0 rgba(248, 54, 0, 0.5);
	--shadow-card: 0 0 10px rgba(0, 0, 0, 0.1);
	--shadow-card-hover: 0 10px 10px rgba(0, 0, 0, 0.1);
	--shadow-pricing: 0 0 10px rgba(0, 0, 0, 0.08);
	--shadow-anchor-dot: 0 0 20px rgba(0, 0, 0, 0.1);
	--overlay-course-divider: rgba(0, 0, 0, 0.08);

	/* —— Типографика (кегль; веса — шаг 36г) —— */
	--font-family: "Montserrat", Arial, sans-serif;

	--fw-light: 300;
	--fw-normal: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;

	--fs-42: 42px;
	--fs-40: 40px;
	--fs-36: 36px;
	--fs-32: 32px;
	--fs-30: 30px;
	--fs-28: 28px;
	--fs-25: 25px;
	--fs-24: 24px;
	--fs-22: 22px;
	--fs-20: 20px;
	--fs-18: 18px;
	--fs-16: 16px;
	--fs-14: 14px;
	--fs-13: 13px;
	--fs-12: 12px;
	--fs-10: 10px;
	--fs-45: 45px;
	--fs-68: 68px;
	--fs-78: 78px;
	--fs-1rem: 1rem;

	--lh-base: 1.55;
	--lh-mid: 1.45;
	--lh-tight: 1.35;
	--lh-none: 1;
	--lh-117: 1.17;
	--lh-130: 1.3;
	--lh-120: 1.2;
	--lh-125: 1.25;
	--lh-123: 1.23;
	--lh-140: 1.4;
	--lh-150: 1.5;
	--lh-250: 2.5;

	/* —— Скругления —— */
	--r-pill: 100px;
	--r-sm: 5px;
	--r-md: 15px;
	--r-lg: 30px;
	--r-xl: 40px;
	--r-53: 53px;
	--r-card: 8px;
	--r-select: 3px;
	--r-reviews: 20px;

	/* —— Отступы секций —— */
	--sp-0: 0;
	--sp-15: 15px;
	--sp-30: 30px;
	--sp-45: 45px;
	--sp-60: 60px;
	--sp-75: 75px;

	/* Вспомогательные отступы (сетки, карточки) */
	--sp-4: 4px;
	--sp-6: 6px;
	--sp-8: 8px;
	--sp-10: 10px;
	--sp-12: 12px;
	--sp-16: 16px;
	--sp-20: 20px;
	--sp-24: 24px;
	--sp-25: 25px;
	--sp-28: 28px;
	--sp-32: 32px;
	--sp-40: 40px;
	--sp-80: 80px;
	--sp-48: 48px;
	--sp-50: 50px;
	--sp-90: 90px;

	--gap-grid: 40px 20px;
	--gap-row-benefit: 90px;
	--gap-row-benefit-sm: 45px;
	--gap-promo: 20px 40px;

	/* —— Контейнер —— */
	--container: 980px;
	--container-narrow: 560px;
	--container-card: 300px;
	--container-wide: 1200px;
	--container-gutter: 20px;
	--container-copy-max: 400px;
	--container-faq-max: 960px;
	--container-tabs-select: 420px;

	/* —— Размеры компонентов —— */
	--size-icon-feature: 85px;
	--size-icon-benefit: 100px;
	--size-hero-btn-min: 45px;
	--size-hero-btn-min-sm: 50px;
	--size-tabs-select-h: 44px;
	--size-anchor-dot: 15px;
	--size-split-line: 80px;
	--size-form-slot-min: 160px;
	--size-schedule-min: 200px;
	--size-promo-copy-min: 240px;
	--size-reviews-main-w: 560px;
	--size-reviews-main-h: 700px;
	--size-reviews-second-w: 360px;
	--size-reviews-mobile-w: 344px;
	--size-reviews-mobile-h: 693px;
	--size-anchor-label-right: 35px;
	--size-anchor-arrow: 6px;
	--size-course-label-min: 120px;
	--size-course-label-max: 180px;
	--size-grid-min: 180px;
	--size-news-flex: 360px;
	--size-tabs-pad-v: 12.5px;
	--size-anchor-tooltip-pad: 10px;
	--size-anchor-arrow-offset: 6px;
	--size-select-pad-r: 36px;
	--size-select-pad-l: 14px;
	--size-faq-pad-r: 36px;

	--border-1: 1px;
	--border-2: 2px;
	--border-3: 3px;
	--outline-offset: 3px;

	/* —— Chrome: шапка t967 —— */
	--header-z: 990;
	--header-top-h: 80px;
	--header-stack-h: 118px;
	--header-bar-min-h: 64px;
	--header-logo-w: 80px;
	--header-pad-x: var(--container-gutter);
	--header-pad-x-lg: var(--container-gutter);
	--header-bg: rgba(0, 0, 0, 0.38);
	--header-bg-solid: var(--c-cream);
	--header-bg-mobile: var(--c-cream);
	--header-scroll-y: 20px;
	--header-transition-bg: background-color 0.3s linear;
	--header-link: var(--c-white);
	--header-link-mobile: var(--c-black);
	--header-menu-fs: var(--fs-18);
	--header-burger-w: 28px;
	--header-burger-h: 20px;
	--header-burger-bar-h: 3px;
	--header-burger-bar: var(--c-red);
	--shadow-header-bar: 0 1px 3px rgba(0, 0, 0, 0);
	--shadow-header-btn: 0 0 20px rgba(255, 51, 0, 0.5);
	--overlay-header-btn: rgba(255, 51, 0, 0.5);

	/* —— Chrome: кнопки (t-btnflex / hero / vakansii) —— */
	--btn-pad-x: var(--sp-30);
	--btn-pad-x-sm: var(--sp-20);
	--btn-min-h: var(--size-hero-btn-min);
	--btn-min-h-sm: var(--size-hero-btn-min-sm);
	--btn-fs: var(--fs-14);
	--btn-lh: var(--lh-140);
	--btn-fw: var(--fw-semibold);
	--btn-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	--btn-focus-color: var(--c-yellow);
	--btn-header-border: var(--border-3) solid var(--c-sand);

	/* —— Chrome: подвал T555 + T420 —— */
	--footer-contacts-pad-t: var(--sp-60);
	--footer-contacts-pad-b: var(--sp-15);
	--footer-legal-pad-t: var(--sp-75);
	--footer-legal-pad-b: var(--sp-45);
	--footer-contacts-bg: var(--c-cream);
	--footer-contacts-color: var(--c-ink-2);
	--footer-legal-bg: var(--c-ink);
	--footer-contacts-fs: var(--fs-20);
	--footer-contacts-lh: var(--lh-base);
	--footer-legal-fs: var(--fs-14);
	--footer-legal-lh: var(--lh-base);
	--footer-copy-fs: var(--fs-12);
	--footer-copy-lh: var(--lh-base);
	--footer-link: var(--c-white);
	--footer-link-muted: var(--c-gray);
	--footer-title-mb: var(--fs-14);
	--footer-item-mb: var(--fs-10);
	--footer-social-mt: var(--sp-30);
	--footer-col-gap: var(--sp-30);
	--footer-inner-max: var(--container-wide);

	/* —— Брейкпоинты (для справки; в @media — литералы из этого списка) —— */
	/* 1199px · 980px · 959px · 639px · 479px · 960px · 640px · 560px · 480px · 900px · 641px · 481px */
}

/* === fonts.css === */
/* Montserrat self-host: 300 / 400 / 500 / 600 / 700, latin + latin-ext + cyrillic. Не googleapis. */

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-cyrillic-300.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-ext-300.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-300.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-cyrillic-400.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-ext-400.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-cyrillic-500.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-ext-500.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-cyrillic-600.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-ext-600.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-cyrillic-700.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-ext-700.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/montserrat/montserrat-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 400;
}

/* === chrome.css === */
/* Шапка t967, подвал T555/T420, общие кнопки. Значения — только var(--*) из tokens.css. */

.skip-link {
	position: absolute;
	left: -999px;
	top: var(--sp-0);
}

.skip-link:focus {
	left: var(--sp-8);
	z-index: calc(var(--header-z) + 10);
}

/* —— Кнопки —— */

.site-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--btn-min-h);
	padding: var(--btn-pad-y, var(--sp-0)) var(--btn-pad-x);
	border: var(--border-1) solid transparent;
	border-radius: var(--r-pill);
	font-family: var(--font-family);
	font-weight: var(--btn-fw);
	font-size: var(--btn-fs);
	line-height: var(--btn-lh);
	text-align: center;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition: var(--btn-transition);
}

.site-btn:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.site-btn--cta {
	border: var(--border-1) solid transparent;
	background-color: var(--c-orange-cta);
	background-image: var(--gradient-cta);
	box-shadow: var(--shadow-cta);
	color: var(--c-white);
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transform: translateZ(0);
}

.site-btn--cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	z-index: 0;
	width: 200%;
	height: 350%;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.8);
	transform: scale(0);
	pointer-events: none;
	animation: site-btn-cta-ripple 6s linear infinite;
}

@keyframes site-btn-cta-ripple {
	20% {
		opacity: 0;
		transform: scale(2.5);
	}

	100% {
		opacity: 0;
		transform: scale(2.5);
	}
}

.site-btn--cta:hover,
.site-btn--cta:focus-visible {
	opacity: 0.92;
}

@media (prefers-reduced-motion: reduce) {
	.site-btn--cta::before {
		animation: none;
	}
}

.site-btn--header-primary {
	border: var(--border-1) solid transparent;
	background-color: var(--c-red);
	box-shadow: var(--shadow-header-btn);
	color: var(--c-white);
}

.site-btn--header-outline {
	border: var(--btn-header-border);
	background-color: transparent;
	box-shadow: var(--shadow-header-btn);
	color: var(--c-white);
}

.site-btn--header-primary:hover,
.site-btn--header-primary:focus-visible,
.site-btn--header-outline:hover,
.site-btn--header-outline:focus-visible {
	opacity: 0.92;
}

/* —— Шапка —— */

.site-header {
	position: relative;
	z-index: var(--header-z);
	width: 100%;
	background-color: var(--header-bg-solid);
	box-shadow: var(--shadow-header-bar);
	transition: var(--header-transition-bg);
}

body.has-hero-cover .site-header {
	position: absolute;
	top: var(--sp-0);
	left: var(--sp-0);
	right: var(--sp-0);
	background-color: var(--header-bg);
}

body.has-hero-cover .site-header.is-scrolled {
	background-color: var(--header-bg-solid);
}

.site-header__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-16);
	min-height: var(--header-bar-min-h);
	max-width: var(--footer-inner-max);
	margin: var(--sp-0) auto;
	padding: var(--header-pad-x);
}

.site-header__brand {
	display: flex;
	align-items: center;
	gap: var(--sp-12);
	flex-shrink: 0;
}

.site-header__logo {
	flex-shrink: 0;
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-24);
	color: var(--header-link-mobile);
	text-decoration: none;
}

.site-header__social {
	display: none;
	align-items: center;
	gap: var(--sp-8);
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.site-header__social a,
.site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: var(--c-yellow);
	color: var(--c-ink-2);
	text-decoration: none;
}

.site-header__social a:hover,
.site-header__social a:focus-visible,
.site-footer__social a:hover,
.site-footer__social a:focus-visible {
	opacity: 0.88;
}

.site-header__social svg,
.site-footer__social svg {
	display: block;
	width: 16px;
	height: 16px;
}

.site-header__social .social-link--max svg,
.site-footer__social .social-link--max svg {
	width: 18px;
	height: 18px;
}

.site-header__logo img {
	display: block;
	width: var(--header-logo-w);
	max-width: var(--header-logo-w);
	height: auto;
}

.site-header__toggle {
	margin-left: auto;
	display: none;
	align-items: center;
	justify-content: center;
	width: var(--header-burger-w);
	height: var(--header-burger-h);
	padding: var(--sp-0);
	border: var(--border-1) solid transparent;
	background: transparent;
	cursor: pointer;
}

.site-header__toggle:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.site-header__toggle-bars,
.site-header__toggle-bars::before,
.site-header__toggle-bars::after {
	display: block;
	width: var(--header-burger-w);
	height: var(--header-burger-bar-h);
	margin: var(--sp-0) auto;
	border-radius: var(--r-sm);
	background: var(--header-burger-bar);
	content: "";
}

.site-header__toggle-bars::before,
.site-header__toggle-bars::after {
	position: relative;
}

.site-header__toggle-bars::before {
	top: calc(-1 * var(--sp-8));
}

.site-header__toggle-bars::after {
	top: var(--sp-4);
}

.site-nav__list,
.site-nav__list ul {
	list-style: none;
	margin: var(--sp-0);
	padding: var(--sp-0);
}

.site-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-10) var(--sp-25);
	align-items: center;
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--header-menu-fs);
}

.site-nav__list a {
	color: var(--header-link-mobile);
	text-decoration: none;
}

.site-nav__list a:hover,
.site-nav__list a:focus-visible {
	opacity: 0.7;
}

.site-nav__list .current-menu-item > a,
.site-nav__list .current-menu-ancestor > a {
	opacity: 0.7;
}

.site-nav__list .menu-item-has-children {
	position: relative;
}

.site-nav__list .sub-menu {
	display: none;
	list-style: none;
	margin: var(--sp-0);
	padding: var(--sp-0);
}

.site-nav__list .sub-menu a {
	display: block;
	color: var(--c-black);
	text-decoration: none;
}

.site-nav__list .sub-menu a:hover,
.site-nav__list .sub-menu a:focus-visible {
	color: var(--c-black);
	opacity: 1;
}

@media screen and (min-width: 960px) {
	.site-header,
	.site-header__bar,
	.site-nav {
		overflow: visible;
	}

	/* Tilda t-menusub: width 250px, padding 18×20, gap 12px, margin 15px под пунктом. */
	.site-nav__list .menu-item-has-children::after {
		content: "";
		position: absolute;
		left: 0;
		top: 100%;
		width: 100%;
		height: 15px;
	}

	.site-nav__list .sub-menu {
		position: absolute;
		left: var(--sp-0);
		top: calc(100% + 15px);
		width: 250px;
		max-width: 250px;
		margin-top: var(--sp-0);
		padding: 18px 20px;
		background-color: var(--c-white);
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 6px;
		box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16);
		z-index: calc(var(--header-z) + 1);
	}

	.site-nav__list .sub-menu::before {
		content: "";
		position: absolute;
		top: -7px;
		left: 32px;
		width: var(--sp-0);
		height: var(--sp-0);
		border: 7px solid transparent;
		border-bottom-color: var(--c-white);
		filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.06));
		pointer-events: none;
	}

	.site-nav__list .sub-menu > li {
		margin-bottom: var(--sp-12);
	}

	.site-nav__list .sub-menu > li:last-child {
		margin-bottom: var(--sp-0);
	}

	.site-nav__list .sub-menu a {
		padding: var(--sp-0);
		font-size: var(--fs-14);
		line-height: var(--lh-base);
		white-space: normal;
		transition: background-color 0.15s ease;
	}

	.site-nav__list .sub-menu a:hover,
	.site-nav__list .sub-menu a:focus-visible {
		background-color: transparent;
		opacity: 0.7;
	}

	.site-nav__list .menu-item-has-children.is-open > .sub-menu,
	.site-nav__list .menu-item-has-children:hover > .sub-menu,
	.site-nav__list .menu-item-has-children:focus-within > .sub-menu {
		display: block;
	}

	.menu-parent::after {
		content: "";
		display: inline-block;
		width: var(--sp-6);
		height: var(--sp-6);
		margin-left: var(--sp-6);
		border-right: var(--border-2) solid currentColor;
		border-bottom: var(--border-2) solid currentColor;
		transform: rotate(45deg) translateY(-2px);
		vertical-align: middle;
		opacity: 0.85;
	}
}

.menu-parent {
	border: var(--border-1) solid transparent;
	background: none;
	padding: var(--sp-0);
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.menu-parent:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.site-header__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--sp-10) var(--sp-16);
	margin-left: auto;
	font-family: var(--font-family);
	font-size: var(--fs-14);
	line-height: var(--lh-140);
}

.site-header__address,
.site-header__phone,
.site-header__cta {
	margin: var(--sp-0);
}

.site-header__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-8);
}

.site-header__address {
	color: var(--header-link-mobile);
}

.site-header__phone {
	font-size: var(--fs-16);
	line-height: var(--lh-130);
}

.site-header__phone a {
	color: var(--header-link-mobile);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	font-size: inherit;
}

.site-header__phone a:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.site-header__cta .site-btn {
	min-height: auto;
	padding: 10px 14px;
	font-size: 12px;
	letter-spacing: 0.01em;
}

.site-header__contacts {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0;
	text-align: right;
}

.site-header__address {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0;
	line-height: var(--lh-130);
}

.site-header__city,
.site-header__street {
	display: block;
}

@media screen and (min-width: 960px) {
	body.has-hero-cover .site-header {
		background-color: var(--header-bg);
	}

	body.has-hero-cover .site-header.is-scrolled {
		background-color: var(--header-bg-solid);
	}

	.site-header__bar {
		display: grid;
		/* Live t967: зона лого ~328px, meta с соцсетями слева колонки. */
		grid-template-columns: minmax(280px, 328px) 1fr;
		grid-template-areas:
			"logo meta"
			"nav nav";
		align-items: start;
		column-gap: var(--sp-16);
		row-gap: var(--sp-8);
		min-height: var(--header-top-h);
		padding: 0 var(--header-pad-x-lg);
		box-sizing: border-box;
	}

	.site-header__brand {
		grid-area: logo;
		gap: var(--sp-0);
		align-self: start;
		min-height: var(--header-top-h);
		padding-top: 6px;
	}

	.site-header__logo img {
		margin-top: 0;
	}

	.site-header__social {
		display: flex;
		flex-shrink: 0;
		gap: 14px;
		margin-left: var(--sp-0);
		margin-right: auto;
	}

	.site-nav {
		grid-area: nav;
		min-width: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.35);
		padding-top: 10px;
	}

	body:not(.has-hero-cover) .site-nav,
	body.has-hero-cover .site-header.is-scrolled .site-nav {
		border-top-color: rgba(0, 0, 0, 0.15);
	}

	.site-nav__list {
		flex-wrap: nowrap;
		justify-content: space-between;
		width: 100%;
		gap: var(--sp-8) var(--sp-16);
	}

	.site-nav__list > li > a,
	.site-nav__list > li > .menu-parent {
		white-space: nowrap;
	}

	/* Кабинет — только outline-кнопка в meta, не пункт меню. */
	.site-nav__list li:has(a[href*="lichnyj-kabinet"]),
	.site-nav__list li:has(a[href*="cabinet"]),
	.site-nav__list > li.menu-item > a[href*="lichnyj-kabinet"] {
		display: none !important;
	}

	.site-nav__list > li.menu-item-465 {
		display: none !important;
	}

	.site-header__meta {
		grid-area: meta;
		flex-wrap: nowrap;
		align-items: center;
		min-height: var(--header-top-h);
		margin-left: var(--sp-0);
		justify-content: flex-end;
		gap: var(--sp-16) var(--sp-24);
		flex-shrink: 1;
		min-width: 0;
	}

	.site-header__contacts {
		flex-shrink: 0;
	}

	.site-header__cta {
		flex-shrink: 0;
	}

	.site-header__phone {
		font-size: var(--fs-16);
		line-height: var(--lh-130);
		font-weight: var(--fw-normal);
	}

	.site-header__phone a {
		font-weight: var(--fw-normal);
	}

	.site-header__address {
		max-width: none;
		font-size: var(--fs-16);
		line-height: var(--lh-130);
		text-align: right;
	}

	.site-header__cta {
		flex-wrap: nowrap;
		gap: var(--sp-10);
	}

	.site-header__cta .site-btn {
		display: inline-block;
		line-height: var(--btn-lh);
		text-align: center;
		padding: 11px 30px;
		font-size: var(--fs-14);
		letter-spacing: 0;
		box-sizing: border-box;
		min-height: 45px;
		white-space: nowrap;
	}

	.site-header__cta .site-btn--header-outline {
		padding-top: 9px;
		padding-bottom: 9px;
	}

	body.has-hero-cover .block-hero__inner {
		padding-top: 148px;
	}

	body.has-hero-cover .site-header:not(.is-scrolled) .site-nav__list a,
	body.has-hero-cover .site-header:not(.is-scrolled) .site-nav__list > li > .menu-parent,
	body.has-hero-cover .site-header:not(.is-scrolled) .site-header__address,
	body.has-hero-cover .site-header:not(.is-scrolled) .site-header__city,
	body.has-hero-cover .site-header:not(.is-scrolled) .site-header__street,
	body.has-hero-cover .site-header:not(.is-scrolled) .site-header__phone a {
		color: var(--header-link);
	}

	/* Dropdown on hero: white bar needs dark links (hero rule above is more specific). */
	body.has-hero-cover .site-header:not(.is-scrolled) .site-nav__list .sub-menu a,
	body.has-hero-cover .site-header.is-scrolled .site-nav__list .sub-menu a {
		color: var(--c-black);
	}

	body.has-hero-cover .site-header.is-scrolled .site-nav__list a,
	body.has-hero-cover .site-header.is-scrolled .site-header__address,
	body.has-hero-cover .site-header.is-scrolled .site-header__city,
	body.has-hero-cover .site-header.is-scrolled .site-header__street,
	body.has-hero-cover .site-header.is-scrolled .site-header__phone a,
	body:not(.has-hero-cover) .site-nav__list a,
	body:not(.has-hero-cover) .site-header__address,
	body:not(.has-hero-cover) .site-header__city,
	body:not(.has-hero-cover) .site-header__street,
	body:not(.has-hero-cover) .site-header__phone a {
		color: var(--header-link-mobile);
	}
}


@media screen and (min-width: 960px) and (max-width: 1199px) {
	.site-nav__list {
		gap: var(--sp-6) var(--sp-12);
		font-size: var(--fs-16);
	}

	/* Mid-width: clip long header pills so the 2-row bar does not overflow. */
	.site-header__cta .site-btn {
		max-width: 12em;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media screen and (min-width: 1200px) {
	/* 1200+: full header CTA labels, no ellipsis / max-width clip. */
	.site-header__cta .site-btn,
	.site-header__cta .site-btn--header-primary,
	.site-header__cta .site-btn--header-outline {
		max-width: none;
		overflow: visible;
		text-overflow: clip;
		white-space: nowrap;
	}
}

@media screen and (max-width: 959px) {
	.site-header,
	body.has-hero-cover .site-header,
	body.has-hero-cover .site-header:not(.is-scrolled) {
		background-color: var(--header-bg-mobile);
	}

	body.has-hero-cover .site-header.is-nav-open {
		background-color: var(--header-bg-solid);
	}

	.site-header__bar {
		flex-wrap: nowrap;
		align-items: center;
		min-height: var(--header-bar-min-h);
		padding-top: var(--sp-8);
		padding-bottom: var(--sp-8);
		box-sizing: border-box;
	}

	.site-header.is-nav-open .site-header__bar {
		flex-wrap: wrap;
	}

	.site-header__logo img {
		width: auto;
		max-width: 48px;
		max-height: 48px;
		height: auto;
	}

	.site-header__toggle {
		display: inline-flex;
	}

	.site-nav {
		display: none;
		width: 100%;
		order: 5;
		padding: var(--sp-20) var(--sp-0);
	}

	.site-header.is-nav-open .site-nav {
		display: block;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--sp-0);
	}

	.site-nav__list > li {
		width: 100%;
		padding: var(--sp-10) var(--sp-0);
	}

	.site-nav__list .sub-menu {
		position: static;
		margin-top: var(--sp-8);
		padding: var(--sp-0) var(--sp-0) var(--sp-0) var(--sp-16);
		border: var(--border-1) solid transparent;
	}

	.site-nav__list .menu-item-has-children.is-open > .sub-menu {
		display: block;
	}

	/* Compact Tilda bar: address / phone / cabinet+Machugi live in the burger drawer. */
	.site-header__meta,
	.site-header__address,
	.site-header__phone,
	.site-header__cta {
		display: none;
	}

	.site-header.is-nav-open .site-header__meta {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-left: var(--sp-0);
		order: 6;
		padding: var(--sp-8) var(--sp-0) var(--sp-20);
		gap: var(--sp-12);
	}

	.site-header.is-nav-open .site-header__address,
	.site-header.is-nav-open .site-header__phone,
	.site-header.is-nav-open .site-header__cta {
		display: flex;
	}

	.site-header.is-nav-open .site-header__cta {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.site-header.is-nav-open .site-header__cta .site-btn {
		width: 100%;
		max-width: none;
		white-space: normal;
	}

	body.has-hero-cover .block-hero__inner {
		padding-top: 72px;
	}

	.site-nav.is-open .site-header__address,
	.site-nav.is-open .site-header__phone,
	.site-nav.is-open .site-header__cta,
	.site-header.is-open .site-header__address,
	.site-header.is-open .site-header__phone,
	.site-header.is-open .site-header__cta {
		display: block;
	}
}

/* —— Подвал —— */

.site-footer {
	margin-top: var(--sp-0);
	background-color: transparent;
	color: var(--footer-link);
}

.site-footer__contacts {
	padding: var(--footer-contacts-pad-t) var(--header-pad-x) var(--footer-contacts-pad-b);
	background-color: var(--footer-contacts-bg);
	color: var(--footer-contacts-color);
}

.site-footer__contacts-inner,
.site-footer__legal-inner {
	max-width: var(--footer-inner-max);
	margin: var(--sp-0) auto;
	padding-left: var(--header-pad-x);
	padding-right: var(--header-pad-x);
}

.site-footer__contacts-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-30);
	align-items: stretch;
}

.site-footer__contacts-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 400px;
}

.site-footer__address-line,
.site-footer__phone,
.site-footer__hours,
.site-footer__parking {
	margin: var(--sp-0) 0 var(--footer-item-mb);
	font-family: var(--font-family);
	font-size: var(--footer-contacts-fs);
	line-height: var(--footer-contacts-lh);
	color: var(--footer-contacts-color);
}

.site-footer__hours p {
	margin: var(--sp-0) 0 var(--footer-item-mb);
}

.site-footer__phone a {
	color: var(--footer-contacts-color);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}

.site-footer__phone a:focus-visible,
.site-footer__legal-col a:focus-visible,
.site-footer__social a:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.site-footer__parking {
	font-weight: var(--fw-semibold);
}

.site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-12);
	margin: var(--footer-social-mt) var(--sp-0) var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.site-footer__social a {
	font-weight: var(--fw-semibold);
}

.site-footer__map {
	min-height: 400px;
}

.site-footer__map iframe {
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
}

.site-footer__legal {
	padding: var(--footer-legal-pad-t) var(--header-pad-x) var(--footer-legal-pad-b);
	background-color: var(--footer-legal-bg);
	color: var(--footer-link);
}

.site-footer__copy,
.site-footer__company,
.site-footer__ids,
.site-footer__legal-address {
	font-weight: var(--fw-bold);
}

.site-footer__legal-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--footer-col-gap);
	align-items: start;
}

.site-footer__legal-brand {
	display: flex;
	flex-direction: column;
	gap: var(--sp-12);
}

.site-footer__logo {
	display: inline-block;
	margin: var(--sp-0) 0 var(--sp-8);
}

.site-footer__logo-img {
	display: block;
	width: 120px;
	max-width: 120px;
	height: auto;
}

.site-footer__legal-social {
	margin-top: var(--sp-0);
}

.site-footer__legal-social a {
	width: 25px;
	height: 25px;
	border-radius: 0;
	background-color: transparent;
	color: var(--c-gray);
}

.site-footer__legal-social a:hover,
.site-footer__legal-social a:focus-visible {
	opacity: 1;
	color: var(--c-white);
}

.site-footer__legal-social svg {
	width: 25px;
	height: 25px;
}

.site-footer__legal-col {
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
	font-family: var(--font-family);
	font-size: var(--footer-legal-fs);
	line-height: var(--footer-legal-lh);
}

.site-footer__legal-col--meta .site-footer__legal-links {
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.site-footer__legal-col li + li,
.site-footer__legal-links li + li {
	margin-top: var(--footer-item-mb);
}

.site-footer__legal-col a {
	color: var(--footer-link);
	text-decoration: none;
}

.site-footer__legal-col a:hover,
.site-footer__legal-col a:focus-visible {
	text-decoration: underline;
}


.site-footer__copy {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-size: var(--footer-copy-fs);
	line-height: var(--footer-copy-lh);
	color: var(--footer-link);
}

.site-footer__company,
.site-footer__ids,
.site-footer__legal-address,
.site-footer__after-phone,
.site-footer__after-hours {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-size: var(--footer-copy-fs);
	line-height: var(--footer-copy-lh);
	color: var(--footer-link);
}

.site-footer__after-phone,
.site-footer__after-hours {
	font-weight: var(--fw-bold);
}

.site-footer__after-phone a {
	color: inherit;
	text-decoration: none;
}

.site-footer__after-phone a:hover,
.site-footer__after-phone a:focus-visible {
	text-decoration: underline;
}

.site-footer__legal-col--meta {
	display: flex;
	flex-direction: column;
	gap: var(--footer-item-mb);
}


@media screen and (max-width: 960px) {
	.site-footer__legal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 640px) {
	.site-footer__legal-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 959px) {
	.site-footer__contacts-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer__contacts-copy {
		min-height: 0;
	}
}

/* —— App promo, cookie, scroll-top (сквозные) —— */

.app-promo {
	padding: var(--sp-30) 0;
	background-color: var(--c-yellow);
}

.app-promo__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-24);
}

.app-promo__copy {
	flex: 1 1 20rem;
	min-width: 0;
}

.app-promo__title {
	margin: var(--sp-0) 0 var(--sp-12);
	font-family: var(--font-family);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-30);
	line-height: var(--lh-130);
	color: var(--c-black);
}

.app-promo__text {
	margin: var(--sp-0) 0 var(--sp-16);
	font-family: var(--font-family);
	font-size: var(--fs-16);
	line-height: var(--lh-base);
	color: var(--c-black);
}

.app-promo__stores {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-16);
	margin: var(--sp-0);
}

.app-promo__store {
	display: inline-block;
	color: var(--c-red);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	line-height: 0;
}

.app-promo__badge {
	display: block;
	width: auto;
	height: 40px;
}

.app-promo__mockup {
	flex: 0 1 220px;
	max-width: 240px;
}

.app-promo__phone {
	display: block;
	width: 100%;
	height: auto;
}

.app-promo__store:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

@media (max-width: 640px) {
	.app-promo__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.app-promo__mockup {
		max-width: 180px;
		align-self: center;
	}
}

.cookie-banner {
	position: fixed;
	left: 20px;
	bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	z-index: 100001;
	width: min(430px, calc(100vw - 40px));
	max-width: none;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(29, 29, 29, 0.08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(29, 29, 29, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease,
		visibility 0.28s ease;
}

.cookie-banner.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cookie-banner[hidden] {
	display: none !important;
}

.cookie-banner__inner {
	padding: 22px;
}

.cookie-banner__title {
	margin: 0 0 8px;
	font-family: var(--font-family);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.25;
	color: var(--c-black);
}

.cookie-banner__text {
	margin: 0 0 14px;
	font-family: var(--font-family);
	font-size: 14px;
	line-height: 1.5;
	color: var(--c-text-muted);
}

.cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cookie-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	min-width: 0;
	padding: 11px 22px;
	border: 0;
	border-radius: 999px;
	font-family: var(--font-family);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.cookie-banner__btn--accept {
	background: var(--c-red);
	color: var(--c-white);
}

.cookie-banner__btn--accept:hover,
.cookie-banner__btn--accept:focus-visible {
	background: var(--c-black);
}

.cookie-banner__btn:focus-visible {
	outline: 2px solid var(--c-red);
	outline-offset: 2px;
}

.cookie-banner__text a {
	color: var(--c-red);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cookie-banner__text a:hover,
.cookie-banner__text a:focus-visible {
	color: var(--c-black);
}

body.has-cookie-banner .scroll-top {
	bottom: calc(120px + env(safe-area-inset-bottom, 0px));
}

/* —— Плавающая кнопка связи —— */

.floating-contact {
	position: fixed;
	right: var(--header-pad-x, 20px);
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: calc(var(--header-z) - 10);
}

.floating-contact__btn {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 2px solid var(--c-black);
	border-radius: 50%;
	background: var(--c-yellow);
	color: var(--c-black);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.floating-contact__btn:hover,
.floating-contact__btn:focus-visible {
	transform: scale(1.05);
	background: #f5bd2a;
}

.floating-contact__btn:focus-visible {
	outline: 2px solid var(--c-red);
	outline-offset: 3px;
}

.floating-contact__btn.is-active {
	background: var(--c-red);
	color: var(--c-white);
}

.floating-contact__btn-icon--close {
	display: none;
}

.floating-contact.is-open .floating-contact__btn-icon--chat {
	display: none;
}

.floating-contact.is-open .floating-contact__btn-icon--close {
	display: block;
}

.floating-contact__popover {
	position: absolute;
	right: 0;
	bottom: calc(100% + 14px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: min(300px, calc(100vw - 32px));
	padding: 20px;
	border: 2px solid var(--c-black);
	border-radius: 12px;
	background: var(--c-white);
	box-shadow: var(--shadow-card);
	animation: floating-contact-in 0.2s ease;
}

.floating-contact__popover[hidden] {
	display: none !important;
}

@keyframes floating-contact-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.floating-contact__header {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--c-border);
}

.floating-contact__title {
	font-family: var(--font-family);
	font-size: 17px;
	font-weight: var(--fw-bold, 700);
	line-height: 1.2;
	color: var(--c-ink);
}

.floating-contact__subtitle {
	margin: 4px 0 0;
	font-size: 12px;
	font-weight: var(--fw-medium, 500);
	line-height: 1.35;
	color: var(--c-text-muted);
}

.floating-contact__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.floating-contact__channel {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid transparent;
	border-radius: 10px;
	color: inherit;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.floating-contact__channel:hover,
.floating-contact__channel:focus-visible {
	background: var(--c-bg-2);
	border-color: var(--c-border);
}

.floating-contact__channel:focus-visible {
	outline: 2px solid var(--c-red);
	outline-offset: 2px;
}

.floating-contact__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--c-black);
	border-radius: 50%;
}

.floating-contact__icon--telegram {
	background: var(--c-yellow);
	color: var(--c-black);
}

.floating-contact__icon--whatsapp {
	background: #25d366;
	border-color: #128c7e;
	color: var(--c-white);
}

.floating-contact__icon--vk,
.floating-contact__icon--phone,
.floating-contact__icon--book {
	background: var(--c-white);
	color: var(--c-black);
}

.floating-contact__icon--max {
	border: 0;
	background: transparent;
}

.floating-contact__icon--max svg {
	display: block;
	width: 36px;
	height: 36px;
}

.floating-contact__icon-text {
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
}

.floating-contact__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.floating-contact__name {
	font-size: 14px;
	font-weight: var(--fw-bold, 700);
	line-height: 1.2;
	color: var(--c-ink);
}

.floating-contact__desc {
	margin-top: 2px;
	overflow: hidden;
	font-size: 12px;
	line-height: 1.3;
	color: var(--c-text-muted);
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.has-floating-contact .scroll-top {
	bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

body.has-floating-contact.has-cookie-banner .scroll-top {
	bottom: calc(176px + env(safe-area-inset-bottom, 0px));
}

body.has-floating-contact.has-cookie-banner .floating-contact {
	bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 640px) {
	.floating-contact {
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	}

	.floating-contact__btn {
		width: 50px;
		height: 50px;
	}

	.floating-contact__popover {
		right: 0;
		width: min(300px, calc(100vw - 32px));
	}

	body.has-floating-contact .scroll-top {
		bottom: calc(88px + env(safe-area-inset-bottom, 0px));
	}

	body.has-floating-contact.has-cookie-banner .scroll-top {
		bottom: calc(168px + env(safe-area-inset-bottom, 0px));
	}

	body.has-floating-contact.has-cookie-banner .floating-contact {
		bottom: calc(88px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 640px) {
	.cookie-banner {
		left: 12px;
		right: 12px;
		bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		width: auto;
	}

	.cookie-banner__inner {
		padding: 18px 18px 16px;
	}

	.cookie-banner__actions {
		flex-direction: column;
	}

	.cookie-banner__btn {
		width: 100%;
	}

	body.has-cookie-banner .scroll-top {
		bottom: calc(168px + env(safe-area-inset-bottom, 0px));
	}
}

.scroll-top {
	position: fixed;
	right: var(--header-pad-x);
	bottom: 88px;
	z-index: calc(var(--header-z) - 20);
	margin: var(--sp-0);
}

.scroll-top__btn {
	padding: var(--sp-0);
	border: var(--border-1) solid transparent;
	background: transparent;
	cursor: pointer;
	box-shadow: var(--shadow-card);
	border-radius: var(--r-53);
}

.scroll-top__btn:focus-visible {
	outline: var(--border-2) solid var(--btn-focus-color);
	outline-offset: var(--outline-offset);
}

.scroll-top__btn:hover rect,
.scroll-top__btn:focus-visible rect {
	fill: var(--c-red);
}

/* —— Хлебные крошки —— */

body.has-hero-cover .site-breadcrumbs {
	display: none;
}

.site-breadcrumbs {
	width: 100%;
	border-bottom: var(--border-1) solid var(--c-line, rgba(0, 0, 0, 0.08));
	background-color: var(--c-bg, var(--c-white));
}

.site-breadcrumbs__inner {
	box-sizing: border-box;
	max-width: var(--container-max, 1200px);
	margin: 0 auto;
	padding: var(--sp-12, 12px) var(--sp-16, 16px);
	font-family: var(--font-family);
	font-size: var(--fs-14, 14px);
	line-height: 1.4;
	color: var(--c-muted, #666);
}

.site-breadcrumbs__home {
	color: inherit;
	text-decoration: none;
}

.site-breadcrumbs__home:hover,
.site-breadcrumbs__home:focus-visible {
	color: var(--c-red);
}

.site-breadcrumbs__sep {
	margin: 0 var(--sp-8, 8px);
}

.site-breadcrumbs__current {
	color: var(--c-text, #111);
}

/* —— Актуальность контента —— */

.site-freshness {
	box-sizing: border-box;
	max-width: var(--container-max, 1200px);
	margin: var(--sp-24, 24px) auto var(--sp-16, 16px);
	padding: 0 var(--sp-16, 16px);
	font-family: var(--font-family);
	font-size: var(--fs-12, 12px);
	line-height: 1.4;
	color: var(--c-muted, #888);
}

/* —— 404 —— */

.block-404 {
	padding: var(--sp-48, 48px) 0 var(--sp-64, 64px);
}

.block-404__title {
	margin: 0 0 var(--sp-16, 16px);
	font-family: var(--font-family);
	font-weight: 700;
	font-size: var(--fs-32, 32px);
	line-height: 1.2;
	color: var(--c-text, #111);
}

.block-404__text {
	margin: 0 0 var(--sp-24, 24px);
	max-width: 40rem;
	font-family: var(--font-family);
	font-size: var(--fs-16, 16px);
	line-height: 1.5;
	color: var(--c-muted, #555);
}

.block-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-12, 12px) var(--sp-24, 24px);
	margin: 0 0 var(--sp-32, 32px);
	padding: 0;
	list-style: none;
}

.block-404__links a {
	font-family: var(--font-family);
	font-size: var(--fs-16, 16px);
	color: var(--c-red, #c5252d);
	text-decoration: none;
}

.block-404__links a:hover,
.block-404__links a:focus-visible {
	text-decoration: underline;
}

.block-404__search {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-12, 12px);
	align-items: center;
}

.block-404__search input[type="search"] {
	box-sizing: border-box;
	min-width: min(100%, 280px);
	min-height: var(--btn-min-h, 48px);
	padding: var(--sp-8, 8px) var(--sp-16, 16px);
	border: var(--border-1, 1px) solid rgba(0, 0, 0, 0.15);
	border-radius: var(--r-pill, 999px);
	font-family: var(--font-family);
	font-size: var(--fs-16, 16px);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* visual64: app promo footer like live t391 (~630) */
.app-promo {
	padding: 0;
	background-color: var(--c-cream, #f8ecce);
	min-height: 630px;
}

.app-promo__inner {
	min-height: 630px;
	align-items: center;
}

.app-promo__title {
	font-size: var(--fs-30);
	font-weight: 600;
	max-width: 28rem;
}

.app-promo__mockup {
	flex: 0 1 360px;
	max-width: 420px;
}

.app-promo__badge {
	height: 48px;
}

@media (max-width: 640px) {
	.app-promo,
	.app-promo__inner {
		min-height: 0;
		padding: var(--sp-32) 0;
	}
}

/* visual65: app promo phone scale like live t391 */
.home .app-promo,
.site-main--front + .app-promo,
.app-promo {
	background-color: #f8ecce;
}

.home .app-promo,
.home .app-promo__inner {
	min-height: 560px;
}

.home .app-promo__mockup {
	flex: 0 1 420px;
	max-width: 460px;
	transform: translateY(28px);
}

.home .app-promo__phone {
	display: block;
	width: 100%;
	max-width: 380px;
	margin-left: auto;
	height: auto;
}

.home .app-promo__badge {
	height: 48px;
	width: auto;
}

@media (max-width: 640px) {
	.home .app-promo,
	.home .app-promo__inner {
		min-height: 0;
	}

	.home .app-promo__mockup {
		max-width: 220px;
		transform: none;
	}
}

/* visual66: restore ~630 app promo; keep t391 phone scale, less downward nudge */
.home .app-promo,
.home .app-promo__inner {
	min-height: 630px;
}

.home .app-promo__mockup {
	flex: 0 1 420px;
	max-width: 460px;
	transform: translateY(6px);
}

.home .app-promo__phone {
	max-width: 400px;
}


/* —— visual67: cream page, header contacts, app promo visible —— */

html,
body {
	margin: 0;
	padding: 0;
	overflow-x: clip;
}

html {
	background-color: #f8ecce;
}

body,
.site-content,
.site-main,
.site-main--front {
	background-color: #f8ecce;
}

@media screen and (min-width: 960px) {
	body.has-hero-cover .site-header:not(.is-scrolled) {
		background-color: rgba(0, 0, 0, 0.38);
	}

	/* Главная: шапка отдельным блоком над фото (как на референсе). */
	body.home.has-hero-cover .site-header,
	body.front-page.has-hero-cover .site-header {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		background-color: #3a3730;
		border-bottom: none;
	}

	body.home.has-hero-cover .site-header.is-scrolled,
	body.front-page.has-hero-cover .site-header.is-scrolled {
		background-color: var(--header-bg-solid);
	}

	/* t967: контакты и верхняя строка — на всех страницах с hero-cover. */
	body.has-hero-cover .site-header__meta {
		align-items: center;
		min-height: 72px;
		padding-top: 8px;
	}

	body.has-hero-cover .site-header__contacts {
		align-items: flex-end;
		justify-content: center;
		gap: 2px;
		min-height: 45px;
		flex-shrink: 0;
	}

	body.has-hero-cover .site-header__phone {
		display: block;
		flex-shrink: 0;
	}

	body.has-hero-cover .site-header__address {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		max-width: none;
		line-height: 1.2;
		text-align: right;
	}

	body.has-hero-cover .site-header__city,
	body.has-hero-cover .site-header__street {
		display: block;
		white-space: nowrap;
	}

	body.has-hero-cover .site-header__city::after {
		content: none;
	}

	body.has-hero-cover .site-header__brand {
		min-height: 72px;
		padding-top: 10px;
		align-items: center;
	}

	body.has-hero-cover .site-header__bar {
		row-gap: 6px;
		padding-bottom: 10px;
	}
}

.site-header__contacts {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	min-width: 0;
}

.site-header__phone {
	white-space: nowrap;
}

.site-header__address {
	max-width: none;
	line-height: 1.25;
	text-align: right;
}

@media screen and (min-width: 960px) {
	.site-header__bar {
		max-width: var(--footer-inner-max);
		margin-left: auto;
		margin-right: auto;
		padding-left: var(--container-gutter);
		padding-right: var(--container-gutter);
	}

	.site-nav {
		width: 100%;
	}

	body:not(.has-hero-cover) .site-header__address,
	body.has-hero-cover .site-header.is-scrolled .site-header__address {
		max-width: none;
	}

	body:not(.has-hero-cover) .site-header__city,
	body:not(.has-hero-cover) .site-header__street,
	body.has-hero-cover .site-header.is-scrolled .site-header__city,
	body.has-hero-cover .site-header.is-scrolled .site-header__street {
		white-space: nowrap;
	}
}

.home .app-promo,
.site-main--front + .app-promo,
.app-promo {
	display: block;
	overflow: visible;
	background-color: #f8ecce;
}

.home .app-promo__inner {
	min-height: 560px;
}

/* === blocks.css === */
/* Стили через токены: assets/css/tokens.css (шаг 36в). */

/* Блоки hero / section_title / rich_text. Размеры и отступы — из исходника Tilda (t1120, T050, T220). */

.block-container {
	box-sizing: border-box;
	max-width: var(--container-wide);
	margin: var(--sp-0) auto;
	padding: var(--sp-0) var(--container-gutter);
}

/* —— hero (t1120): 70vh, градиент, заголовок снизу —— */

.block-hero {
	position: relative;
	overflow: hidden;
	min-height: var(--hero-min-height, 70vh);
	color: var(--c-white);
}

.block-hero__media,
.block-hero__overlay {
	position: absolute;
	inset: 0;
}

.block-hero__media {
	z-index: 0;
}

.block-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.block-hero__overlay {
	z-index: 1;
	background-image:
		linear-gradient(to right, rgba(0, 0, 0, 0.4), transparent 55%),
		var(--gradient-hero-overlay);
	pointer-events: none;
}

.block-hero--promo .block-hero__overlay,
.block-hero__overlay--light {
	background-image: var(--gradient-hero-overlay-light);
}

.block-hero--t337 .block-hero__overlay,
.block-hero__overlay--t337 {
	background-image: var(--gradient-hero-overlay-t337);
}

/* t337 (live /rekvizity): cover 60vh + круглый аватар по центру на стыке с кремовым блоком. */
.block-hero--t337 {
	overflow: visible;
	z-index: 1;
}

/* Title (and avatar) translate onto the cream band below the hero. Raising the whole
   hero stacking context above the following section prevents cream/yellow from painting over H1. */
.block-hero--t337:has(.block-hero__title) {
	z-index: 3;
}

.block-hero--t337:not(:has(.block-hero__title)) .block-hero__inner {
	min-height: 0;
	height: 0;
	padding: 0;
	overflow: visible;
}

body.has-hero-cover .block-hero--t337:not(:has(.block-hero__title)) .block-hero__inner {
	padding-top: 0;
}

.block-hero--t337 .block-hero__grid {
	justify-content: center;
	width: 100%;
}

.block-hero--t337 .block-hero__col-title {
	width: 100%;
	max-width: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.block-hero--t337:not(:has(.block-hero__title)) .block-hero__avatar {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 3;
	margin: 0;
	transform: translate(-50%, 50%);
}

.block-hero--t337:has(.block-hero__title) .block-hero__inner {
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 0;
}

.block-hero--t337:has(.block-hero__title) .block-hero__col-title {
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	max-width: var(--container-wide);
	padding: 95px var(--container-gutter) 0;
	transform: translateY(50%);
}

.block-hero--t337:has(.block-hero__title) .block-hero__avatar {
	margin: -80px auto 0;
}

.block-hero--t337 .block-hero__title {
	margin-top: var(--sp-15);
	font-weight: var(--fw-bold, 700);
	font-size: clamp(22px, 6vw, 36px);
	line-height: var(--lh-120, 1.2);
	text-align: center;
	text-transform: uppercase;
	color: var(--c-black);
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.block-hero--t337 + .block-rekvizity,
.block-hero--t337 + .block-rich-text {
	position: relative;
	z-index: 2;
}

.block-hero--t337:has(.block-hero__title) + .block-rekvizity,
.block-hero--t337:has(.block-hero__title) + .block-rich-text {
	z-index: 1;
}

/* T220 legal pages after t337 hero (live t337 + t220: cream, yellow card, title above card).
   Include #seo-overview — ID specificity otherwise keeps padding at --sp-48 (nalogovyj-vychet). */
.block-hero--t337:has(.block-hero__title) + .block-rich-text,
.block-hero--t337:has(.block-hero__title) + .block-rich-text#seo-overview {
	padding-top: 240px;
	background-color: var(--c-cream);
	overflow: visible;
}

.block-hero--t337:has(.block-hero__title) + .block-rich-text .block-container {
	overflow: visible;
}

.block-hero--t337:has(.block-hero__title) + .block-rich-text .block-rich-text__content {
	background-color: #f1e3a2;
	padding: 60px;
	margin: 0 -60px;
	border-radius: 50px;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
	.block-hero--t337:has(.block-hero__title) + .block-rich-text .block-rich-text__content {
		padding: 40px;
		margin: 0 -40px;
	}
}

@media screen and (max-width: 640px) {
	.block-hero--t337:has(.block-hero__title) + .block-rich-text,
	.block-hero--t337:has(.block-hero__title) + .block-rich-text#seo-overview {
		padding-top: 160px;
	}

	.block-hero--t337:has(.block-hero__title) + .block-rich-text .block-rich-text__content {
		padding: 20px;
		margin: 0 -20px;
		border-radius: 30px;
	}
}

.block-hero__avatar {
	margin-bottom: var(--sp-20);
}

.block-hero__avatar-img {
	display: block;
	width: 160px;
	height: 160px;
	border: var(--border-2) solid var(--c-white);
	border-radius: var(--r-pill);
	object-fit: cover;
}

@media screen and (max-width: 640px) {
	.block-hero__avatar-img {
		width: 120px;
		height: 120px;
	}
}

.block-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
	min-height: var(--hero-min-height, 70vh);
	padding: var(--sp-50) 0;
}

.block-hero__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	text-align: left;
}

.block-hero__col-title {
	width: 50%;
}

.block-hero__col-copy {
	width: 33%;
	margin-left: var(--sp-40);
}

.block-hero__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-30);
	line-height: var(--lh-117);
	color: var(--c-white);
	word-wrap: break-word;
}

.block-hero__subtitle {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
	color: var(--c-white);
}

.block-hero__subtitle p {
	margin: var(--sp-0) 0 0.4em;
}

.block-hero__subtitle p:last-child {
	margin-bottom: var(--sp-0);
}

.block-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-10);
}

.block-hero__subtitle + .block-hero__actions {
	margin-top: var(--sp-20);
}

@media screen and (min-width: 481px) {
	.block-hero__title {
		font-size: var(--fs-32);
	}
}

@media screen and (min-width: 641px) {
	.block-hero__title {
		font-size: var(--fs-40);
	}

	.block-hero__subtitle {
		font-size: var(--fs-16);
		line-height: var(--lh-base);
	}
}

@media screen and (min-width: 900px) {
	.block-hero__title {
		font-size: var(--fs-45);
	}

	.block-hero__subtitle {
		font-size: var(--fs-18);
	}
}

@media screen and (max-width: 960px) {
	.block-hero__inner {
		padding: var(--sp-60) 0;
	}

	.block-hero__grid {
		display: block;
	}

	.block-hero__col-title,
	.block-hero__col-copy {
		width: 100%;
		margin-left: var(--sp-0);
	}

	.block-hero__col-title + .block-hero__col-copy {
		margin-top: var(--sp-40);
	}

	.block-hero__btn {
		min-height: var(--btn-min-h-sm);
		padding-left: var(--btn-pad-x-sm);
		padding-right: var(--btn-pad-x-sm);
	}
}

/* —— section_title (T050): 42px с 900px, отступы 60 / 15 —— */

.block-section-title {
	padding: var(--sp-60) 0 var(--sp-15);
}

.block-section-title__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-30);
	line-height: var(--lh-117);
	color: var(--c-black);
	text-align: left;
}

@media screen and (min-width: 481px) {
	.block-section-title__title {
		font-size: var(--fs-36);
	}
}

@media screen and (min-width: 641px) {
	.block-section-title__title {
		font-size: var(--fs-38, 38px);
		overflow-wrap: break-word;
	}
}

@media screen and (min-width: 900px) {
	.block-section-title__title {
		font-size: var(--fs-42);
	}
}

/* —— rich_text (T220): 16px как в исходнике, отступы 15 / 60 —— */

.block-rich-text {
	padding: var(--sp-15) 0 var(--sp-60);
}

.block-rich-text__content {
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-16);
	line-height: var(--lh-mid);
	color: var(--c-black);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.block-rich-text__content p {
	overflow-wrap: anywhere;
}

.block-rich-text__content a {
	overflow-wrap: anywhere;
	word-break: break-all;
}

.block-rich-text__content > *:first-child {
	margin-top: var(--sp-0);
}

.block-rich-text__content > *:last-child {
	margin-bottom: var(--sp-0);
}

.block-rich-text__content p,
.block-rich-text__content li {
	font-weight: var(--fw-normal);
}

.block-rich-text__content strong,
.block-rich-text__content b {
	font-weight: var(--fw-semibold);
}

/* —— single post (новости / мероприятия) —— */

.site-main--post {
	padding-bottom: var(--sp-60);
}

.block-post__header {
	padding: var(--sp-32) 0 var(--sp-24);
	text-align: center;
}

.block-post__title {
	margin: 0 0 var(--sp-12);
	font-family: var(--font-family);
	font-size: var(--fs-28);
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
	color: var(--c-ink);
}

.block-post__date {
	display: block;
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
	color: var(--c-muted, #666);
}

.block-post__media {
	margin-bottom: var(--sp-24);
}

.block-post__image {
	display: block;
	width: 100%;
	max-width: 960px;
	height: auto;
	margin: 0 auto;
	border-radius: var(--radius-md, 8px);
}

.block-post__body.block-rich-text {
	padding-top: 0;
}

.block-post__body .block-rich-text__content {
	max-width: 800px;
	margin: 0 auto;
}

.block-post__body .t-redactor__text,
.block-post__body .t-redactor__tte-view {
	font: inherit;
	color: inherit;
}

@media screen and (min-width: 641px) {
	.block-post__title {
		font-size: var(--fs-32, 32px);
	}
}

@media screen and (min-width: 641px) {
	.block-rich-text__content {
		font-size: var(--fs-16);
		line-height: var(--lh-base);
	}
}

/* —— seo-overview: кремовая полоса как t-section на Tilda —— */

#seo-overview,
.block-rich-text#seo-overview {
	background-color: var(--c-cream);
	padding: var(--sp-48) 0 var(--sp-60);
}

#seo-overview .block-rich-text__content > h2:first-child,
#seo-overview .block-rich-text__content > h3:first-child,
#seo-overview .block-rich-text__content > p:first-child {
	margin: var(--sp-0) auto var(--sp-24);
	max-width: 800px;
	text-align: center;
	font-family: var(--font-family);
	font-size: var(--fs-28);
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
	color: var(--c-ink);
}

#seo-overview .block-rich-text__content > p:first-child strong,
#seo-overview .block-rich-text__content > p:first-child b {
	font-weight: var(--fw-bold);
}

#seo-overview .block-rich-text__content ul,
#seo-overview ul {
	list-style: none;
	counter-reset: seo-overview;
	max-width: 760px;
	margin: var(--sp-0) auto;
	padding-left: var(--sp-0);
	text-align: left;
}

#seo-overview ul > li {
	position: relative;
	counter-increment: seo-overview;
	margin: 0 0 var(--sp-20);
	padding-left: 56px;
	min-height: 36px;
	list-style: none;
}

#seo-overview ul > li:last-child {
	margin-bottom: 0;
}

#seo-overview ul > li::before {
	content: counter(seo-overview);
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	border: var(--border-2) solid #ff8562;
	border-radius: 50%;
	color: #ff8562;
	font-family: var(--font-family);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-16);
	line-height: 32px;
	text-align: center;
}

#seo-overview .seo-overview__cta {
	margin: var(--sp-32) auto 0;
	max-width: 760px;
	text-align: center;
}

#seo-overview .seo-overview__cta .site-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--r-pill);
}

@media screen and (min-width: 640px) {
	#seo-overview,
	.block-rich-text#seo-overview {
		padding: var(--sp-60) 0;
	}

	#seo-overview .block-rich-text__content > h2:first-child,
	#seo-overview .block-rich-text__content > h3:first-child,
	#seo-overview .block-rich-text__content > p:first-child {
		font-size: var(--fs-32);
	}
}

/* —— hours-contacts (t572): кремовая полоса перед расписанием —— */

#hours-contacts,
.block-rich-text#hours-contacts {
	background-color: var(--c-cream);
	padding: var(--sp-75) 0;
}

#hours-contacts .block-rich-text__content {
	max-width: 560px;
	margin: var(--sp-0) auto;
	text-align: center;
	color: var(--c-ink);
}

#hours-contacts .block-rich-text__content > h2:first-child {
	margin: var(--sp-0) auto var(--sp-75);
	font-family: var(--font-family);
	font-size: var(--fs-28);
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
	text-align: center;
}

#hours-contacts .block-rich-text__content > p {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-size: var(--fs-14);
	line-height: var(--lh-140);
}

#hours-contacts .block-rich-text__content > p strong,
#hours-contacts .block-rich-text__content > p b {
	font-weight: var(--fw-bold);
}

#hours-contacts .block-rich-text__content a {
	color: #ff8562;
	font-weight: var(--fw-bold);
	text-decoration: none;
}

#seo-overview .block-rich-text__content a[href^="tel:"],
.block-rich-text__content a[href^="tel:"]:not(.site-btn) {
	color: #ff8562;
	font-weight: var(--fw-bold);
	text-decoration: none;
}

#seo-overview .block-rich-text__content a[href^="tel:"]:hover,
#seo-overview .block-rich-text__content a[href^="tel:"]:focus-visible,
.block-rich-text__content a[href^="tel:"]:not(.site-btn):hover,
.block-rich-text__content a[href^="tel:"]:not(.site-btn):focus-visible {
	text-decoration: underline;
}

#hours-contacts .block-rich-text__content a:hover,
#hours-contacts .block-rich-text__content a:focus-visible {
	text-decoration: underline;
}

/* hours перед расписанием (live t572 на /raspisanie/, /kids/, …) */
#hours-contacts:has(+ .block-schedule),
.block-rich-text#hours-contacts:has(+ .block-schedule) {
	padding: 110px 0 130px;
}

#hours-contacts:has(+ .block-schedule) .block-rich-text__content > h2:first-child,
.block-rich-text#hours-contacts:has(+ .block-schedule) .block-rich-text__content > h2:first-child {
	margin-bottom: 110px;
	font-size: var(--fs-36);
}

/* direction pages: высоты t2723113601 + t2496203081 + t912269563 (live /trenazhernyj-zal-krasnodar/) */
.single-direction #seo-overview,
.single-direction .block-rich-text#seo-overview {
	padding: 92px 0 96px;
}

.single-direction #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 72px;
}

.single-direction #seo-overview ul > li {
	margin-bottom: 28px;
}

.single-direction #seo-overview .seo-overview__cta {
	margin-top: 36px;
}

.single-direction #hours-contacts,
.single-direction .block-rich-text#hours-contacts {
	padding: 110px 0 118px;
}

.single-direction #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 96px;
}

.single-direction .block-tabs--pills {
	padding: 41px 0 30px;
	background-color: var(--c-cream);
}

.single-direction .block-split {
	padding: 30px 0 45px;
}

.single-direction .block-cta--t678 {
	padding: 75px 0 90px;
}

/* /trenazhernyj-zal-krasnodar/ — seo + режим работы (компактно, как /bassejn/) */
body.direction-trenazhernyj-zal-krasnodar #seo-overview,
body.direction-trenazhernyj-zal-krasnodar .block-rich-text#seo-overview {
	padding: 60px 0 24px;
}

body.direction-trenazhernyj-zal-krasnodar #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 40px;
}

body.direction-trenazhernyj-zal-krasnodar #seo-overview ul > li {
	margin-bottom: 18px;
}

body.direction-trenazhernyj-zal-krasnodar #seo-overview .seo-overview__cta {
	margin-top: 24px;
}

body.direction-trenazhernyj-zal-krasnodar #seo-overview + #hours-contacts,
body.direction-trenazhernyj-zal-krasnodar #seo-overview + .block-rich-text#hours-contacts {
	padding: 32px 0 64px;
}

body.direction-trenazhernyj-zal-krasnodar #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

@media screen and (max-width: 640px) {
	body.direction-trenazhernyj-zal-krasnodar #seo-overview,
	body.direction-trenazhernyj-zal-krasnodar .block-rich-text#seo-overview {
		padding: 48px 0 20px;
	}

	body.direction-trenazhernyj-zal-krasnodar #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 32px;
	}

	body.direction-trenazhernyj-zal-krasnodar #seo-overview ul > li {
		margin-bottom: 16px;
	}

	body.direction-trenazhernyj-zal-krasnodar #seo-overview .seo-overview__cta {
		margin-top: 20px;
	}

	body.direction-trenazhernyj-zal-krasnodar #seo-overview + #hours-contacts,
	body.direction-trenazhernyj-zal-krasnodar #seo-overview + .block-rich-text#hours-contacts {
		padding: 28px 0 48px;
	}

	body.direction-trenazhernyj-zal-krasnodar #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /personalnyy-trening/ — seo + режим работы (компактно) */
body.direction-personalnyy-trening #seo-overview,
body.direction-personalnyy-trening .block-rich-text#seo-overview {
	padding: 60px 0 24px;
}

body.direction-personalnyy-trening #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 40px;
}

body.direction-personalnyy-trening #seo-overview ul > li {
	margin-bottom: 18px;
}

body.direction-personalnyy-trening #seo-overview + #hours-contacts,
body.direction-personalnyy-trening #seo-overview + .block-rich-text#hours-contacts {
	padding: 32px 0 64px;
}

body.direction-personalnyy-trening #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

@media screen and (max-width: 640px) {
	body.direction-personalnyy-trening #seo-overview,
	body.direction-personalnyy-trening .block-rich-text#seo-overview {
		padding: 48px 0 20px;
	}

	body.direction-personalnyy-trening #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 32px;
	}

	body.direction-personalnyy-trening #seo-overview ul > li {
		margin-bottom: 16px;
	}

	body.direction-personalnyy-trening #seo-overview + #hours-contacts,
	body.direction-personalnyy-trening #seo-overview + .block-rich-text#hours-contacts {
		padding: 28px 0 48px;
	}

	body.direction-personalnyy-trening #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* —— promo-season (t106) —— */

#promo-season,
.block-rich-text#promo-season {
	background-color: var(--c-cream);
	padding: var(--sp-30) 0 var(--sp-45);
}

#promo-season .block-rich-text__content {
	max-width: 960px;
	margin: var(--sp-0) auto;
	text-align: left;
	color: var(--c-ink);
}

#promo-season .block-rich-text__content > h2:first-child {
	margin: var(--sp-0) 0 var(--sp-24);
	font-family: var(--font-family);
	font-size: var(--fs-22);
	font-weight: var(--fw-bold);
	line-height: var(--lh-130);
	text-transform: uppercase;
}

#promo-season .block-rich-text__content > p {
	margin: var(--sp-0) 0 var(--sp-16);
	font-family: var(--font-family);
	font-size: var(--fs-16);
	line-height: var(--lh-140);
}

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

/* —— wheel_embed (t131 inline Risoma) —— */

.block-wheel {
	background-color: var(--c-cream);
	padding: var(--sp-0);
}

.block-wheel__host {
	width: 100%;
	min-height: 520px;
}

.block-wheel__frame {
	display: block;
	width: 100%;
	min-height: 520px;
	height: 520px;
	border: 0;
}

@media screen and (max-width: 960px) {
	#hours-contacts,
	.block-rich-text#hours-contacts {
		padding: var(--sp-45) 0;
	}

	#hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: var(--sp-45);
	}

	.block-wheel__frame {
		min-height: 420px;
		height: 420px;
	}
}

/* —— schedule_embed: на /raspisanie/ на всю ширину —— */

.block-schedule--wide {
	padding: var(--sp-0);
}

.block-schedule--wide .block-schedule__host,
.block-schedule--wide [data-fit1c-calendar],
.block-schedule--wide [data-get-fit-index-lk] {
	width: 100%;
	max-width: none;
}

.block-schedule--wide .block-schedule__host iframe {
	width: 100% !important;
	max-width: none !important;
}

/* —— общие сетки шага 22 —— */

.block-grid {
	display: grid;
	gap: var(--gap-grid);
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-grid--cols-2,
.block-grid--cols-3,
.block-grid--cols-4 {
	grid-template-columns: 1fr;
}

@media screen and (min-width: 641px) {
	.block-grid--cols-2,
	.block-grid--cols-3,
	.block-grid--cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 961px) {
	.block-grid--cols-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.block-grid--cols-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* —— feature_grid: «О клубе» / зоны, иконка 85px, заголовок ~22px —— */

.block-feature {
	padding: var(--fs-40) 0;
}

.block-feature__card {
	display: block;
	color: inherit;
	text-decoration: none;
}

a.block-feature__card:hover .block-feature__title,
a.block-feature__card:focus-visible .block-feature__title {
	text-decoration: underline;
}

.block-feature__image {
	display: block;
	width: var(--size-icon-feature);
	height: auto;
	max-width: var(--size-icon-feature);
	margin-bottom: var(--fs-16);
}

/* picture wrapper: keep icons at 85px; photo tiles stretch the frame. */
.block-feature picture {
	display: block;
	width: var(--size-icon-feature);
	max-width: var(--size-icon-feature);
	margin-bottom: var(--fs-16);
}

.block-feature picture .block-feature__image {
	width: 100%;
	max-width: 100%;
	margin-bottom: var(--sp-0);
}

/* Photo tiles: full card width, cover, ~3/2.
   Opt-in: .block-feature--photos
   Direction: .site-main--direction / .single-direction unless .block-feature--icons.
   Home icon list stays 85px. Header / form / popup untouched. */
.block-feature--photos picture,
.site-main--direction .block-feature:not(.block-feature--icons) picture,
.single-direction .block-feature:not(.block-feature--icons) picture {
	width: 100%;
	max-width: 100%;
}

.block-feature--photos .block-feature__image,
.site-main--direction .block-feature:not(.block-feature--icons) .block-feature__image,
.single-direction .block-feature:not(.block-feature--icons) .block-feature__image {
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center;
}

.block-feature--icons picture,
.block-feature--icons .block-feature__image {
	width: var(--size-icon-feature);
	max-width: var(--size-icon-feature);
	aspect-ratio: auto;
	object-fit: contain;
}

.block-feature__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 400;
	font-size: var(--fs-18);
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-feature__text {
	margin-top: var(--sp-8);
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
	color: var(--c-black);
}

@media screen and (min-width: 961px) {
	.block-feature__title {
		font-size: var(--fs-22);
	}
}

/* —— tabbed_media (t908): вкладки + фото —— */

.block-tabbed-media {
	padding: 15px 0 60px;
}

.block-tabbed-media__head {
	margin-bottom: 15px;
}

.block-tabbed-media__title {
	margin: 0 0 12px;
	font-family: var(--font-family);
	font-size: var(--fs-28);
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
	color: var(--c-ink);
	text-transform: uppercase;
}

.block-tabbed-media__intro {
	margin: 0;
	max-width: 960px;
	font-family: var(--font-family);
	font-size: var(--fs-16);
	line-height: var(--lh-140);
	color: var(--c-ink);
}

.block-tabbed-media__layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 24px;
	align-items: center;
}

.block-tabbed-media__tabs {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.block-tabbed-media__tab-btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid rgba(29, 29, 29, 0.12);
	border-radius: 12px;
	background: var(--c-white);
	color: var(--c-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.block-tabbed-media__tab.is-active .block-tabbed-media__tab-btn,
.block-tabbed-media__tab-btn:hover,
.block-tabbed-media__tab-btn:focus-visible {
	border-color: var(--c-red);
	outline: none;
}

.block-tabbed-media__tab-btn:focus-visible {
	box-shadow: 0 0 0 2px rgba(197, 37, 45, 0.25);
}

.block-tabbed-media__tab-title {
	display: block;
	margin-bottom: 6px;
	font-family: var(--font-family);
	font-size: 20px;
	font-weight: var(--fw-bold);
	line-height: var(--lh-125);
}

.block-tabbed-media__tab-text {
	display: block;
	font-family: var(--font-family);
	font-size: var(--fs-14);
	line-height: var(--lh-140);
	color: var(--c-text-muted);
}

.block-tabbed-media__panels {
	position: relative;
	min-height: 280px;
}

.block-tabbed-media__panel {
	margin: 0;
}

.block-tabbed-media__panel[hidden] {
	display: none !important;
}

.block-tabbed-media__panel picture,
.block-tabbed-media__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 30px;
	object-fit: cover;
}

@media screen and (min-width: 900px) {
	.block-tabbed-media__title {
		font-size: 42px;
	}
}

@media screen and (max-width: 960px) {
	.block-tabbed-media__layout {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.block-tabbed-media__panels {
		order: -1;
		min-height: 0;
	}
}

/* —— benefit_list (t490): иконка 100px, title 18px, текст 14px —— */

.block-benefit {
	padding: var(--fs-40) 0;
}

.block-benefit__grid {
	row-gap: var(--gap-row-benefit);
}

.block-benefit__image {
	display: block;
	width: var(--size-icon-benefit);
	height: auto;
	max-width: 100%;
	margin-bottom: var(--fs-25);
}

.block-benefit__num {
	margin-bottom: var(--fs-25);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-120);
	color: var(--c-red);
}

.block-benefit__title {
	margin: var(--sp-12) 0 var(--sp-25);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-16);
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-benefit__text {
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-base);
	color: var(--c-black);
	overflow-wrap: break-word;
}

.block-benefit__text > *:first-child {
	margin-top: var(--sp-0);
}

.block-benefit__text > *:last-child {
	margin-bottom: var(--sp-0);
}

@media screen and (min-width: 641px) {
	.block-benefit__title {
		font-size: var(--fs-18);
	}
}

@media screen and (max-width: 960px) {
	.block-benefit__grid {
		row-gap: var(--gap-row-benefit-sm);
	}
}

/* —— card_grid (t650): жёлтые плитки, 18 / 14, radius 30 —— */

.block-tiles {
	padding: var(--fs-40) 0;
}

.block-tiles__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	background-color: var(--c-yellow);
	border-radius: var(--fs-30);
	box-shadow: var(--shadow-card);
}

.block-tiles__card:hover,
.block-tiles__card:focus-within {
	box-shadow: var(--shadow-card-hover);
}

.block-tiles__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--r-lg) var(--r-lg) 0 0;
}

.block-tiles__text {
	padding: var(--sp-30) var(--sp-30) var(--sp-40);
}

.block-tiles__link {
	color: inherit;
	text-decoration: none;
}

.block-tiles__link:hover .block-tiles__title,
.block-tiles__link:focus-visible .block-tiles__title {
	text-decoration: underline;
}

.block-tiles__title {
	margin: var(--sp-0) 0 var(--sp-10);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-18);
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-tiles__desc {
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
	color: var(--c-black);
}

.block-tiles__desc > *:first-child {
	margin-top: var(--sp-0);
}

.block-tiles__desc > *:last-child {
	margin-bottom: var(--sp-0);
}

.block-tiles__desc ul {
	margin: var(--sp-0);
	padding-left: 1.2em;
}

.block-tiles__more {
	padding: var(--sp-0) var(--sp-30) var(--sp-20);
}

.block-tiles__more-link {
	color: var(--c-red);
	font-family: var(--font-family);
	font-weight: 400;
	font-size: var(--fs-14);
	text-decoration: none;
}

.block-tiles__more-link:hover,
.block-tiles__more-link:focus-visible {
	text-decoration: underline;
}

/* —— program_list: название + длительность + описание —— */

.block-programs {
	padding: var(--fs-40) 0;
}

.block-programs__group + .block-programs__group {
	margin-top: var(--sp-48);
}

.block-programs__cat {
	margin: var(--sp-0) 0 var(--sp-24);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-125);
	color: var(--c-black);
	text-transform: uppercase;
}

.block-programs__card {
	height: 100%;
	padding: var(--fs-24);
	border: var(--border-2) solid var(--c-border-program);
	border-radius: var(--r-md);
	background-color: var(--c-white);
}

.block-programs__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-22);
	line-height: var(--lh-130);
	color: var(--c-black);
}

.block-programs__duration {
	margin: var(--fs-12) 0 0;
	font-family: var(--font-family);
	font-weight: 400;
	font-size: var(--fs-20);
	line-height: var(--lh-130);
	color: var(--c-black);
}

.block-programs__text {
	margin-top: var(--fs-12);
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-150);
	color: var(--c-black);
}

@media screen and (min-width: 961px) {
	.block-programs__cat {
		font-size: var(--fs-36);
	}

	.block-programs__title {
		font-size: var(--fs-30);
	}
}

/* program photo tiles (live T396) — scoped, do not touch .block-feature direction tiles */
.block-programs__card--photo {
	position: relative;
	padding: 0;
	border: 0;
	overflow: hidden;
	min-height: 320px;
	aspect-ratio: 3 / 4;
	background-color: var(--c-black);
}
.block-programs__media,
.block-programs__media picture,
.block-programs__image {
	display: block;
	width: 100%;
	height: 100%;
}
.block-programs__card--photo .block-programs__image {
	object-fit: cover;
	position: absolute;
	inset: 0;
}
.block-programs__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: var(--fs-16) var(--fs-20) var(--fs-20);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.78) 45%, rgba(0, 0, 0, 0.92) 100%);
}
.block-programs__card--photo .block-programs__title,
.block-programs__card--photo .block-programs__duration,
.block-programs__card--photo .block-programs__text {
	color: var(--c-white);
}
.block-programs__card--photo .block-programs__duration {
	margin: 0 0 var(--fs-8);
	font-size: var(--fs-14);
}

/* /gruppovye-programmy/ — фото-плитки T396 + T607 */
body.direction-gruppovye-programmy .block-programs {
	padding: 0 0 45px;
}

body.direction-gruppovye-programmy .block-programs__group + .block-programs__group {
	margin-top: 0;
}

body.direction-gruppovye-programmy .block-programs__cat {
	margin: 0;
	min-height: 0;
	padding: 30px 0 20px;
	font-weight: 500;
	font-size: var(--fs-28);
	line-height: 1.2;
	box-sizing: border-box;
}

body.direction-gruppovye-programmy .block-anchors--pills {
	min-height: 0;
	padding: 41px 0 30px;
	box-sizing: border-box;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: auto;
	height: 320px;
	max-height: none;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
	transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo:hover,
body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo:focus-within {
	transform: scale(1.04);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__overlay {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	top: 0;
	padding: 14px 16px 16px;
	background: transparent;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__overlay-bottom {
	margin-top: auto;
	padding-top: 12px;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M12 10v4l2.5 1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M10 3h4'/%3E%3C/svg%3E");
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
	text-transform: uppercase;
}

body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
	display: block;
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 400;
}

body.direction-gruppovye-programmy #program-cat-silovye .block-programs__card--photo {
	height: 335px;
}

body.direction-gruppovye-programmy #program-cat-aerobnye .block-programs__card--photo {
	height: 310px;
}

body.direction-gruppovye-programmy #program-cat-smeshannye .block-programs__card--photo {
	height: 490px;
}

body.direction-gruppovye-programmy #program-cat-ozdorovitelnye .block-programs__card--photo {
	height: 265px;
}

body.direction-gruppovye-programmy #program-cat-tancevalnye .block-programs__card--photo {
	height: 490px;
}

body.direction-gruppovye-programmy #program-cat-vodnye .block-programs__card--photo {
	height: 315px;
}

body.direction-gruppovye-programmy #program-cat-detskie .block-programs__card--photo {
	height: 470px;
}

@media screen and (max-width: 640px) {
	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-silovye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-aerobnye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-smeshannye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-ozdorovitelnye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-tancevalnye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-vodnye .block-programs__card--photo,
	body.direction-gruppovye-programmy #program-cat-detskie .block-programs__card--photo,
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo {
		height: auto;
		min-height: 300px;
		max-height: none;
		aspect-ratio: 4 / 5;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__overlay,
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__overlay {
		padding: 12px 14px 14px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__title,
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 16px;
		line-height: 1.2;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__text,
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		display: -webkit-box;
		overflow: hidden;
		font-size: 11px;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 5;
	}

	body.direction-bassejn-v-krasnodare .block-programs__card--photo {
		height: auto;
		min-height: 250px;
		max-height: none;
		aspect-ratio: 4 / 3;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__overlay {
		padding: 12px 14px 14px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__title {
		font-size: 16px;
		line-height: 1.2;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__text {
		display: -webkit-box;
		overflow: hidden;
		font-size: 11px;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}
}

body.direction-gruppovye-programmy #seo-overview,
body.direction-gruppovye-programmy .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-gruppovye-programmy #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-gruppovye-programmy #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-gruppovye-programmy #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-gruppovye-programmy #seo-overview + #hours-contacts,
body.direction-gruppovye-programmy #seo-overview + .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-gruppovye-programmy #hours-contacts,
body.direction-gruppovye-programmy .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-gruppovye-programmy #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-gruppovye-programmy #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-gruppovye-programmy #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-gruppovye-programmy #hours-contacts + .block-anchors--pills {
	padding-top: 28px;
}

body.direction-gruppovye-programmy .block-section-title:has(+ .block-schedule) {
	padding: 30px 0 20px;
	box-sizing: border-box;
}

body.direction-gruppovye-programmy .block-schedule--wide {
	padding: 0 0 20px;
}

body.direction-gruppovye-programmy #cta-cards.block-cta--t678 {
	padding: 48px 0 56px;
}

body.direction-gruppovye-programmy #cta-cards.block-cta--t678 .block-cta__text {
	margin-bottom: 32px;
}

@media screen and (max-width: 960px) {
	body.direction-gruppovye-programmy #seo-overview,
	body.direction-gruppovye-programmy .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-gruppovye-programmy #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-gruppovye-programmy #seo-overview + #hours-contacts,
	body.direction-gruppovye-programmy #seo-overview + .block-rich-text#hours-contacts,
	body.direction-gruppovye-programmy #hours-contacts,
	body.direction-gruppovye-programmy .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-gruppovye-programmy #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}

	body.direction-gruppovye-programmy #cta-cards.block-cta--t678 {
		padding: 36px 0 44px;
	}
}

@media screen and (min-width: 641px) {
	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 20px;
	}
}

@media screen and (min-width: 961px) {
	body.direction-gruppovye-programmy .block-programs__cat {
		font-size: 42px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__overlay {
		padding: 18px 20px 20px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
		font-size: 18px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 22px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 13px;
	}
}

@media screen and (min-width: 900px) {
	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 24px;
	}

	body.direction-gruppovye-programmy .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 14px;
	}
}

/* direction program tiles: фиксированная высота как live T396 (~520px artboard) */
body.direction-akuly .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: 16 / 10;
	max-height: 520px;
}

body.direction-akuly .block-programs__grid:has(> .block-programs__item:only-child) {
	grid-template-columns: minmax(0, 560px);
	justify-content: center;
}

body.direction-akuly .block-programs__item:only-child {
	width: 100%;
}

/* /pilates/ — catalog_tile T396 (311×380) */
body.direction-pilates .block-programs--catalog-tile .block-programs__grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: auto;
	height: 320px;
	max-height: none;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 2px 0 20px 5px rgba(0, 0, 0, 0.3);
	transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo:hover,
body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo:focus-within {
	transform: scale(1.04);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.direction-pilates .block-programs--catalog-tile .block-programs__overlay {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	top: 0;
	padding: 14px 16px 16px;
	background: transparent;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__overlay-bottom {
	margin-top: auto;
	padding-top: 12px;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	text-transform: none;
	letter-spacing: 0;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M12 10v4l2.5 1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M10 3h4'/%3E%3C/svg%3E");
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
	display: block;
	margin: 0;
	font-size: 10px;
	line-height: 1.55;
	font-weight: 400;
}

@media screen and (min-width: 641px) {
	body.direction-pilates .block-programs--catalog-tile .block-programs__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo {
		height: 380px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 30px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 12px;
	}
}

@media screen and (min-width: 961px) {
	body.direction-pilates .block-programs--catalog-tile .block-programs__overlay {
		padding: 18px 20px 20px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
		font-size: 20px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 40px;
	}

	body.direction-pilates .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 13px;
	}
}

/* /kids/ — catalog_tile как полки /gruppovye-programmy/ */
body.direction-kids .block-programs--catalog-tile .block-programs__grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: auto;
	height: 280px;
	max-height: none;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
	transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo:hover,
body.direction-kids .block-programs--catalog-tile .block-programs__card--photo:focus-within {
	transform: scale(1.04);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.direction-kids .block-programs--catalog-tile .block-programs__overlay {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	top: 0;
	padding: 14px 16px 16px;
	background: transparent;
}

body.direction-kids .block-programs--catalog-tile .block-programs__overlay-bottom {
	margin-top: auto;
	padding-top: 8px;
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M12 10v4l2.5 1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M10 3h4'/%3E%3C/svg%3E");
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
	text-transform: uppercase;
}

body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
	display: block;
	margin: 0;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 400;
}

@media screen and (min-width: 641px) {
	body.direction-kids .block-programs--catalog-tile .block-programs__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	body.direction-kids .block-programs--catalog-tile .block-programs__card--photo {
		height: 265px;
	}
}

@media screen and (min-width: 961px) {
	body.direction-kids .block-programs--catalog-tile .block-programs__overlay {
		padding: 18px 20px 20px;
	}

	body.direction-kids .block-programs--catalog-tile .block-programs__card--photo {
		height: 265px;
	}

	body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
		font-size: 18px;
	}

	body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 22px;
	}

	body.direction-kids .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 13px;
	}
}

/* /cycle-studiya/ — 3 плитки T396 (311×380), как gruppovye catalog_tile */
body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: auto;
	height: 291px;
	max-height: none;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
	transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo:hover,
body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo:focus-within {
	transform: scale(1.04);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__overlay {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	top: 0;
	padding: 14px 16px 16px;
	background: transparent;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__overlay-bottom {
	margin-top: auto;
	padding-top: 12px;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M12 10v4l2.5 1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M10 3h4'/%3E%3C/svg%3E");
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
	text-transform: uppercase;
}

body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
	display: block;
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 400;
}

@media screen and (min-width: 641px) {
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo {
		height: 380px;
	}
}

@media screen and (min-width: 961px) {
	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__overlay {
		padding: 18px 20px 20px;
	}

	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__duration {
		font-size: 18px;
	}

	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__title {
		font-size: 22px;
	}

	body.direction-cycle-studiya .block-programs--catalog-tile .block-programs__card--photo .block-programs__text {
		font-size: 13px;
	}
}

body.direction-bassejn-v-krasnodare .block-programs__card--photo {
	min-height: 0;
	aspect-ratio: auto;
	height: 236px;
	max-height: 236px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
	transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
}

body.direction-bassejn-v-krasnodare .block-programs__card--photo:hover,
body.direction-bassejn-v-krasnodare .block-programs__card--photo:focus-within {
	transform: scale(1.04);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.direction-bassejn-v-krasnodare .block-programs {
	padding: 15px 0 45px;
}

body.direction-bassejn-v-krasnodare .block-programs__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px 12px;
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__overlay {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	top: 0;
	padding: 14px 16px 16px;
	background: transparent;
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__overlay-bottom {
	margin-top: auto;
	padding-top: 12px;
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__duration {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__duration::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M12 10v4l2.5 1.5'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' d='M10 3h4'/%3E%3C/svg%3E");
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
	text-transform: uppercase;
}

body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__text {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 400;
}

@media screen and (min-width: 641px) and (max-width: 960px) {
	body.direction-bassejn-v-krasnodare .block-programs__card--photo {
		height: 291px;
		max-height: 291px;
	}
}

@media screen and (min-width: 961px) {
	body.direction-bassejn-v-krasnodare .block-programs__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 50px 20px;
	}

	body.direction-bassejn-v-krasnodare .block-programs__card--photo {
		height: 380px;
		max-height: 380px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__overlay {
		padding: 18px 20px 20px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__duration {
		font-size: 20px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__duration::before {
		width: 28px;
		height: 28px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__title {
		font-size: 22px;
	}

	body.direction-bassejn-v-krasnodare .block-programs .block-programs__card--photo .block-programs__text {
		font-size: 13px;
		line-height: 1.45;
	}
}

body.direction-bassejn-v-krasnodare .block-media {
	padding: 60px 0 45px;
	box-sizing: border-box;
}

body.direction-bassejn-v-krasnodare .block-media__head {
	margin-bottom: 40px;
}

body.direction-bassejn-v-krasnodare .block-media--t1148 .block-media__desc {
	max-width: 560px;
	margin-bottom: 0;
}

body.direction-bassejn-v-krasnodare .block-media--t1148 .block-media__desc strong,
body.direction-bassejn-v-krasnodare .block-media--t1148 .block-media__desc b {
	font-weight: var(--fw-bold);
}

body.direction-bassejn-v-krasnodare .block-media--t1148 .block-media__rail {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0;
	padding-right: 0;
}

@media screen and (min-width: 900px) {
	body.direction-bassejn-v-krasnodare .block-media--t1148 .block-media__image {
		height: 500px;
	}
}

body.direction-bassejn-v-krasnodare .block-trainers {
	padding: 30px 0 45px;
}

body.direction-bassejn-v-krasnodare .block-trainers__card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.direction-bassejn-v-krasnodare .block-trainers__tags {
	min-height: 2.6em;
}

body.direction-bassejn-v-krasnodare .block-trainers__more {
	margin-top: auto;
	align-self: flex-start;
}

body.direction-personalnyy-trening .block-trainers {
	padding: 15px 0 60px;
}

body.direction-personalnyy-trening .block-trainers .block-trainers__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	overflow: visible;
	scroll-snap-type: none;
	align-items: stretch;
	padding-bottom: 0;
}

body.direction-personalnyy-trening .block-trainers__item {
	min-width: 0;
}

body.direction-personalnyy-trening .block-trainers__card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.direction-personalnyy-trening .block-trainers__card picture,
body.direction-personalnyy-trening .block-trainers__image,
body.direction-personalnyy-trening .block-trainers__card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 0.7;
	max-height: none;
	object-fit: cover;
	object-position: top center;
}

body.direction-personalnyy-trening .block-trainers__load {
	border: 0;
	border-radius: 999px;
	padding: 10px 22px;
	background: var(--c-red);
	color: var(--c-white);
	font-family: var(--font-family);
	font-size: var(--fs-14);
	font-weight: var(--fw-bold);
	cursor: pointer;
}

@media screen and (min-width: 961px) {
	body.direction-personalnyy-trening .block-trainers .block-trainers__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}
}

body.direction-bassejn-v-krasnodare .block-cta--cover,
body.direction-bassejn-v-krasnodare .block-cta--cover .block-cta__inner {
	min-height: 100vh;
}

body.direction-bassejn-v-krasnodare .block-cta--cover .block-cta__overlay {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
}

body.direction-bassejn-v-krasnodare .block-cta--t678,
body.direction-bassejn-v-krasnodare #cta-bassejn.block-cta--t678 {
	padding: 88px 0 108px;
}

body.direction-bassejn-v-krasnodare .block-cta--t678 .block-cta__text {
	margin-bottom: 88px;
}

body.direction-personalnyy-trening #cta-personal.block-cta--cover,
body.direction-personalnyy-trening #cta-personal.block-cta--cover .block-cta__inner {
	min-height: 100vh;
}

body.direction-personalnyy-trening #cta-personal.block-cta--cover .block-cta__overlay {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
}

body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover,
body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover .block-cta__inner {
	min-height: 100vh;
}

body.direction-funkcionalnyy-trening #cta-functional.block-cta--cover .block-cta__overlay {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
}

body.direction-funkcionalnyy-trening #hours-contacts,
body.direction-funkcionalnyy-trening .block-rich-text#hours-contacts {
	padding: 45px 0 40px;
}

body.direction-funkcionalnyy-trening .block-hero + #hours-contacts,
body.direction-funkcionalnyy-trening .block-hero + .block-rich-text#hours-contacts {
	padding-top: 45px;
}

body.direction-funkcionalnyy-trening #hours-contacts + .block-split {
	padding-top: 15px;
}

body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 28px;
	font-size: var(--fs-32);
}

body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-personalnyy-trening .block-trainers__more {
	margin-top: auto;
	align-self: flex-start;
}

/* /bassejn-v-krasnodare/ — mobile: pool tiles 2-col */
@media screen and (max-width: 640px) {
	body.direction-bassejn-v-krasnodare .block-programs__grid {
		gap: 30px 12px;
	}

	body.direction-bassejn-v-krasnodare .block-programs {
		padding: 24px 0 32px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview {
		padding: 48px 0 28px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 32px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview ul > li {
		margin-bottom: 16px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview .seo-overview__cta {
		margin-top: 20px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview + #hours-contacts {
		padding: 36px 0 56px;
	}

	body.direction-bassejn-v-krasnodare #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}

	body.direction-bassejn-v-krasnodare .block-media {
		padding: 45px 0 60px;
	}

	body.direction-bassejn-v-krasnodare .block-cta--t678,
	body.direction-bassejn-v-krasnodare #cta-bassejn.block-cta--t678 {
		padding: 72px 0 80px;
	}

	body.direction-bassejn-v-krasnodare .block-cta--t678 .block-cta__text {
		margin-bottom: 56px;
	}
}

@media screen and (min-width: 641px) {
	body.direction-bassejn-v-krasnodare #seo-overview {
		padding: 60px 0 32px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 40px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview ul > li {
		margin-bottom: 18px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview .seo-overview__cta {
		margin-top: 28px;
	}

	body.direction-bassejn-v-krasnodare #seo-overview + #hours-contacts {
		padding: 44px 0 72px;
	}

	body.direction-bassejn-v-krasnodare #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 28px;
		font-size: var(--fs-32);
	}

	body.direction-bassejn-v-krasnodare .block-cta--t678,
	body.direction-bassejn-v-krasnodare #cta-bassejn.block-cta--t678 {
		padding: 96px 0 116px;
	}

	body.direction-bassejn-v-krasnodare .block-cta--t678 .block-cta__text {
		margin-bottom: 96px;
	}
}

body.direction-pilates .block-programs {
	padding: 0 0 72px;
}

body.direction-cycle-studiya .block-programs,
body.direction-bassejn-v-krasnodare .block-programs,
body.direction-akuly .block-programs {
	padding: 30px 0 45px;
}

/* /akuly/ — t510 + t572 (live rec2723664701, rec2496223001) */
body.direction-akuly #seo-overview,
body.direction-akuly .block-rich-text#seo-overview {
	padding: 48px 0 0;
}

body.direction-akuly #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-akuly #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-akuly #seo-overview .seo-overview__cta {
	margin: 18px auto 0;
}

body.direction-akuly #seo-overview + #hours-contacts,
body.direction-akuly #seo-overview + .block-rich-text#hours-contacts {
	padding: 20px 0 24px;
}

body.direction-akuly #hours-contacts,
body.direction-akuly .block-rich-text#hours-contacts {
	padding: 24px 0 24px;
}

body.direction-akuly #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-akuly #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-akuly #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-akuly #hours-contacts + .block-split {
	padding-top: 0;
}

@media screen and (max-width: 960px) {
	body.direction-akuly #seo-overview,
	body.direction-akuly .block-rich-text#seo-overview {
		padding: 36px 0 0;
	}

	body.direction-akuly #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-akuly #seo-overview + #hours-contacts,
	body.direction-akuly #seo-overview + .block-rich-text#hours-contacts {
		padding: 16px 0 20px;
	}

	body.direction-akuly #hours-contacts,
	body.direction-akuly .block-rich-text#hours-contacts {
		padding: 20px 0 20px;
	}

	body.direction-akuly #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /akuly/ — t490 rec2143612611 */
body.direction-akuly .block-benefit {
	padding: 30px 0 60px;
}

body.direction-akuly .block-benefit__item {
	text-align: center;
}

body.direction-akuly .block-benefit__image {
	width: 55px;
	height: auto;
	margin: 0 auto 25px;
}

body.direction-akuly .block-benefit__title {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
}

/* /pilates/, /funkcionalnyy-trening/ — t510 + t572 под hero */
body.direction-pilates #seo-overview,
body.direction-pilates .block-rich-text#seo-overview,
body.direction-funkcionalnyy-trening #seo-overview,
body.direction-funkcionalnyy-trening .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-pilates #seo-overview .block-rich-text__content > p:first-child,
body.direction-funkcionalnyy-trening #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-pilates #seo-overview ul > li,
body.direction-funkcionalnyy-trening #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-pilates #seo-overview + #hours-contacts,
body.direction-pilates #seo-overview + .block-rich-text#hours-contacts,
body.direction-pilates #hours-contacts,
body.direction-pilates .block-rich-text#hours-contacts,
body.direction-funkcionalnyy-trening #seo-overview + #hours-contacts,
body.direction-funkcionalnyy-trening #seo-overview + .block-rich-text#hours-contacts,
body.direction-funkcionalnyy-trening #hours-contacts,
body.direction-funkcionalnyy-trening .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-pilates #hours-contacts .block-rich-text__content > h2:first-child,
body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-pilates #hours-contacts .block-rich-text__content > p,
body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-pilates #hours-contacts .block-rich-text__content > p:last-child,
body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-funkcionalnyy-trening #hours-contacts + .block-split {
	padding-top: 30px;
}

body.direction-pilates #hours-contacts + .block-section-title {
	padding-top: 30px;
}

@media screen and (max-width: 960px) {
	body.direction-pilates #seo-overview,
	body.direction-pilates .block-rich-text#seo-overview,
	body.direction-funkcionalnyy-trening #seo-overview,
	body.direction-funkcionalnyy-trening .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-pilates #seo-overview .block-rich-text__content > p:first-child,
	body.direction-funkcionalnyy-trening #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-pilates #seo-overview + #hours-contacts,
	body.direction-pilates #seo-overview + .block-rich-text#hours-contacts,
	body.direction-pilates #hours-contacts,
	body.direction-pilates .block-rich-text#hours-contacts,
	body.direction-funkcionalnyy-trening #seo-overview + #hours-contacts,
	body.direction-funkcionalnyy-trening #seo-overview + .block-rich-text#hours-contacts,
	body.direction-funkcionalnyy-trening #hours-contacts,
	body.direction-funkcionalnyy-trening .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-pilates #hours-contacts .block-rich-text__content > h2:first-child,
	body.direction-funkcionalnyy-trening #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /kids/ — t510 + t572 под hero (как /akuly/) */
body.direction-kids #seo-overview,
body.direction-kids .block-rich-text#seo-overview {
	padding: 48px 0 0;
}

body.direction-kids #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-kids #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-kids #seo-overview .seo-overview__cta {
	margin: 18px auto 0;
}

body.direction-kids #seo-overview + #hours-contacts,
body.direction-kids #seo-overview + .block-rich-text#hours-contacts {
	padding: 20px 0 24px;
}

body.direction-kids #hours-contacts,
body.direction-kids .block-rich-text#hours-contacts {
	padding: 24px 0 24px;
}

body.direction-kids #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-kids #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-kids #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-kids #hours-contacts + .block-section-title {
	padding-top: 30px;
}

@media screen and (max-width: 960px) {
	body.direction-kids #seo-overview,
	body.direction-kids .block-rich-text#seo-overview {
		padding: 36px 0 0;
	}

	body.direction-kids #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-kids #seo-overview + #hours-contacts,
	body.direction-kids #seo-overview + .block-rich-text#hours-contacts {
		padding: 16px 0 20px;
	}

	body.direction-kids #hours-contacts,
	body.direction-kids .block-rich-text#hours-contacts {
		padding: 20px 0 20px;
	}

	body.direction-kids #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

body.direction-pilates .block-section-title:has(+ .block-programs) {
	padding: 30px 0 15px;
	box-sizing: border-box;
}

body.direction-pilates .block-section-title:has(+ .block-programs) .block-section-title__title {
	text-transform: uppercase;
}

@media screen and (min-width: 900px) {
	body.direction-pilates .block-section-title:has(+ .block-programs) .block-section-title__title {
		font-size: 42px;
	}
}

body.direction-cycle-studiya .block-section-title {
	padding: 30px 0 20px;
	box-sizing: border-box;
}

body.direction-kids .block-section-title:has(+ .block-programs) {
	padding: 30px 0 15px;
	box-sizing: border-box;
}

body.direction-kids .block-section-title:has(+ .block-schedule),
body.direction-kids .block-section-title:has(+ .block-cta) {
	padding: 30px 0 20px;
	box-sizing: border-box;
}

@media screen and (min-width: 900px) {
	body.direction-kids .block-section-title:has(+ .block-programs) .block-section-title__title {
		font-size: 42px;
	}
}

body.direction-kids .block-programs {
	padding: 0 0 60px;
}

body.direction-kids .block-schedule--wide {
	padding: 0;
}

/* /cycle-studiya/ — t510 + t572 (live rec2723386501, rec2496207651) */
body.direction-cycle-studiya #seo-overview,
body.direction-cycle-studiya .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-cycle-studiya #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-cycle-studiya #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-cycle-studiya #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-cycle-studiya #seo-overview + #hours-contacts,
body.direction-cycle-studiya #seo-overview + .block-rich-text#hours-contacts,
body.direction-cycle-studiya #hours-contacts,
body.direction-cycle-studiya .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-cycle-studiya #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-cycle-studiya #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-cycle-studiya #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-cycle-studiya #hours-contacts + .block-media--t1148 {
	padding-top: 30px;
}

@media screen and (max-width: 960px) {
	body.direction-cycle-studiya #seo-overview,
	body.direction-cycle-studiya .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-cycle-studiya #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-cycle-studiya #seo-overview + #hours-contacts,
	body.direction-cycle-studiya #seo-overview + .block-rich-text#hours-contacts,
	body.direction-cycle-studiya #hours-contacts,
	body.direction-cycle-studiya .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-cycle-studiya #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

body.direction-cycle-studiya .block-media--t1148 {
	padding: 60px 0;
	box-sizing: border-box;
}

body.direction-cycle-studiya .block-media--t1148 .block-media__desc {
	max-width: 800px;
}

/* /zona-edinoborstv/ — t510 + t572 (как cycle-studiya) */
body.direction-zona-edinoborstv #seo-overview,
body.direction-zona-edinoborstv .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-zona-edinoborstv #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-zona-edinoborstv #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-zona-edinoborstv #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-zona-edinoborstv #seo-overview + #hours-contacts,
body.direction-zona-edinoborstv #seo-overview + .block-rich-text#hours-contacts,
body.direction-zona-edinoborstv #hours-contacts,
body.direction-zona-edinoborstv .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-zona-edinoborstv #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-zona-edinoborstv #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-zona-edinoborstv #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 960px) {
	body.direction-zona-edinoborstv #seo-overview,
	body.direction-zona-edinoborstv .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-zona-edinoborstv #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-zona-edinoborstv #seo-overview + #hours-contacts,
	body.direction-zona-edinoborstv #seo-overview + .block-rich-text#hours-contacts,
	body.direction-zona-edinoborstv #hours-contacts,
	body.direction-zona-edinoborstv .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-zona-edinoborstv #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

body.direction-zona-edinoborstv .block-media--t1148 {
	padding: 60px 0;
	box-sizing: border-box;
}

body.direction-zona-edinoborstv .block-media--t1148 .block-media__desc {
	max-width: 800px;
}

body.direction-zona-edinoborstv #cta-martial.block-cta--cover,
body.direction-zona-edinoborstv #cta-martial.block-cta--cover .block-cta__inner {
	min-height: 100vh;
}

body.direction-zona-edinoborstv #cta-martial.block-cta--cover .block-cta__overlay {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
}

/* /bannyy-kompleks/ — t510 + t572 (live) */
body.direction-bannyy-kompleks #seo-overview,
body.direction-bannyy-kompleks .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-bannyy-kompleks #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-bannyy-kompleks #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-bannyy-kompleks #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-bannyy-kompleks #seo-overview + #hours-contacts,
body.direction-bannyy-kompleks #seo-overview + .block-rich-text#hours-contacts,
body.direction-bannyy-kompleks #hours-contacts,
body.direction-bannyy-kompleks .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-bannyy-kompleks #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-bannyy-kompleks #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-bannyy-kompleks #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 960px) {
	body.direction-bannyy-kompleks #seo-overview,
	body.direction-bannyy-kompleks .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-bannyy-kompleks #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-bannyy-kompleks #seo-overview + #hours-contacts,
	body.direction-bannyy-kompleks #seo-overview + .block-rich-text#hours-contacts,
	body.direction-bannyy-kompleks #hours-contacts,
	body.direction-bannyy-kompleks .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-bannyy-kompleks #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /bannyy-kompleks/ — t050 + t490 (live rec922795168, rec922796725) */
body.direction-bannyy-kompleks .block-section-title:has(+ .block-benefit) .block-section-title__title {
	text-transform: uppercase;
}

body.direction-bannyy-kompleks .block-benefit {
	padding: 15px 0 60px;
}

/* /massazhnyy-kabinet/ — t510 + t572 (live rec2723317001, rec2496210871) */
body.direction-massazhnyy-kabinet #seo-overview,
body.direction-massazhnyy-kabinet .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-massazhnyy-kabinet #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-massazhnyy-kabinet #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-massazhnyy-kabinet #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-massazhnyy-kabinet #seo-overview + #hours-contacts,
body.direction-massazhnyy-kabinet #seo-overview + .block-rich-text#hours-contacts,
body.direction-massazhnyy-kabinet #hours-contacts,
body.direction-massazhnyy-kabinet .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-massazhnyy-kabinet #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-massazhnyy-kabinet #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-massazhnyy-kabinet #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 960px) {
	body.direction-massazhnyy-kabinet #seo-overview,
	body.direction-massazhnyy-kabinet .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-massazhnyy-kabinet #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-massazhnyy-kabinet #seo-overview + #hours-contacts,
	body.direction-massazhnyy-kabinet #seo-overview + .block-rich-text#hours-contacts,
	body.direction-massazhnyy-kabinet #hours-contacts,
	body.direction-massazhnyy-kabinet .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-massazhnyy-kabinet #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /massazhnyy-kabinet/ — t050 + t490 «ПОЛЬЗА» (live rec924845636, rec924870356) */
body.direction-massazhnyy-kabinet .block-section-title:has(+ .block-benefit) .block-section-title__title {
	text-transform: uppercase;
}

body.direction-massazhnyy-kabinet .block-benefit {
	padding: 15px 0 60px;
}

body.direction-funkcionalnyy-trening .block-split {
	padding: 30px 0 45px;
	height: auto;
	max-height: none;
	overflow: visible;
	box-sizing: border-box;
}

body.direction-funkcionalnyy-trening .block-hero__btn {
	max-width: 420px;
	white-space: normal;
	text-align: center;
	line-height: 1.25;
}

body.direction-personalnyy-trening .block-section-title:first-of-type {
	padding: 60px 0 15px;
	box-sizing: border-box;
}

body.direction-personalnyy-trening .block-tabbed-media {
	padding: 15px 0 60px;
}

body.direction-personalnyy-trening .block-tabbed-media__head {
	padding-top: 45px;
}

/* /igrovaya-zona/ — t510 + t572 (live rec2723524301, rec2496208931) */
body.direction-igrovaya-zona #seo-overview,
body.direction-igrovaya-zona .block-rich-text#seo-overview {
	padding: 48px 0 24px;
}

body.direction-igrovaya-zona #seo-overview .block-rich-text__content > p:first-child {
	margin-bottom: 32px;
}

body.direction-igrovaya-zona #seo-overview ul > li {
	margin-bottom: 14px;
}

body.direction-igrovaya-zona #seo-overview .seo-overview__cta {
	margin-top: 18px;
}

body.direction-igrovaya-zona #seo-overview + #hours-contacts,
body.direction-igrovaya-zona #seo-overview + .block-rich-text#hours-contacts,
body.direction-igrovaya-zona #hours-contacts,
body.direction-igrovaya-zona .block-rich-text#hours-contacts {
	padding: 24px 0 40px;
}

body.direction-igrovaya-zona #hours-contacts .block-rich-text__content > h2:first-child {
	margin-bottom: 24px;
	font-size: var(--fs-32);
}

body.direction-igrovaya-zona #hours-contacts .block-rich-text__content > p {
	margin-bottom: 10px;
	line-height: 1.5;
}

body.direction-igrovaya-zona #hours-contacts .block-rich-text__content > p:last-child {
	margin-bottom: 0;
}

body.direction-igrovaya-zona #hours-contacts + .block-media--t1148 {
	padding-top: 30px;
}

@media screen and (max-width: 960px) {
	body.direction-igrovaya-zona #seo-overview,
	body.direction-igrovaya-zona .block-rich-text#seo-overview {
		padding: 36px 0 20px;
	}

	body.direction-igrovaya-zona #seo-overview .block-rich-text__content > p:first-child {
		margin-bottom: 24px;
	}

	body.direction-igrovaya-zona #seo-overview + #hours-contacts,
	body.direction-igrovaya-zona #seo-overview + .block-rich-text#hours-contacts,
	body.direction-igrovaya-zona #hours-contacts,
	body.direction-igrovaya-zona .block-rich-text#hours-contacts {
		padding: 20px 0 32px;
	}

	body.direction-igrovaya-zona #hours-contacts .block-rich-text__content > h2:first-child {
		margin-bottom: 20px;
	}
}

/* /igrovaya-zona/ — полоса табов ~140px как live t396, тренеры в ряд */
body.direction-igrovaya-zona .block-tabs--pills {
	padding: 28px 0 32px;
	min-height: 140px;
	box-sizing: border-box;
}

body.direction-igrovaya-zona .block-tabs--pills .block-tabs__list {
	justify-content: center;
	gap: 12px;
}

body.direction-igrovaya-zona .block-media--t1148 {
	padding: 0 0 60px;
	box-sizing: border-box;
}

body.direction-igrovaya-zona .block-media-gallery,
body.direction-igrovaya-zona .block-gallery {
	padding: 30px 0 45px;
}

body.direction-igrovaya-zona .block-trainers {
	padding: 30px 0 45px;
}

body.direction-igrovaya-zona .block-trainers .block-trainers__grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 8px;
}

body.direction-igrovaya-zona .block-trainers__item {
	flex: 0 0 280px;
	scroll-snap-align: start;
}

body.direction-igrovaya-zona .block-trainers__card picture,
body.direction-igrovaya-zona .block-trainers__image,
body.direction-igrovaya-zona .block-trainers__card img {
	height: 360px;
}

body.direction-igrovaya-zona .block-cta--t678 {
	padding: 75px 0 105px;
}

.seo-overview__cta {
	margin: var(--fs-24) 0 0;
}
.seo-overview__cta .site-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--r-pill);
}


/* —— trainer_list / speaker_grid: фото + должность + имя, попап —— */

.block-trainers,
.block-speakers {
	padding: var(--fs-40) 0;
}

.block-trainers__card,
.block-speakers__card {
	display: block;
	color: inherit;
	text-decoration: none;
}

a.block-trainers__card:hover .block-trainers__name,
a.block-trainers__card:focus-visible .block-trainers__name,
a.block-speakers__card:hover .block-speakers__name,
a.block-speakers__card:focus-visible .block-speakers__name {
	text-decoration: underline;
}

.block-trainers__image,
.block-speakers__image {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: var(--fs-12);
}

.block-trainers__name,
.block-speakers__name {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-16);
	line-height: var(--lh-130);
	color: var(--c-black);
}

.block-trainers__position,
.block-speakers__position {
	margin: var(--sp-4) 0 0;
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-13);
	line-height: var(--lh-tight);
	color: var(--c-black);
}

/* speaker_grid с фильтрами курсов (/shkola-trenerov/, t915 + parts) */
.block-speakers--filtered {
	padding: 15px 0 60px;
}

.block-speakers--filtered .block-speakers__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0 0 var(--sp-24);
	padding: 0;
	list-style: none;
}

.block-speakers--filtered .block-speakers__filter-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.block-speakers--filtered .block-speakers__filter {
	appearance: none;
	margin: 0;
	display: inline-block;
	padding: 6px 18px;
	border: 1px solid #c5252d;
	border-radius: 40px;
	background: transparent;
	color: #000;
	font-family: var(--font-family);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	cursor: pointer;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.block-speakers--filtered .block-speakers__filter.is-active,
.block-speakers--filtered .block-speakers__filter[aria-pressed="true"] {
	background: #c5252d;
	color: #fff;
}

/* t915: карточки спикеров — /shkola-trenerov/ (табы + «СПИКЕРЫ ПРОГРАММ») */
.block-speakers--t915 .block-speakers__grid {
	gap: 20px;
	align-items: stretch;
}

.block-speakers--t915 .block-speakers__item {
	display: flex;
}

.block-speakers--t915 .block-speakers__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 16px;
	border-radius: 8px;
	background: #f8ecce;
	color: inherit;
	text-decoration: none;
}

.block-speakers--t915 .block-speakers__media {
	display: block;
	flex: 0 0 auto;
	margin-bottom: var(--sp-12);
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 2 / 3;
}

.block-speakers--t915 .block-speakers__media picture,
.block-speakers--t915 .block-speakers__media img,
.block-speakers--t915 .block-speakers__photo-fallback {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.block-speakers--t915 .block-speakers__media picture {
	height: 100%;
}

.block-speakers--t915 .block-speakers__media .block-speakers__image {
	margin-bottom: 0;
}

.block-speakers--t915 .block-speakers__name {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
}

.block-speakers--t915 .block-speakers__position {
	flex: 1 1 auto;
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.35;
}

.block-speakers--t915 .block-speakers__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	margin-top: auto;
	padding: 8px 18px;
	border-radius: 100px;
	background: #c5252d;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.block-speakers--t915 .block-speakers__more:hover,
.block-speakers--t915 .block-speakers__more:focus-visible {
	color: #fff;
	text-decoration: none;
	opacity: 0.92;
}

.block-speakers--t915 .block-speakers__item[hidden] {
	display: none !important;
}

.block-speakers__more-wrap {
	margin: var(--sp-32) 0 0;
	text-align: center;
}

.block-speakers__load {
	display: inline-block;
	padding: 12px 28px;
	border: 0;
	border-radius: var(--r-pill);
	background: var(--c-red);
	color: var(--c-white);
	font-family: var(--font-family);
	font-size: var(--fs-16);
	font-weight: 600;
	cursor: pointer;
}

.block-speakers__load:hover,
.block-speakers__load:focus-visible {
	opacity: 0.92;
}

/* —— pricing_cards (T772): фото, название, срок/цена, преимущества —— */

.block-pricing {
	padding: var(--fs-40) 0;
}

.block-pricing__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--c-white);
	border-radius: var(--r-card);
	box-shadow: var(--shadow-pricing);
	overflow: hidden;
}

.block-pricing__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	background: var(--c-placeholder-bg, #f3f3f3);
}

.block-pricing__body {
	padding: var(--sp-20) var(--sp-24) var(--sp-8);
}

.block-pricing__link {
	color: inherit;
	text-decoration: none;
}

.block-pricing__link:hover .block-pricing__title,
.block-pricing__link:focus-visible .block-pricing__title {
	text-decoration: underline;
}

.block-pricing__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-20);
	line-height: var(--lh-130);
	color: var(--c-black);
	text-transform: uppercase;
}

.block-pricing__meta {
	margin: var(--sp-8) 0 0;
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-16);
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-pricing__benefits {
	margin: var(--fs-12) 0 0;
	padding-left: 1.2em;
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
	color: var(--c-black);
}

.block-pricing__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-10);
	margin-top: auto;
	padding: var(--fs-16) var(--fs-24) var(--fs-24);
}

.block-pricing__more,
.block-pricing__book {
	display: inline-block;
	padding: var(--fs-10) var(--fs-20);
	border-radius: var(--r-pill);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-14);
	line-height: var(--lh-120);
	text-decoration: none;
}

.block-pricing__more {
	color: var(--c-white);
	background-color: var(--c-red);
}

.block-pricing__book {
	color: var(--c-black);
	border: var(--border-3) solid var(--c-yellow);
}

.block-pricing__more:hover,
.block-pricing__more:focus-visible,
.block-pricing__book:hover,
.block-pricing__book:focus-visible {
	opacity: 0.88;
}

/* —— service_tiles (t939): фото-плитки, градиент, название снизу —— */

.block-services {
	padding: var(--sp-15) 0 var(--sp-60);
}

.block-services__grid {
	display: flex;
	flex-wrap: wrap;
	margin: var(--sp-0) calc(-1 * var(--sp-8));
	padding: var(--sp-0);
	list-style: none;
}

.block-services__item {
	box-sizing: border-box;
	width: 25%;
	padding: var(--sp-8);
}

.block-services__item--half {
	width: 50%;
}

/* Homepage services (visual58): 8px gutters (was --fs-10=10px pad → 20px gap).
   Desktop 4-col grid, half spans 2, dense auto-flow. Last leftover tile is not
   stretched to 100% — padding-bottom:50% would make it a huge banner. 3-col
   still leaves 10%3=1. Safe last-row fill needs Tilda-style wrap HTML. */
@media screen and (min-width: 961px) {
	.block-services__grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-auto-flow: dense;
	}

	.block-services__item {
		width: auto;
	}

	.block-services__item--half {
		width: auto;
		grid-column: span 2;
	}
}

.block-services__card {
	position: relative;
	display: block;
	overflow: hidden;
	height: 0;
	padding-bottom: 50%;
	color: var(--c-white);
	text-decoration: none;
}

.block-services__item--square .block-services__card {
	padding-bottom: 100%;
}

.block-services__card picture,
.block-services__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.block-services__image {
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

.block-services__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: var(--gradient-service-tile);
	pointer-events: none;
}

.block-services__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--fs-30);
}

.block-services__title {
	margin: var(--sp-0);
	font-family: var(--font-family);
	font-weight: 400;
	font-size: var(--fs-20);
	line-height: var(--lh-tight);
	color: var(--c-white);
}

.block-services__card:hover .block-services__image,
.block-services__card:focus-visible .block-services__image {
	transform: scale(1.05);
}

.block-services__card:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
}

@media screen and (max-width: 960px) {
	.block-services__item,
	.block-services__item--half {
		width: 50%;
	}
}

@media screen and (max-width: 640px) {
	.block-services__item,
	.block-services__item--half {
		width: 100%;
	}

	.block-services__card,
	.block-services__item--square .block-services__card {
		padding-bottom: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.block-services__image {
		transition: none;
	}

	.block-services__card:hover .block-services__image,
	.block-services__card:focus-visible .block-services__image {
		transform: none;
	}
}

/* —— promo_block (t700): беж, фото 8/12, текст и слот формы 4/12 —— */

.block-promo {
	padding: var(--sp-75) 0 var(--sp-45);
	background: var(--c-cream);
}

.block-promo__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--gap-promo);
}

.block-promo__media {
	flex: 1 1 46%;
	max-width: 560px;
	min-width: 0;
}

.block-promo__copy {
	flex: 1 1 42%;
	min-width: var(--size-promo-copy-min);
	background: transparent;
	padding: 0;
	border-radius: 0;
}

.block-promo__image {
	display: block;
	width: 100%;
	height: auto;
	margin: var(--sp-0) auto;
}

.block-promo__title {
	margin: var(--sp-0) 0 var(--sp-16);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-22);
	line-height: var(--lh-130);
	color: var(--c-black);
}

.block-promo__lead,
.block-promo__conditions {
	margin: 0 0 20px;
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: 16px;
	line-height: 1.55;
	color: var(--c-black);
}

.block-promo__conditions .t700__form-upper-text {
	margin: 0;
}

.block-promo__lead > *:first-child,
.block-promo__conditions > *:first-child {
	margin-top: var(--sp-0);
}

.block-promo__lead > *:last-child,
.block-promo__conditions > *:last-child {
	margin-bottom: var(--sp-0);
}

.block-promo__form-slot {
	min-height: var(--size-form-slot-min);
}

/* —— text_image (T480): 50/50, высота 60vh/100vh, фото radius 30 —— */

.block-split {
	padding: var(--fs-20) 0;
}

.block-split__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.block-split--image-right .block-split__media {
	order: 2;
}

.block-split--image-right .block-split__copy {
	order: 1;
}

.block-split__media,
.block-split__copy {
	box-sizing: border-box;
	width: 50%;
}

.block-split__media {
	padding-right: var(--sp-20);
}

.block-split--image-right .block-split__media {
	padding-right: var(--sp-0);
	padding-left: var(--sp-20);
}

.block-split__copy {
	display: flex;
	align-items: center;
	min-height: var(--split-height, 60vh);
	padding-left: var(--sp-20);
}

.block-split--image-right .block-split__copy {
	padding-left: var(--sp-0);
	padding-right: var(--sp-20);
}

.block-split__media picture,
.block-split__image {
	display: block;
	width: 100%;
	height: var(--split-height, 60vh);
	object-fit: cover;
	object-position: center;
	border-radius: var(--fs-30);
}

.block-split__title {
	margin: var(--sp-0) 0 var(--sp-12);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-123);
	color: var(--c-black);
}

.block-split__subtitle {
	max-width: var(--container-copy-max);
	margin: var(--sp-0) 0 var(--sp-16);
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-16);
	line-height: var(--lh-base);
	color: var(--c-black);
}

.block-split__line {
	width: var(--size-split-line);
	margin: var(--sp-0) 0 var(--sp-20);
	border: 0;
	border-top: var(--border-1) solid var(--c-black);
}

.block-split__text {
	font-family: var(--font-family);
	font-weight: var(--fw-normal);
	font-size: var(--fs-16);
	line-height: var(--lh-base);
	color: var(--c-black);
}

.block-split__text > *:first-child {
	margin-top: var(--sp-0);
}

.block-split__text > *:last-child {
	margin-bottom: var(--sp-0);
}

.block-split__text ul,
.block-split__text ol {
	margin: var(--sp-0) 0 1em;
	padding-left: 1.2em;
}

@media screen and (min-width: 900px) {
	.block-split__title {
		font-size: var(--fs-42);
	}
}

@media screen and (max-width: 960px) {
	.block-split__media,
	.block-split__copy,
	.block-split--image-right .block-split__media,
	.block-split--image-right .block-split__copy {
		order: 0;
		width: 100%;
		padding: var(--sp-0);
	}

	.block-split__media {
		margin-bottom: var(--fs-24);
	}

	.block-split__copy {
		min-height: 0;
	}

	.block-split__media picture,
	.block-split__image {
		height: 50vh;
	}

	.block-promo__media,
	.block-promo__copy {
		flex: 1 1 100%;
	}
}

/* —— course_program (школа тренеров): h2 заголовки курсов —— */

.block-courses {
	padding: var(--fs-40) 0;
}

.block-courses__item + .block-courses__item {
	margin-top: var(--sp-48);
	padding-top: var(--sp-48);
	border-top: var(--border-1) solid var(--overlay-course-divider);
}

.block-courses__title {
	margin: var(--sp-0) 0 var(--sp-20);
	text-transform: uppercase;
}

.block-courses__meta {
	margin: var(--sp-0) 0 var(--sp-24);
}

.block-courses__meta-row {
	display: grid;
	grid-template-columns: minmax(var(--size-course-label-min), var(--size-course-label-max)) 1fr;
	gap: var(--sp-8) var(--sp-16);
	margin-bottom: var(--sp-8);
}

.block-courses__program {
	margin: var(--sp-0) 0 var(--sp-24);
	padding: var(--sp-0);
	list-style: none;
}

.block-courses__program-item + .block-courses__program-item {
	margin-top: var(--fs-12);
}

.block-courses__program-title {
	margin: var(--sp-0) 0 var(--sp-4);
	font-size: var(--fs-1rem);
}

.block-courses__head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-16) var(--sp-40);
	align-items: start;
	margin-bottom: 15px;
}

.block-courses__meta-lead {
	margin: var(--sp-0) 0 var(--sp-16);
	font-size: var(--fs-18);
	line-height: 1.45;
}

.block-courses__head-title .block-courses__title {
	margin: var(--sp-0);
	font-size: clamp(28px, 3.5vw, 42px);
	line-height: 1.08;
	text-transform: uppercase;
}

.block-courses__audience-label {
	margin: var(--sp-0) 0 var(--sp-16);
	font-size: var(--fs-18);
	line-height: 1.45;
}

.block-courses__audience-list {
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-courses__audience-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: var(--sp-0) 0 10px;
}

.block-courses__audience-check {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 4px;
	background: url("../img/icons/check3.svg") center / contain no-repeat;
	filter: brightness(0) saturate(100%) invert(19%) sepia(89%) saturate(3410%) hue-rotate(346deg) brightness(88%) contrast(92%);
}

.block-courses__audience-text {
	font-weight: 600;
	font-size: var(--fs-16);
	line-height: 1.45;
}

.block-courses__topics {
	margin: var(--sp-0) 0 30px;
	padding: var(--sp-0);
	list-style: none;
}

.page-shkola-trenerov .block-courses__topics.block-grid {
	gap: 20px;
}

.block-courses__topic-inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 120px;
	height: 100%;
	padding: 20px 22px;
	border-radius: 30px;
	background: #ffc945;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.block-courses__topic-title {
	margin: var(--sp-0) 0 var(--sp-8);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.35;
}

.block-courses__topic-text {
	margin: var(--sp-0);
	font-size: 14px;
	line-height: 1.45;
}

.block-courses__speakers {
	margin: 60px 0 0;
	padding-top: 0;
}

.block-courses__speakers-label {
	margin: var(--sp-0) 0 var(--sp-24);
	font-size: clamp(28px, 3.5vw, 42px);
	font-weight: 600;
	line-height: 1.1;
	text-transform: uppercase;
}

.block-courses__speakers-grid {
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-courses__form-title {
	margin: var(--sp-24) 0 var(--sp-16);
	text-transform: uppercase;
}
.block-courses__form {
	margin-top: var(--fs-24);
}

/* /shkola-trenerov/: t396 pill-tabs + один курс за раз */
.page-shkola-trenerov .block-courses--tabbed {
	padding-top: 0;
}

.page-shkola-trenerov .block-courses--tabbed > .block-container {
	padding-top: 60px;
	padding-bottom: 0;
}

.page-shkola-trenerov .block-courses__tabs.block-tabs--pills {
	padding: 41px 0 30px;
	background: #f8ecce;
}

.page-shkola-trenerov .block-courses__tabs .block-container {
	max-width: 1200px;
	padding-left: 20px;
	padding-right: 20px;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__list {
	display: grid;
	grid-template-columns: repeat(4, max-content);
	justify-content: start;
	align-items: start;
	gap: 22px 15px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__item {
	margin: 0;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__btn {
	box-sizing: border-box;
	width: auto;
	max-width: 300px;
	min-width: 145px;
	min-height: 64px;
	height: auto;
	padding: 12px 18px;
	border: 2px solid #c5252d;
	border-radius: 15px;
	background: transparent;
	color: #272727;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	text-align: center;
	text-transform: none;
	white-space: normal;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__btn[aria-selected="true"] {
	background: #c5252d;
	border-color: #c5252d;
	color: #fff;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__btn:hover {
	background: #c5252d;
	border-color: #c5252d;
	color: #fff;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(1) .block-tabs__btn,
.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(2) .block-tabs__btn {
	min-width: 250px;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(3) .block-tabs__btn,
.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(4) .block-tabs__btn {
	min-width: 300px;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(5) .block-tabs__btn,
.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(6) .block-tabs__btn {
	min-width: 250px;
}

.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(7) .block-tabs__btn {
	min-width: 281px;
}

.page-shkola-trenerov .block-courses--tabbed .block-courses__item[hidden] {
	display: none !important;
}

.page-shkola-trenerov .block-courses--tabbed .block-courses__item + .block-courses__item {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

/* t678 в табе: t-col_8 t-prefix_2 (800px) + t-rec_pt/pb_60 */
.block-courses__form-section {
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 60px 0;
}

.block-courses__form-section .block-courses__form-title {
	margin: 0 0 75px;
	text-align: center;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.block-courses__form-section .block-courses__form {
	max-width: none;
	margin: 0;
}

@media screen and (max-width: 960px) {
	.block-courses__form-section {
		padding-top: 45px;
		padding-bottom: 60px;
	}

	.block-courses__form-section .block-courses__form-title {
		margin-bottom: 45px;
		font-size: clamp(24px, 5vw, 32px);
	}
}

.page-shkola-trenerov .block-split .block-split__title {
	font-size: clamp(28px, 3.5vw, 42px);
}

/* /shkola-trenerov/ контакты — live t494 */
.block-shkola-contacts {
	padding: 15px 0 60px;
	text-align: center;
}

.block-shkola-contacts .block-container {
	max-width: 560px;
}

.block-shkola-contacts__social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.block-shkola-contacts__social-item {
	margin: 0;
}

.block-shkola-contacts__social a {
	display: block;
	width: 64px;
	height: 64px;
	line-height: 0;
}

.block-shkola-contacts__social svg {
	display: block;
	width: 64px;
	height: 64px;
}

.block-shkola-contacts__text {
	font-size: var(--fs-16);
	line-height: var(--lh-140);
	color: var(--c-black);
}

.block-shkola-contacts__text p {
	margin: 0 0 16px;
}

.block-shkola-contacts__text p:last-child {
	margin-bottom: 0;
}

.block-shkola-contacts__text a {
	color: inherit;
	text-decoration: none;
}

.block-shkola-contacts__text a:hover,
.block-shkola-contacts__text a:focus-visible {
	text-decoration: underline;
}

.page-shkola-trenerov .block-shkola-about__list {
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.page-shkola-trenerov .block-shkola-about__list li {
	position: relative;
	margin: 0 0 var(--sp-12);
	padding-left: 28px;
	font-weight: 600;
	font-size: var(--fs-18);
	line-height: 1.35;
}

.page-shkola-trenerov .block-shkola-about__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	background: url("../img/icons/check3.svg") center / contain no-repeat;
	filter: brightness(0) saturate(100%) invert(19%) sepia(89%) saturate(3410%) hue-rotate(346deg) brightness(88%) contrast(92%);
}

.page-shkola-trenerov .block-benefit {
	background: #f9f4d2;
}

.page-shkola-trenerov .block-benefit__item {
	text-align: center;
}

.page-shkola-trenerov .block-benefit__image {
	width: 55px;
	height: auto;
	margin: 0 auto var(--sp-12);
}

body.page-shkola-trenerov .block-hero__uptitle,
body.page-shkola-trenerov .block-hero__lede {
	display: block;
	margin-bottom: 12px;
	font-size: 18px;
	line-height: 1.35;
	text-transform: none;
}

@media (max-width: 959px) {
	.block-courses__head {
		grid-template-columns: 1fr;
		gap: var(--sp-24);
	}

	.page-shkola-trenerov .block-courses__tabs .block-tabs__list {
		grid-template-columns: repeat(2, minmax(140px, 1fr));
		gap: 15px 12px;
	}

	.page-shkola-trenerov .block-courses__tabs .block-tabs__btn {
		width: 100%;
		max-width: none;
		min-width: 0;
		min-height: 47px;
		font-size: 14px;
		padding: 10px 12px;
	}

	.page-shkola-trenerov .block-courses__tabs .block-tabs__item:nth-child(n) .block-tabs__btn {
		min-width: 0;
	}
}

@media (max-width: 639px) {
	.page-shkola-trenerov .block-courses__tabs.block-tabs--pills {
		padding: 30px 0 20px;
	}

	.page-shkola-trenerov .block-courses__tabs .block-tabs__list {
		grid-template-columns: 1fr;
	}

	.page-shkola-trenerov .block-courses__tabs .block-tabs__btn {
		font-size: 12px;
		min-height: 41px;
		padding: 8px 12px;
	}

	.page-shkola-trenerov .block-courses--tabbed > .block-container {
		padding-top: 40px;
	}
}

/* —— rekvizity: H1 под hero + кремовая карточка как на живом tilda —— */

.block-rekvizity {
	padding: var(--sp-15) 0 var(--sp-60);
	background-color: var(--c-cream);
}

body.page-rekvizity .block-rekvizity {
	padding-top: 95px;
}

@media screen and (max-width: 640px) {
	body.page-rekvizity .block-rekvizity {
		padding-top: 65px;
	}

	.block-hero--t337:has(.block-hero__title) .block-hero__col-title {
		padding-top: 65px;
	}

	.block-hero--t337:has(.block-hero__title) .block-hero__avatar {
		margin-top: -60px;
	}
}

.block-rekvizity__title {
	margin: 0 auto var(--sp-20);
	max-width: var(--container-wide);
	padding: 0 var(--container-gutter);
	font-size: var(--fs-36, 36px);
	line-height: var(--lh-120, 1.2);
	font-weight: var(--fw-bold, 700);
	text-align: center;
	text-transform: uppercase;
	color: var(--c-black);
}

.block-rekvizity__panel {
	max-width: 1280px;
	width: calc(100% - 160px);
	margin-inline: auto;
	background-color: #f1e3a2;
	border-radius: 50px;
	padding: 60px;
	box-shadow: none;
	box-sizing: border-box;
}

.block-rekvizity .block-facts__list {
	display: block;
	margin: 0;
	padding: 0;
}

.block-rekvizity .block-facts__row {
	display: block;
	margin: 0 0 0.35em;
}

.block-rekvizity .block-facts__dt {
	display: inline;
	font-size: var(--fs-16);
	font-weight: var(--fw-normal);
	color: var(--c-black);
}

.block-rekvizity .block-facts__dt::after {
	content: "\00a0";
}

.block-rekvizity .block-facts__dd {
	display: inline;
	margin: 0;
	font-size: var(--fs-16);
	font-weight: var(--fw-normal);
	color: var(--c-black);
}

.block-rekvizity .block-facts__row--plain .block-facts__dt {
	display: none;
}

.block-rekvizity .block-facts__row--plain .block-facts__dd {
	display: block;
}

@media screen and (max-width: 768px) {
	.block-rekvizity__panel {
		width: calc(100% - 32px);
		max-width: 100%;
		padding: var(--sp-32) var(--sp-24);
		border-radius: 28px;
		box-sizing: border-box;
	}

	.block-rekvizity .block-facts__dd {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}

/* Homepage hero (visual57): title+copy left, form card right, first viewport.
   Direction heroes keep default dark overlay / flex-end. Compact 980 header untouched. */
body.home .block-hero,
body.front-page .block-hero {
	--hero-min-height: calc(100vh - 72px);
}

body.home .block-hero__overlay,
body.front-page .block-hero__overlay {
	/* Live t-cover__filter: rgba(0,0,0,0.8) → rgba(0,0,0,0.4). */
	background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4));
}

body.home .block-hero__uptitle,
body.home .block-hero__lede,
body.front-page .block-hero__uptitle,
body.front-page .block-hero__lede {
	margin: 0 0 var(--sp-12);
	font-size: var(--fs-16);
	line-height: var(--lh-mid);
	color: var(--c-white);
}

body.home .block-hero__subtitle,
body.front-page .block-hero__subtitle {
	margin-top: var(--sp-16);
}

body.home .block-hero__list-head,
body.front-page .block-hero__list-head {
	margin: var(--sp-12) 0 0.25em;
	font-weight: 600;
}

body.home .block-hero__bullets,
body.home .block-hero__list,
body.front-page .block-hero__bullets,
body.front-page .block-hero__list {
	margin: 0 0 0.35em;
	padding-left: 1.15em;
	list-style: disc;
}

body.home .block-hero__bullets li,
body.home .block-hero__list li,
body.front-page .block-hero__bullets li,
body.front-page .block-hero__list li {
	margin: 0 0 0.25em;
}

body.home .block-hero__note,
body.front-page .block-hero__note {
	margin: 0.35em 0 0;
}

body.home .block-hero__form-title,
body.front-page .block-hero__form-title {
	margin: 0 0 var(--sp-16);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-18);
	line-height: var(--lh-tight);
	color: var(--c-ink-2);
}

@media screen and (min-width: 981px) {
	body.home .block-hero,
	body.front-page .block-hero,
	body.home .block-hero__inner,
	body.front-page .block-hero__inner {
		min-height: calc(100vh - var(--header-stack-h));
	}

	body.home .block-hero__inner,
	body.front-page .block-hero__inner,
	body.home.has-hero-cover .block-hero__inner,
	body.front-page.has-hero-cover .block-hero__inner {
		align-items: flex-start;
		padding-top: 48px;
		padding-bottom: var(--sp-40);
	}

	body.home .block-hero__grid,
	body.front-page .block-hero__grid {
		align-items: flex-start;
	}

	body.home .block-hero__col-title,
	body.front-page .block-hero__col-title {
		width: 55%;
		max-width: 660px;
	}

	/* Live t712: форма 360×~409, правый край контейнера (~940@1440). */
	body.home .block-hero__col-copy,
	body.front-page .block-hero__col-copy {
		display: flex;
		flex-direction: column;
		align-self: flex-start;
		width: auto;
		max-width: 360px;
		margin-left: auto;
		margin-right: 0;
		margin-top: 0;
	}

	body.home .block-hero__form-slot,
	body.front-page .block-hero__form-slot {
		width: 100%;
		max-width: 360px;
		align-self: flex-start;
		margin-top: 0;
	}
}

/* visual58: tighter home service-tile padding (~8px).
   Last-row hole skipped: Tilda t939 is nested wrap mosaic (wrap_half/quarter + 4span),
   not a cheap 4-col grid fill on a flat 10-item flex list.
   Compact 980 header, home hero form card, #popup:lead, direction photo tiles untouched. */
body.home .block-services__grid,
body.front-page .block-services__grid {
	margin-left: calc(-1 * var(--sp-8));
	margin-right: calc(-1 * var(--sp-8));
}

body.home .block-services__item,
body.front-page .block-services__item {
	padding: var(--sp-8);
}

/* visual60: tighter trainers grid (~16px).
   Desktop ≥961px: keep 4 columns (already .block-grid--cols-4), reduce gap
   from --gap-grid (40px 20px) toward 16px. Do not hide cards.
   Section padding stays --fs-40 (same as feature/benefit/programs — not looser).
   Compact 980 header, home hero form, #popup:lead, direction photo tiles,
   services grid untouched. trainer_list source=all unchanged. */
@media screen and (min-width: 961px) {
	.block-trainers .block-trainers__grid {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--sp-16);
	}
}

/* visual60: trainers 4-col at 961+, gap ~16px, slightly tighter section pad.
   Cards stay visible (no nth-child hide, no overflow clip).
   Does not touch .block-grid globally, header/hero/popup, direction tiles,
   or visual58 .block-services. trainer_list source=all unchanged. */
@media screen and (min-width: 961px) {
	.block-trainers {
		padding-top: var(--sp-32);
		padding-bottom: var(--sp-32);
		overflow: visible;
	}

	.block-trainers .block-trainers__grid,
	.block-trainers .block-grid--cols-4 {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--sp-16);
		overflow: visible;
	}

	.block-trainers__item,
	.block-trainers__card {
		display: block;
		visibility: visible;
		max-height: none;
	}
}

/* —— home visual64: О клубе 2-col icon-left, mosaic, trainers, CTA cover, reviews —— */

.block-feature--icons .block-feature__card {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--sp-16);
}

.block-feature--icons picture,
.block-feature--icons .block-feature__image {
	flex: 0 0 var(--size-icon-feature);
	width: var(--size-icon-feature);
	max-width: var(--size-icon-feature);
	margin-bottom: var(--sp-0);
}

.block-feature--icons .block-feature__title {
	flex: 0 1 auto;
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--c-red);
	text-transform: uppercase;
	text-decoration: none;
}

a.block-feature--icons .block-feature__card:hover .block-feature__title,
.block-feature--icons a.block-feature__card:hover .block-feature__title {
	text-decoration-color: var(--c-red);
}

@media screen and (min-width: 961px) {
	.block-feature--icons .block-feature__grid.block-grid--cols-2 {
		grid-template-columns: repeat(2, 1fr);
		column-gap: var(--sp-40);
		row-gap: var(--sp-24);
	}
}

/* Services mosaic like live t939 */
@media screen and (min-width: 961px) {
	.block-services--home .block-services__grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(4, minmax(300px, 1fr));
		grid-template-areas:
			"gym gym pool group"
			"personal functional pool cycle"
			"bath bath martial massage"
			"bath bath play play";
		gap: 6px;
		margin: 0;
	}

	.block-services--home .block-services__item {
		width: auto;
		padding: 0;
	}

	.block-services--home .block-services__item:nth-child(1) { grid-area: gym; }
	.block-services--home .block-services__item:nth-child(2) { grid-area: personal; }
	.block-services--home .block-services__item:nth-child(3) { grid-area: functional; }
	.block-services--home .block-services__item:nth-child(4) { grid-area: pool; }
	.block-services--home .block-services__item:nth-child(5) { grid-area: group; }
	.block-services--home .block-services__item:nth-child(6) { grid-area: cycle; }
	.block-services--home .block-services__item:nth-child(7) { grid-area: bath; }
	.block-services--home .block-services__item:nth-child(8) { grid-area: martial; }
	.block-services--home .block-services__item:nth-child(9) { grid-area: massage; }
	.block-services--home .block-services__item:nth-child(10) { grid-area: play; }

	.block-services--home .block-services__card,
	.block-services--home .block-services__item--square .block-services__card,
	.block-services--home .block-services__item--half .block-services__card,
	.block-services--home .block-services__item--wide .block-services__card,
	.block-services--home .block-services__item--tall .block-services__card {
		height: 100%;
		padding-bottom: 0;
	}
}

/* Trainers chips + Подробнее + load more */
.block-trainers__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 8px;
	margin: 0 0 var(--sp-24);
	padding: 0;
	list-style: none;
}

.block-trainers__chip {
	display: inline-block;
	padding: 5px 14px;
	border: 1px solid var(--c-red);
	border-radius: 999px;
	background: transparent;
	color: var(--c-ink-2);
	font-family: var(--font-family);
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
}

.block-trainers__chip.is-active,
.block-trainers__chip[aria-pressed="true"] {
	background: var(--c-red);
	border-color: var(--c-red);
	color: var(--c-white);
}

.block-trainers__photo-fallback {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	margin-bottom: var(--fs-12);
	background: var(--c-placeholder-bg, #e8e4d8);
}

.block-trainers__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 2px;
	margin: 0 0 6px;
	padding: 0;
	font-family: var(--font-family);
	font-size: 10px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.5);
}

.block-trainers__tag,
.block-trainers__tag-sep {
	display: inline;
}

.block-trainers__more {
	display: inline-block;
	margin-top: var(--sp-12);
	padding: 8px 18px;
	border-radius: var(--r-pill);
	background: var(--c-red);
	color: var(--c-white);
	font-size: var(--fs-14);
	font-weight: 600;
	line-height: 1.2;
}

.block-trainers__more-wrap {
	margin: var(--sp-32) 0 0;
	text-align: center;
}

.block-trainers__load {
	display: inline-block;
	padding: 12px 28px;
	border: 0;
	border-radius: var(--r-pill);
	background: var(--c-red);
	color: var(--c-white);
	font-family: var(--font-family);
	font-size: var(--fs-16);
	font-weight: 600;
	cursor: pointer;
}

.block-trainers__item[hidden] {
	display: none !important;
}

/* CTA personal-training cover */
.block-cta {
	padding: var(--fs-40) 0;
}

.block-cta--cover {
	position: relative;
	overflow: hidden;
	min-height: 800px;
	padding: 0;
	color: var(--c-white);
}

.block-cta__media,
.block-cta__overlay {
	position: absolute;
	inset: 0;
}

.block-cta__media {
	z-index: 0;
}

.block-cta__overlay {
	z-index: 1;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.72));
}

.block-cta--cover .block-cta__image,
.block-cta--cover .block-cta__media picture,
.block-cta--cover .block-cta__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.block-cta--cover .block-cta__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 800px;
	text-align: center;
}

.block-cta--cover .block-cta__title {
	margin: 0 0 var(--sp-16);
	color: var(--c-white);
	font-size: var(--fs-42);
	font-weight: 600;
	line-height: 1.2;
}

.block-cta--cover .block-cta__text {
	max-width: 36rem;
	margin: 0 0 var(--sp-24);
	color: var(--c-white);
	font-size: var(--fs-18);
}

.block-cta--cover .block-cta__form-slot {
	width: 100%;
	max-width: 640px;
}

.block-banner--wheel {
	position: relative;
	min-height: 0;
	padding: 0;
	overflow: visible;
	background: #f8ecce;
}

.block-banner--wheel .block-banner__link,
.block-banner--wheel .block-banner__image,
.block-banner--wheel .block-banner__link picture,
.block-banner--wheel .block-banner__link img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
	object-position: center;
	background: #f8ecce;
}

.block-banner__wheel {
	position: relative;
	display: block;
	width: 100%;
	min-height: 500px;
	background: #f8ecce;
}

.site-main--front .block-rich-text#reviews-intro {
	display: none;
}

.site-main--front .block-news .block-slider__item {
	flex: 0 0 33.333%;
	max-width: 33.333%;
}

.site-main--front .block-news__title {
	margin-top: var(--fs-12);
}

.site-main--front .block-news__date {
	margin-top: var(--sp-6);
}

@media screen and (max-width: 960px) {
	.block-cta--cover,
	.block-cta--cover .block-cta__inner {
		min-height: 70vh;
	}

	.block-cta--cover .block-cta__title {
		font-size: var(--fs-28);
	}

	.site-main--front .block-news .block-slider__item {
		flex: 0 0 85%;
		max-width: 85%;
	}
}

/* —— home visual65: first-viewport hero, trainer faces, news/app chrome —— */

body.home .block-hero--home,
body.front-page .block-hero--home,
body.home .block-hero--home .block-hero__inner,
body.front-page .block-hero--home .block-hero__inner {
	min-height: calc(100vh - var(--header-stack-h));
	--hero-min-height: calc(100vh - var(--header-stack-h));
}

.block-hero--home .block-hero__grid {
	align-items: flex-start;
}

.block-trainers--home .block-trainers__card picture,
.block-trainers--home .block-trainers__image,
.block-trainers--home .block-trainers__card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 0.7;
	object-fit: cover;
	object-position: top center;
}

.site-main--front .block-news__image,
.site-main--front .block-news picture,
.site-main--front .block-news__card img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 960px) {
	.block-hero--home,
	.block-hero--home .block-hero__inner {
		min-height: 70vh;
	}

	.block-trainers--home .block-trainers__card picture,
	.block-trainers--home .block-trainers__image,
	.block-trainers--home .block-trainers__card img {
		height: auto;
		aspect-ratio: 0.7;
	}
}

/* —— home visual66: 1280 height polish vs live. Do not undo v64/v65 order/pairs. —— */

.block-feature--icons {
	padding-top: 72px;
	padding-bottom: 72px;
}

@media screen and (min-width: 961px) {
	.block-feature--icons .block-feature__grid.block-grid--cols-2 {
		row-gap: 52px;
	}

	.block-services--home .block-services__grid {
		grid-template-rows: repeat(4, minmax(293px, 1fr));
	}

	.block-trainers--home {
		padding-top: 16px;
		padding-bottom: 60px;
	}

	.block-trainers--home .block-trainers__card picture,
	.block-trainers--home .block-trainers__image,
	.block-trainers--home .block-trainers__card img {
		height: auto;
		aspect-ratio: 0.7;
		object-fit: cover;
		object-position: top center;
	}

	.block-trainers--home .block-trainers__photo-fallback {
		height: auto;
		aspect-ratio: 0.7;
	}
}

.site-main--front .block-news--home-teaser .block-news__image,
.site-main--front .block-news--home-teaser picture,
.site-main--front .block-news--home-teaser .block-news__card img {
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 3;
}


/* —— visual67 leftover polish —— */

.block-feature--icons,
.block-section-title,
.home .block-trainers,
.site-main--front .block-facts--home,
.site-main--front .block-news,
.site-main--front .block-reviews {
	background-color: #f8ecce;
}

.block-trainers--home .block-trainers__name,
.block-trainers--home .block-trainers__position,
.block-trainers--home .block-trainers__more,
.block-trainers--home .block-trainers__tags {
	display: block;
	position: relative;
	z-index: 1;
	visibility: visible;
	opacity: 1;
}

.block-trainers--home .block-trainers__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	overflow: visible;
}

.block-trainers--home .block-trainers__tags {
	display: flex;
	margin-top: 10px;
	margin-bottom: 8px;
}

.block-trainers--home .block-trainers__name {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: #000;
}

.block-trainers--home .block-trainers__position {
	margin: 6px 0 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.35;
	color: rgba(0, 0, 0, 0.9);
}

.block-trainers--home .block-trainers__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 146px;
	max-width: none;
	min-height: 45px;
	margin-top: auto;
	padding: 12px 30px;
	border-radius: 100px;
	background: #c5252d;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	align-self: center;
}

.block-promo__image,
.block-promo__media img,
.block-promo__media picture {
	max-height: 620px;
	width: 100%;
	object-fit: cover;
	object-position: center top;
}



/* —— visual68: trainers / CTA / Start / reviews / wheel from live 1280 —— */

.block-trainers--home {
	padding: 15px 0 60px;
}

.block-trainers--home .block-trainers__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 11px;
	max-width: 1160px;
	margin: 0 auto 24px;
}

.block-trainers--home .block-trainers__chip {
	box-sizing: border-box;
	min-height: 36px;
	padding: 7px 18px;
	border: 1px solid #c5252d;
	border-radius: 40px;
	background: transparent;
	color: #111;
	font-size: 16px;
	line-height: 1.2;
}

.block-trainers--home .block-trainers__chip.is-active,
.block-trainers--home .block-trainers__chip[aria-pressed="true"] {
	background: #c5252d;
	border-color: #c5252d;
	color: #fff;
}

@media screen and (min-width: 961px) {
	.block-trainers--home .block-trainers__card picture,
	.block-trainers--home .block-trainers__image,
	.block-trainers--home .block-trainers__card img,
	.block-trainers--home .block-trainers__photo-fallback {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 0.7;
		object-fit: cover;
		object-position: top center;
	}

	.block-trainers--home .block-trainers__card {
		min-height: 602px;
	}

	.block-trainers--home .block-trainers__grid.block-grid--cols-4 {
		gap: 20px 30px;
	}
}

.block-cta--cover .block-cta__overlay {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.78));
}

.block-cta--cover .block-cta__title {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.23;
}

.block-cta--cover .block-cta__text {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	font-size: 20px;
	line-height: 1.55;
}

.block-promo {
	padding: 30px 0 45px;
}

.block-promo .block-promo__grid {
	display: grid;
	grid-template-columns: 560px 460px;
	column-gap: 140px;
	justify-content: start;
	align-items: start;
	max-width: 1200px;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

.block-promo__media {
	flex: none;
	width: 560px;
	max-width: 560px;
	min-width: 0;
	margin: 0;
}

.block-promo__image,
.block-promo__media img,
.block-promo__media picture {
	display: block;
	width: 560px;
	max-width: 100%;
	height: 560px;
	max-height: 560px;
	object-fit: cover;
	object-position: center top;
}

.block-promo__copy {
	flex: none;
	width: 460px;
	max-width: 460px;
	min-width: 0;
	margin-left: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-sizing: border-box;
}

@media screen and (max-width: 960px) {
	.block-promo .block-promo__grid {
		grid-template-columns: 1fr;
		column-gap: 0;
		max-width: 100%;
		padding-left: var(--container-gutter);
		padding-right: var(--container-gutter);
	}

	.block-promo__media,
	.block-promo__copy {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}

	.block-promo__image,
	.block-promo__media img,
	.block-promo__media picture {
		width: 100%;
		height: auto;
		max-height: none;
		aspect-ratio: 1 / 1;
		object-fit: contain;
		object-position: center top;
	}
}

.block-reviews--home {
	padding: 54px 0 54px;
	min-height: 808px;
	box-sizing: border-box;
}

.block-reviews--home .block-reviews__layout {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 28px;
}

.block-reviews--home .block-reviews__intro {
	flex: 0 0 543px;
	max-width: 543px;
	width: 543px;
}

.block-reviews--home .block-reviews__intro-box {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 543px;
	max-width: 100%;
	height: 147px;
	min-height: 147px;
	padding: 0 9px;
	margin: 0 0 10px;
	background: transparent;
	border: 2px solid #000;
	border-radius: 20px;
	box-shadow: none;
	font-family: var(--font-family);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.55;
	text-align: center;
	color: #000;
}

.block-reviews--home .block-reviews__intro-box p {
	width: 100%;
	max-width: 525px;
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: inherit;
}

.block-reviews--home .block-reviews__intro-media {
	width: 541px;
	max-width: 100%;
}

.block-reviews--home .block-reviews__intro-media img,
.block-reviews--home .block-reviews__photo {
	display: block;
	width: 541px;
	max-width: 100%;
	height: 541px;
	min-height: 541px;
	border-radius: 20px;
	object-fit: cover;
	object-position: center;
}

.block-reviews--home .block-reviews__list {
	flex: 0 0 605px;
	width: 605px;
	max-width: 605px;
	min-width: 0;
	justify-content: flex-start;
}

.block-reviews--home .block-reviews__item {
	width: 100%;
}

.block-reviews--home .block-reviews__frame--main {
	width: 605px;
	max-width: 100%;
	height: 694px;
	min-height: 694px;
}

.block-reviews--home .block-reviews__frame--main iframe {
	width: 100%;
	height: 694px;
	min-height: 694px;
}

@media screen and (max-width: 960px) {
	.block-reviews--home .block-reviews__layout {
		flex-wrap: wrap;
	}

	.block-reviews--home .block-reviews__intro,
	.block-reviews--home .block-reviews__list,
	.block-reviews--home .block-reviews__frame--main {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	.block-reviews--home .block-reviews__intro-media img,
	.block-reviews--home .block-reviews__photo {
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: none;
		aspect-ratio: 543 / 320;
		object-fit: cover;
	}

	.block-reviews--home .block-reviews__frame--main {
		width: 100%;
		height: var(--size-reviews-mobile-h, 693px);
		min-height: var(--size-reviews-mobile-h, 693px);
	}

	.block-reviews--home .block-reviews__frame--main iframe {
		width: 100%;
		height: var(--size-reviews-mobile-h, 693px);
		min-height: var(--size-reviews-mobile-h, 693px);
	}
}

.home .block-banner.block-banner--wheel,
.site-main--front .block-banner.block-banner--wheel {
	position: relative;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	background: #f8ecce;
}

.block-banner__visual {
	position: relative;
	max-height: 500px;
	overflow: hidden;
	background: #f8ecce;
}

.home .block-banner--wheel .block-banner__link,
.home .block-banner--wheel .block-banner__image,
.home .block-banner--wheel .block-banner__link picture,
.home .block-banner--wheel .block-banner__link img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: contain;
	object-position: center;
	background: #f8ecce;
}

.home .block-banner__wheel,
.site-main--front .block-banner__wheel {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	min-height: 0;
	height: 100%;
	max-height: 500px;
	background: transparent;
}

.block-pricing__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding: 12px 24px 24px;
}

.block-pricing__more,
.block-pricing__book {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 45px;
	min-height: 45px;
	padding: 0 20px;
	border-radius: 100px;
	white-space: nowrap;
	font-size: 14px;
	line-height: 1;
}

.block-pricing__more {
	min-width: 145px;
	background: #c5252d;
	color: #fff;
}

.block-pricing__book {
	min-width: 182px;
	border: 3px solid #ffc945;
	background: transparent;
	color: #000;
}

/* Homepage club cards (t772): no white card box on cream section */
.home .block-pricing__card,
.site-main--front .block-pricing__card {
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}

.home .block-pricing__book,
.site-main--front .block-pricing__book {
	background-color: #f8ecce;
}

/* —— home: key_facts «Коротко о клубе» под «О КЛУБЕ» (GEO шаг 45) —— */

.site-main--front .block-section-title:has(+ .block-facts--home) {
	padding-bottom: 16px;
}

.site-main--front .block-facts--home {
	padding: 0 0 40px;
}

.site-main--front .block-facts--home .block-facts__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}

.site-main--front .block-facts--home .block-facts__row {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 24px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-left: 4px solid var(--c-red, #c5252d);
	border-radius: 14px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.site-main--front .block-facts--home .block-facts__row:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.site-main--front .block-facts--home .block-facts__dt {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #7b7463;
}

.site-main--front .block-facts--home .block-facts__dd {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--c-black, #111111);
}

.site-main--front .block-facts--home .block-facts__link {
	color: var(--c-red, #c5252d);
	font-weight: 700;
	text-decoration: none;
	transition: color 0.15s ease;
}

.site-main--front .block-facts--home .block-facts__link:hover,
.site-main--front .block-facts--home .block-facts__link:focus-visible {
	color: var(--c-black, #111111);
	text-decoration: underline;
}

.site-main--front .block-facts--home + .block-feature--icons {
	padding-top: 16px;
}

@media screen and (max-width: 960px) {
	.site-main--front .block-facts--home .block-facts__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}

@media screen and (max-width: 640px) {
	.site-main--front .block-facts--home .block-facts__list {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.site-main--front .block-facts--home .block-facts__row {
		padding: 16px 18px;
		border-radius: 12px;
	}

	.site-main--front .block-facts--home .block-facts__dd {
		font-size: 15px;
	}
}

/* SEO price tables (ТЗ 2.1 / 2.3) */
.seo-prices-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0 1.5rem;
}

.seo-prices-table th,
.seo-prices-table td {
	padding: 0.65rem 1rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	text-align: left;
	vertical-align: top;
}

.seo-prices-table thead th {
	background: rgba(0, 0, 0, 0.04);
	font-weight: 600;
}

.seo-map-embed {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 1.5rem 0;
	aspect-ratio: 16 / 9;
}

.seo-map-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 8px;
}


/* visual76: shared photo-tile contrast */
/* Live Tilda T396 filter as ::before scrim — keeps white text fully opaque. */
.block-programs__card--photo .block-programs__overlay {
	isolation: isolate;
}
.block-programs__card--photo .block-programs__overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	border-radius: inherit;
	background: var(--gradient-program-tile-overlay);
	opacity: var(--gradient-program-tile-overlay-opacity);
}
.block-programs__card--photo .block-programs__title,
.block-programs__card--photo .block-programs__duration,
.block-programs__card--photo .block-programs__text {
	text-shadow: var(--shadow-program-tile-text);
}
/* Mild top scrim so duration stays readable on bright ceilings. */
.block-programs--catalog-tile .block-programs__overlay::after,
body.direction-bassejn-v-krasnodare .block-programs .block-programs__overlay::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 42%;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (max-width: 960px) {
	.block-programs__card--photo .block-programs__overlay::before {
		opacity: var(--gradient-program-tile-overlay-opacity-mobile);
	}
}
/* Service mosaic labels (home) — slightly longer dark foot for light photos. */
.block-services__overlay {
	background-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.15) 40%,
		rgba(0, 0, 0, 0.72) 72%,
		rgba(0, 0, 0, 0.92) 100%
	);
}
.block-services__title {
	text-shadow: var(--shadow-program-tile-text);
}

/* === ui.css === */
/* Стили через токены: assets/css/tokens.css (шаг 36в). */

/**
 * Служебные блоки шага 26: якоря, табы, FAQ, факты, новости, отзывы, расписание.
 * Цвета и размеры — t395 / VORON / T976 / T607 / виджеты Яндекса в исходнике.
 */

.screen-reader-text {
	border: 0;
	clip: rect(var(--size-sr-1), var(--size-sr-1), var(--size-sr-1), var(--size-sr-1));
	clip-path: inset(50%);
	height: var(--size-sr-1);
	margin: calc(-1 * var(--size-sr-1));
	overflow: hidden;
	padding: var(--sp-0);
	position: absolute;
	width: var(--size-sr-1);
	word-wrap: normal !important;
}

[hidden] {
	display: none !important;
}

/* ——— Табы: общая полоса (t395) и кнопки (VORON / NOLIM) ——— */

.block-tabs {
	padding: var(--sp-15) 0;
	background: var(--c-cream);
}

.block-tabs__list {
	display: flex;
	flex-wrap: wrap;
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-tabs__item {
	margin: var(--sp-0);
}

.block-tabs__btn {
	box-sizing: border-box;
	width: 100%;
	margin: var(--sp-0);
	font-family: var(--font-family);
	cursor: pointer;
}

.block-tabs__btn:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
}

.block-tabs__mobile {
	display: none;
	justify-content: center;
}

.block-tabs__select-label {
	display: block;
	width: 100%;
	max-width: var(--container-tabs-select);
}

.block-tabs__select {
	box-sizing: border-box;
	width: 100%;
	height: var(--size-tabs-select-h);
	padding: var(--sp-0) var(--size-select-pad-r) 0 var(--size-select-pad-l);
	border: var(--border-1) solid var(--c-red);
	border-radius: var(--r-select);
	background: var(--c-red);
	color: var(--c-white);
	font-family: var(--font-family);
	font-size: var(--fs-14);
	font-weight: 400;
	appearance: none;
}

.block-tabs--segmented .block-tabs__list {
	justify-content: center;
	gap: var(--sp-10);
}

.block-tabs--segmented .block-tabs__item {
	flex: 0 1 auto;
}

.block-tabs--segmented .block-tabs__btn {
	padding: var(--size-tabs-pad-v) var(--fs-22);
	border: var(--border-2) solid var(--c-red);
	border-radius: var(--r-md);
	background: var(--c-cream);
	color: var(--c-ink-3, var(--c-black));
	font-size: var(--fs-16);
	font-weight: 400;
	line-height: var(--lh-base);
	text-align: center;
	text-transform: uppercase;
}

.block-tabs--segmented .block-tabs__btn:hover,
.block-tabs--segmented .block-tabs__btn[aria-selected="true"] {
	border-color: var(--c-red);
	background: var(--c-red);
	color: var(--c-white);
	font-weight: 600;
}

.block-tabs--pills {
	padding: var(--fs-20) 0;
}

.block-tabs--pills .block-tabs__list {
	justify-content: center;
	gap: var(--sp-10);
}

.block-tabs--pills .block-tabs__btn {
	padding: var(--fs-14) var(--fs-22);
	border: var(--border-2) solid var(--c-red);
	border-radius: var(--r-md);
	background: var(--c-cream);
	color: var(--c-ink-3);
	font-size: var(--fs-18);
	font-weight: 400;
	line-height: var(--lh-base);
	text-align: center;
}

.block-tabs--pills .block-tabs__btn:hover,
.block-tabs--pills .block-tabs__btn[aria-selected="true"] {
	background: var(--c-red);
	color: var(--c-white);
}

@media (max-width: var(--container-faq-max)) {
	.block-tabs__list {
		display: none;
	}

	.block-tabs__mobile {
		display: flex;
	}
}

/* ——— Якоря-кнопки (T976) ——— */

.block-anchors--pills {
	padding: var(--sp-60) 0 0;
	background: var(--c-cream);
}

.block-anchors--pills .block-anchors__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--sp-10);
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-anchors--pills .block-anchors__link {
	display: inline-block;
	padding: var(--fs-10) var(--fs-20);
	border: var(--border-2) solid var(--c-red);
	border-radius: var(--r-md);
	background: var(--c-cream);
	color: var(--c-black);
	font-family: var(--font-family);
	font-size: var(--fs-16);
	font-weight: 400;
	line-height: var(--lh-base);
	text-align: center;
	text-decoration: none;
}

.block-anchors--pills .block-anchors__link:hover,
.block-anchors--pills .block-anchors__link.is-active {
	background: var(--c-red);
	color: var(--c-white);
}

.block-anchors--pills .block-anchors__link:focus-visible {
	outline: var(--border-2) solid var(--c-red);
	outline-offset: var(--outline-offset);
}

/* ——— Точки справа (T607, от 980px) ——— */

.block-anchors--dots {
	display: none;
}

@media (min-width: 980px) {
	.block-anchors--dots {
		display: block;
		position: fixed;
		top: 50%;
		right: var(--fs-20);
		z-index: 990;
		transform: translateY(-50%);
	}

	.block-anchors--dots .block-anchors__list {
		display: flex;
		flex-direction: column;
		margin: var(--sp-0);
		padding: var(--sp-0);
		list-style: none;
	}

	.block-anchors--dots .block-anchors__item {
		padding: var(--size-tabs-pad-v) 0;
	}

	.block-anchors--dots .block-anchors__link {
		position: relative;
		display: block;
		width: var(--size-anchor-dot);
		height: var(--size-anchor-dot);
		border: var(--border-2) solid var(--c-red);
		border-radius: 50%;
		background: transparent;
		box-shadow: var(--shadow-anchor-dot);
	}

	.block-anchors--dots .block-anchors__link.is-active {
		background: var(--c-red);
	}

	.block-anchors--dots .block-anchors__label {
		position: absolute;
		top: 50%;
		right: var(--size-anchor-label-right);
		padding: var(--sp-0) var(--size-anchor-tooltip-pad);
		border-radius: var(--r-sm);
		background: var(--c-ink-tooltip);
		color: var(--c-white);
		font-family: var(--font-family);
		font-size: var(--fs-14);
		font-weight: var(--fw-medium);
		line-height: var(--lh-250);
		white-space: nowrap;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.block-anchors--dots .block-anchors__label::after {
		content: "";
		position: absolute;
		top: 50%;
		right: calc(-1 * var(--size-anchor-arrow-offset));
		border: var(--size-anchor-arrow) solid transparent;
		border-left-color: var(--c-ink-tooltip);
		border-right-width: 0;
		transform: translateY(-50%);
	}

	.block-anchors--dots .block-anchors__link:hover .block-anchors__label,
	.block-anchors--dots .block-anchors__link:focus-visible .block-anchors__label {
		opacity: 1;
	}

	.block-anchors--dots .block-anchors__link:focus-visible {
		outline: var(--border-2) solid var(--c-red);
		outline-offset: var(--outline-offset);
	}
}

/* ——— FAQ ——— */

.block-faq {
	padding: var(--sp-20) 0 var(--sp-40);
}

.block-faq__title {
	margin: var(--sp-0) 0 var(--sp-20);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-120);
	color: var(--c-black);
}

.block-faq__list {
	max-width: var(--container-faq-max);
}

.block-faq__item {
	position: relative;
	border-bottom: var(--border-1) solid var(--c-border-muted);
}

.block-faq__item:first-child {
	border-top: var(--border-1) solid var(--c-border-muted);
}

.block-faq__q {
	cursor: pointer;
	list-style: none;
	padding: var(--sp-16) var(--size-faq-pad-r) var(--sp-16) 0;
	font-family: var(--font-family);
	font-size: var(--fs-18);
	font-weight: 600;
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-faq__q::-webkit-details-marker {
	display: none;
}

.block-faq__q::after {
	content: "+";
	position: absolute;
	top: var(--fs-16);
	right: 0;
	font-weight: 400;
	color: var(--c-red);
}

.block-faq__item[open] .block-faq__q::after {
	content: "−";
}

.block-faq__a {
	margin: var(--sp-0) 0 var(--sp-16);
	padding: var(--sp-0) var(--size-faq-pad-r) var(--sp-8) 0;
	font-size: var(--fs-16);
	line-height: var(--lh-base);
	color: var(--c-black);
}

.block-faq__a > *:last-child {
	margin-bottom: var(--sp-0);
}

/* ——— Показатели ——— */

.block-facts {
	padding: var(--sp-20) 0 var(--sp-40);
}

.block-facts__title {
	margin: var(--sp-0) 0 var(--sp-24);
	font-family: var(--font-family);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-120);
	color: var(--c-black);
}

.block-facts__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--size-grid-min), 1fr));
	gap: var(--sp-24) var(--sp-40);
	margin: var(--sp-0);
}

.block-facts__row {
	margin: var(--sp-0);
}

.block-facts__dt {
	margin: var(--sp-0) 0 var(--sp-8);
	font-size: var(--fs-14);
	font-weight: 400;
	line-height: var(--lh-tight);
	color: var(--c-black);
}

.block-facts__dd {
	margin: var(--sp-0);
	font-size: var(--fs-28);
	font-weight: 600;
	line-height: var(--lh-120);
	color: var(--c-red);
}

/* ——— Лента новостей (карточки; слайдер — gallery.js) ——— */

.block-news {
	padding: var(--sp-60) 0;
}

.site-main--front .block-news {
	overflow-x: hidden;
}

.site-main--front .block-news .block-slider {
	max-width: 100%;
}

.site-main--front .block-news .block-slider__controls {
	position: static;
	justify-content: flex-end;
	margin: 0 0 16px;
}

.site-main--front .block-news .block-slider__scroller {
	overflow-x: auto;
	overflow-y: hidden;
	max-width: 100%;
}

.block-news__item {
	flex: 0 0 min(var(--size-news-flex), 85%);
}

.block-news__card {
	height: 100%;
}

.block-news__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.block-news__link:hover .block-news__title,
.block-news__link:focus-visible .block-news__title {
	color: var(--c-red);
}

.block-news__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	background: var(--c-placeholder-bg);
}

.block-news__date {
	display: block;
	margin-top: var(--fs-12);
	font-size: var(--fs-14);
	line-height: var(--lh-tight);
	color: var(--c-text-muted);
}

.block-news__title {
	margin: var(--sp-6) 0 0;
	font-family: var(--font-family);
	font-size: var(--fs-18);
	font-weight: 600;
	line-height: var(--lh-tight);
	color: var(--c-black);
}

/* ——— Яндекс.Отзывы ——— */

.block-reviews {
	padding: var(--sp-20) 0 var(--sp-40);
}

.block-reviews__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--fs-40);
	margin: var(--sp-0);
	padding: var(--sp-0);
	list-style: none;
}

.block-reviews__item {
	margin: var(--sp-0);
}

.block-reviews__frame {
	position: relative;
	overflow: hidden;
	max-width: 100%;
	min-height: 400px;
	background: var(--c-cream);
}

.block-reviews__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	box-sizing: border-box;
	color-scheme: light;
}

.block-reviews__frame--main {
	width: var(--size-reviews-main-w);
	height: var(--size-reviews-main-h);
	min-height: var(--size-reviews-main-h, 700px);
}

.block-reviews__frame--main iframe {
	border: var(--border-1) solid var(--c-border-muted);
	border-radius: var(--r-card);
}

.block-reviews__frame--second {
	width: var(--size-reviews-second-w);
	height: var(--size-reviews-main-h);
	min-height: var(--size-reviews-main-h, 700px);
}

.block-reviews__frame--second iframe {
	border: var(--border-1) solid var(--c-black);
	border-radius: var(--fs-20);
}

.block-reviews__cap {
	box-sizing: border-box;
	position: absolute;
	bottom: var(--sp-8);
	left: 0;
	display: block;
	width: 100%;
	max-height: var(--fs-14);
	overflow: hidden;
	padding: var(--sp-0) var(--sp-16);
	color: var(--c-gray-2);
	font-size: var(--fs-10);
	line-height: var(--fs-14);
	text-align: center;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.block-reviews__frame--main,
	.block-reviews__frame--second {
		width: var(--size-reviews-mobile-w);
		height: var(--size-reviews-mobile-h);
	}
}

/* ——— 1С:Фитнес ——— */

.block-schedule {
	padding: var(--fs-20) 0;
	min-height: var(--size-schedule-min);
}


/* Tab panels: hide inactive club-card groups */
.site-main--front .block-pricing[hidden] {
	display: none !important;
}


/* —— visual67: club cards tabs = full-width red/cream bar (t395) —— */

.home .block-tabs--segmented,
.site-main--front .block-tabs--segmented {
	background: #f8ecce;
}

.home .block-tabs--segmented .block-container,
.site-main--front .block-tabs--segmented .block-container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.home .block-tabs--segmented .block-tabs__list,
.site-main--front .block-tabs--segmented .block-tabs__list {
	display: flex;
	justify-content: stretch;
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home .block-tabs--segmented .block-tabs__item,
.site-main--front .block-tabs--segmented .block-tabs__item {
	flex: 1 1 0;
}

.home .block-tabs--segmented .block-tabs__btn,
.site-main--front .block-tabs--segmented .block-tabs__btn {
	width: 100%;
	border-radius: 0;
	border-width: 0;
	padding: 16px 12px;
	background: #f8ecce;
	color: #111;
	font-weight: 600;
}

.home .block-tabs--segmented .block-tabs__btn[aria-selected="true"],
.home .block-tabs--segmented .block-tabs__btn:hover,
.site-main--front .block-tabs--segmented .block-tabs__btn[aria-selected="true"],
.site-main--front .block-tabs--segmented .block-tabs__btn:hover {
	background: var(--c-red);
	color: #fff;
}

.home .block-pricing,
.site-main--front .block-pricing {
	background: #f8ecce;
}


/* —— visual68: t395 tabs — 3 equal 387×49 cells, cream/red, dividers —— */

.home .block-tabs--segmented,
.site-main--front .block-tabs--segmented {
	padding: 15px 0;
	background: #f8ecce;
}

.home .block-tabs--segmented .block-container,
.site-main--front .block-tabs--segmented .block-container {
	max-width: 1200px;
	padding-left: 20px;
	padding-right: 20px;
}

.home .block-tabs--segmented .block-tabs__list,
.site-main--front .block-tabs--segmented .block-tabs__list {
	display: flex;
	justify-content: stretch;
	gap: 0;
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	border: 0;
}

.home .block-tabs--segmented .block-tabs__item,
.site-main--front .block-tabs--segmented .block-tabs__item {
	flex: 1 1 0;
	margin: 0;
}

.home .block-tabs--segmented .block-tabs__btn,
.site-main--front .block-tabs--segmented .block-tabs__btn {
	box-sizing: border-box;
	width: 100%;
	height: 49px;
	min-height: 49px;
	padding: 0 12px;
	border: 0;
	border-right: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0;
	background: #f8ecce;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 49px;
	text-transform: uppercase;
}

.home .block-tabs--segmented .block-tabs__item:last-child .block-tabs__btn,
.site-main--front .block-tabs--segmented .block-tabs__item:last-child .block-tabs__btn {
	border-right: 0;
}

.home .block-tabs--segmented .block-tabs__btn[aria-selected="true"],
.home .block-tabs--segmented .block-tabs__btn:hover,
.site-main--front .block-tabs--segmented .block-tabs__btn[aria-selected="true"],
.site-main--front .block-tabs--segmented .block-tabs__btn:hover {
	background: #c5252d;
	color: #fff;
	font-weight: 400;
}


/* visual76: anchors pills mobile — full labels, wrap or scroll, no ellipsis clip */
@media screen and (max-width: 640px) {
	.block-anchors--pills .block-anchors__list {
		flex-wrap: wrap;
		row-gap: 10px;
		column-gap: 8px;
	}
	.block-anchors--pills .block-anchors__item {
		flex: 0 1 auto;
		max-width: 100%;
		min-width: 0;
	}
	.block-anchors--pills .block-anchors__link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		max-width: 100%;
		box-sizing: border-box;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
		line-height: 1.25;
		padding: 8px 14px;
		font-size: 14px;
		hyphens: auto;
	}
	.block-anchors--pills .block-anchors__label {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}
}

/* === gallery.css === */
/* Галереи: сетка, слайдер T1148, лента t552, баннер T107, зум. */

.block-gallery,
.block-media {
	padding: 40px 0 60px;
}

.block-gallery__title,
.block-media__title {
	margin: 0 0 20px;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 28px;
	line-height: 1.2;
	color: #000;
	text-transform: uppercase;
}

.block-gallery__title {
	font-weight: 600;
}

.block-media__title {
	font-weight: 500;
}

.block-gallery__shot {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	color: inherit;
}

.block-gallery__shot:focus-visible {
	outline: 2px solid #c5252d;
	outline-offset: 2px;
}

.block-gallery__image,
.block-media__image,
.block-marquee__image,
.block-banner__image {
	display: block;
	width: 100%;
	height: auto;
}

.block-gallery__grid .block-gallery__image {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.block-media__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}

.block-media--t1148 .block-media__intro {
	padding-bottom: 0;
}

.block-media--t1148 .block-media__head {
	align-items: center;
	margin-bottom: 40px;
}

.block-media--t1148 .block-media__rail {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}

.block-media--t1148 .block-slider__list {
	gap: 20px;
}

.block-media--t1148 .block-slider__item--media {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	scroll-snap-stop: always;
}

.block-media--t1148 .block-gallery__shot {
	width: auto;
}

.block-media--t1148 .block-media__image {
	width: auto;
	max-width: none;
	height: 350px;
	object-fit: cover;
}

.block-slider__controls--t1148 {
	margin: 0;
	gap: 5px;
}


.block-media__copy {
	max-width: 800px;
}

.block-media__desc {
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 300; /* T1148: единственное место в исходнике с font-weight 300 */
	font-size: 18px;
	line-height: 1.55;
	color: #000;
}

.block-media__desc strong,
.block-media__desc b {
	font-weight: var(--fw-bold);
}

.block-media--t1148 {
	overflow-x: clip;
	max-width: 100vw;
}

.block-media--t1148 .block-media__rail {
	max-width: 100vw;
	overflow-x: clip;
}

.block-media__desc > *:first-child {
	margin-top: 0;
}

.block-media__desc > *:last-child {
	margin-bottom: 0;
}

.block-slider__scroller {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.block-slider__scroller::-webkit-scrollbar {
	display: none;
}

.block-slider__list {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.block-slider__item {
	flex: 0 0 78%;
	scroll-snap-align: start;
}

.block-slider__item--media {
	flex: 0 0 min(860px, 82%);
}

.block-media__image {
	height: 350px;
	object-fit: cover;
}

.block-slider__controls {
	display: flex;
	flex-shrink: 0;
	gap: 8px;
	margin: 0 0 16px;
}

.block-slider__btn {
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid #c5252d;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M10 2L2 10l8 8' stroke='%23c5252d' stroke-width='2'/%3E%3C/svg%3E") center no-repeat;
	cursor: pointer;
}

.block-slider__btn--next {
	transform: scaleX(-1);
}

.block-slider__btn:hover,
.block-slider__btn:focus-visible {
	background-color: #ffc945;
}

/* T1148: после .block-slider__btn — иначе белый фон перебивает красный */
.block-slider__controls--t1148 .block-slider__btn.block-slider__btn--lg {
	width: 50px;
	height: 50px;
	border: 0;
	border-radius: 50%;
	background-color: #c5252d;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none'%3E%3Cpath d='M23 13L15.5 20L23 27' stroke='%23ffffff' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.block-slider__controls--t1148 .block-slider__btn.block-slider__btn--lg:hover,
.block-slider__controls--t1148 .block-slider__btn.block-slider__btn--lg:focus-visible {
	background-color: #ffc945;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none'%3E%3Cpath d='M23 13L15.5 20L23 27' stroke='%23c5252d' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

.block-tiles-marquee {
	padding: 0 0 45px;
	overflow-x: clip;
	max-width: 100%;
}

.block-tiles-marquee__toolbar {
	padding-bottom: 16px;
}

.block-tiles-marquee__controls {
	justify-content: flex-end;
	margin: 0;
}

.block-tiles-marquee__slider {
	max-width: 100%;
}

.block-tiles-marquee__scroller {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.block-tiles-marquee__scroller::-webkit-scrollbar {
	display: none;
}

.block-tiles-marquee__slider .block-marquee__list {
	gap: 0;
}

.block-tiles-marquee__slider .block-marquee__item {
	flex: 0 0 33vw;
	scroll-snap-align: start;
}

.site-main--front .block-section-title:has(+ .block-tiles-marquee) {
	padding-bottom: 0;
}

.site-main--front .block-section-title:has(+ .block-tiles-marquee) + .block-tiles-marquee .block-tiles-marquee__toolbar {
	margin-top: -8px;
}

.block-marquee {
	overflow: hidden;
	overflow-x: clip;
	max-width: 100%;
}

.block-marquee__track {
	display: flex;
	width: max-content;
	animation: block-marquee-scroll var(--marquee-duration, 70s) linear infinite;
}

.block-marquee--pause-hover:hover .block-marquee__track {
	animation-play-state: paused;
}

.block-marquee__list {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.block-marquee__item {
	flex: 0 0 33vw;
	position: relative;
	z-index: 1;
}

.block-marquee__image {
	height: 33vw;
	object-fit: cover;
}

@media screen and (min-width: 900px) {
	/* t552__blockimg_animated: лёгкое увеличение и тень при наведении */
	.block-marquee__image {
		transition: transform 0.15s linear, box-shadow 0.15s linear;
		transform-origin: center center;
	}

	.block-marquee__item:hover,
	.block-marquee__item:focus-within {
		z-index: 2;
	}

	.block-marquee__item:hover .block-marquee__image,
	.block-marquee__item:focus-within .block-marquee__image {
		transform: scale(1.02);
		box-shadow: 0 2px 20px 2px rgba(0, 0, 0, 0.45);
	}
}

.block-banner {
	padding: 75px 0;
}

.block-banner__link {
	display: block;
}

.block-banner__link:focus-visible {
	outline: 2px solid #c5252d;
	outline-offset: 4px;
}

.site-zoom {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.site-zoom[hidden] {
	display: none;
}

.site-zoom__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.86);
}

.site-zoom__panel {
	position: relative;
	z-index: 1;
	max-width: min(1200px, 100%);
	max-height: 100%;
}

.site-zoom__img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 48px);
	width: auto;
	height: auto;
}

.site-zoom__close,
.site-zoom__nav {
	position: absolute;
	z-index: 2;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #fff;
}

.site-zoom__close {
	top: 8px;
	right: 8px;
	font-size: 32px;
	line-height: 1;
}

.site-zoom__nav {
	top: 50%;
	background: rgba(0, 0, 0, 0.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20' viewBox='0 0 12 20' fill='none'%3E%3Cpath d='M10 2L2 10l8 8' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") center no-repeat;
	border-radius: 50%;
	transform: translateY(-50%);
}

.site-zoom__nav--prev {
	left: 8px;
}

.site-zoom__nav--next {
	right: 8px;
	transform: translateY(-50%) scaleX(-1);
}

html.is-zoom-open,
body.is-zoom-open {
	overflow: hidden;
}

@media screen and (min-width: 900px) {
	.block-gallery__title,
	.block-media__title {
		font-size: 42px;
	}

	.block-media__desc {
		font-size: 20px;
	}

	.block-media__image {
		height: 500px;
	}

	.block-media--t1148 .block-media__image {
		height: 500px;
	}
}

@media screen and (max-width: 980px) {
	.block-marquee__image {
		height: 150px;
	}
}

@media screen and (max-width: 640px) {
	.block-marquee__item {
		flex-basis: 150px;
	}

	.block-media--t1148 .block-slider__item--media {
		flex: 0 0 auto;
		width: auto;
		max-width: calc(100vw - (var(--container-gutter) * 2));
	}

	.block-media--t1148 .block-media__image {
		height: 350px;
		max-width: calc(100vw - (var(--container-gutter) * 2));
	}

	.block-slider__item,
	.block-slider__item--media {
		flex-basis: 88%;
	}

	.block-media__head {
		flex-direction: column;
	}

	.block-media--t1148 .block-media__head {
		align-items: flex-start;
	}
}

@media screen and (max-width: 640px) {
	.block-tiles-marquee__slider .block-marquee__item {
		flex-basis: 150px;
	}

	.block-tiles-marquee__slider .block-marquee__image {
		height: 150px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.block-tiles-marquee__slider[data-marquee-autoplay] {
		--marquee-duration: 0s;
	}

	.block-tiles-marquee__scroller {
		scroll-snap-type: x proximity;
	}

	.block-marquee__track {
		animation: none;
		flex-wrap: wrap;
		width: auto;
	}

	.block-marquee__list--dup {
		display: none;
	}

	.block-marquee {
		overflow: visible;
	}

	.block-marquee__item {
		flex-basis: 33.333%;
	}

	.block-marquee__image {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.block-marquee__item:hover .block-marquee__image,
	.block-marquee__item:focus-within .block-marquee__image {
		transform: none;
		box-shadow: none;
	}
}

@keyframes block-marquee-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

/* === popup.css === */
/* Попапы t390: подложка, панель #fbfbf9, крестик. */

html.is-popup-open,
body.is-popup-open {
	overflow: hidden;
}

.site-popup[hidden] {
	display: none;
}

.site-popup {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
}

.site-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}

.site-popup__panel {
	position: relative;
	z-index: 1;
	width: min(100%, 780px);
	max-height: calc(100vh - 48px);
	display: flex;
	flex-direction: column;
}

.site-popup__close {
	position: absolute;
	top: -40px;
	right: 0;
	z-index: 2;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.site-popup__close svg {
	display: block;
}

.site-popup__box {
	overflow: auto;
	background-color: #fbfbf9;
	padding: 36px 40px;
}

.site-popup__uptitle {
	margin: 0 0 8px;
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.35;
	color: #000;
	text-transform: uppercase;
}

.site-popup__title {
	margin: 0 0 20px;
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.25;
	color: #000;
}

.site-popup__section {
	margin: 0 0 16px;
}

.site-popup__label {
	margin: 0 0 8px;
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	color: #000;
}

.site-popup__list {
	margin: 0;
	padding-left: 1.2em;
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}

.site-popup__since,
.site-popup__contacts,
.site-popup__wysiwyg,
.site-popup__wysiwyg p {
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}

.site-popup__wysiwyg > *:first-child {
	margin-top: 0;
}

.site-popup__wysiwyg > *:last-child {
	margin-bottom: 0;
}

.site-popup__contact-link {
	color: #c5252d;
	text-decoration: none;
}

.site-popup__contact-link:hover,
.site-popup__contact-link:focus-visible {
	text-decoration: underline;
}

@media screen and (max-width: 640px) {
	.site-popup__box {
		padding: 24px 20px;
	}

	.site-popup__title {
		font-size: 22px;
	}

	.site-popup__close {
		top: 8px;
		right: 8px;
	}

	.site-popup__close svg g {
		fill: #000;
	}
}

/* === forms.css === */
/**
 * Стили форм заявок — шаг 37.
 * Цвета и кегли из tokens.css / исходника Tilda t678.
 */

.domfk-form {
	box-sizing: border-box;
	width: 100%;
	font-family: var(--font-family);
	font-size: var(--fs-14);
	line-height: var(--lh-base);
	color: var(--c-ink-2);
	position: relative;
}

.domfk-form__company,
.domfk-form__company label,
.domfk-form__company input {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.domfk-form *,
.domfk-form *::before,
.domfk-form *::after {
	box-sizing: border-box;
}

.domfk-form__body {
	display: flex;
	flex-direction: column;
	gap: var(--sp-12);
}

.domfk-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--sp-6);
}

.domfk-form__label {
	font-weight: var(--fw-medium);
	font-size: var(--fs-14);
	color: var(--c-ink-2);
}

.domfk-form__input,
.domfk-form__select,
.domfk-form__textarea {
	width: 100%;
	padding: 12px 14px;
	border: none;
	border-radius: 5px;
	background: #f0f0f0;
	color: var(--c-black);
	font-family: var(--font-family);
	font-size: var(--fs-14);
	line-height: var(--lh-base);
}

.domfk-form__field.is-invalid .domfk-form__input,
.domfk-form__input[aria-invalid="true"] {
	border: 2px solid var(--c-red);
	background: #fff;
}

.domfk-form__input:focus,
.domfk-form__select:focus,
.domfk-form__textarea:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(197, 37, 45, 0.25);
}

.domfk-form__input::placeholder {
	color: var(--c-gray-2);
}

.domfk-form__select {
	appearance: none;
	padding-right: 36px;
	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 14px center;
	cursor: pointer;
}

.domfk-form__textarea {
	min-height: 96px;
	resize: vertical;
}

.domfk-form__field--consent {
	margin-top: var(--sp-8);
}

.domfk-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--sp-10);
	cursor: pointer;
	font-size: var(--fs-12);
	line-height: var(--lh-mid);
}

.domfk-form__checkbox-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.domfk-form__checkbox-indicator {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	border: 2px solid var(--c-red);
	border-radius: 3px;
	background: var(--c-white);
}

.domfk-form__checkbox-input:checked + .domfk-form__checkbox-indicator {
	background: var(--c-red);
	box-shadow: inset 0 0 0 2px var(--c-white);
}

.domfk-form__checkbox-input:focus-visible + .domfk-form__checkbox-indicator {
	outline: 2px solid var(--c-red);
	outline-offset: 2px;
}

.domfk-form__checkbox-text a {
	color: var(--c-red);
	text-decoration: underline;
}

.domfk-form__checkbox-text a:hover,
.domfk-form__checkbox-text a:focus-visible {
	text-decoration: none;
}

.domfk-form__actions {
	margin-top: var(--sp-16);
}

.domfk-form__submit {
	width: 100%;
	border: none;
	cursor: pointer;
}

.domfk-form__submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.domfk-form__error {
	margin: 0;
	font-size: var(--fs-12);
	color: var(--c-red);
}

.domfk-form__error[hidden] {
	display: none;
}

.domfk-form__status {
	margin-top: var(--sp-12);
	padding: var(--sp-12);
	border-radius: 5px;
	font-size: var(--fs-14);
}

.domfk-form__status.is-success {
	background: #e8f5e9;
	color: #2e7d32;
}

.domfk-form__status.is-error {
	background: #ffebee;
	color: var(--c-red);
}

.domfk-form__status[hidden] {
	display: none;
}

.domfk-form.is-sent .domfk-form__body,
.domfk-form.is-sent .domfk-form__field--consent,
.domfk-form.is-sent .domfk-form__actions {
	display: none;
}

/* Hero: светлый текст на тёмном фоне */
.block-hero__form-slot .domfk-form {
	color: var(--c-white);
}

.block-hero__form-slot .domfk-form__label {
	color: var(--c-white);
}

.block-hero__form-slot .domfk-form__checkbox-text,
.block-hero__form-slot .domfk-form__checkbox-text a {
	color: var(--c-white);
}

/* Homepage hero (Tilda t712): white rounded form card on the dark cover.
   Other heroes keep light-on-dark. Popup (#popup:lead) uses .site-popup__form-slot. */
.home .block-hero__form-slot {
	box-sizing: border-box;
	background: var(--c-white);
	color: var(--c-ink-2);
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-card);
	padding: var(--sp-20);
	margin-top: var(--sp-20);
}

@media screen and (min-width: 961px) {
	.home .block-hero__form-slot {
		padding: var(--sp-32);
	}
}

.home .block-hero__form-slot .domfk-form,
.home .block-hero__form-slot .domfk-form__label,
.home .block-hero__form-slot .domfk-form__checkbox-text {
	color: var(--c-ink-2);
}

.home .block-hero__form-slot .domfk-form__checkbox-text a {
	color: var(--c-red);
}

/* promo_block (t700): bbonly — подписи над полями, нижняя граница, pill-кнопка */
.block-promo__form-slot .domfk-form {
	color: var(--c-black);
}

.block-promo__form-slot .domfk-form__body {
	gap: 20px;
}

.block-promo__form-slot .domfk-form__label {
	display: block;
	margin-bottom: 5px;
	font-size: var(--fs-16);
	font-weight: var(--fw-normal);
	color: var(--c-black);
}

.block-promo__form-slot .domfk-form__input {
	padding: 10px 0;
	border: none;
	border-bottom: 1px solid #b3b3b3;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: var(--fs-16);
}

.block-promo__form-slot .domfk-form__input:focus {
	border-bottom-color: var(--c-black);
	box-shadow: none;
}

.block-promo__form-slot .domfk-form__input::placeholder {
	color: var(--c-black);
	opacity: 0.5;
}

.block-promo__form-slot .domfk-form__phone {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 0;
	border-bottom: 1px solid #b3b3b3;
	background: transparent;
}

.block-promo__form-slot .domfk-form__phone .domfk-form__input {
	flex: 1 1 auto;
	border-bottom: none;
}

.block-promo__form-slot .domfk-form__field--consent {
	margin-top: 16px;
}

.block-promo__form-slot .domfk-form__checkbox-text {
	font-size: var(--fs-12);
	line-height: 1.4;
}

.block-promo__form-slot .domfk-form__checkbox-text a {
	color: #ff8562;
}

.block-promo__form-slot .domfk-form__actions {
	margin-top: 8px;
}

.block-promo__form-slot .domfk-form__submit {
	width: 100%;
	min-height: 52px;
	padding: 16px 30px;
	border-radius: 100px;
	font-size: var(--fs-16);
	font-weight: var(--fw-semibold);
}

/* cta_form t678 (/novosty/, табы /shkola-trenerov/): красная рамка, имя и телефон в ряд */
.block-cta--t678 .domfk-form,
.block-courses__form--t678 .domfk-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
}

.block-cta--t678 .domfk-form__body,
.block-courses__form--t678 .domfk-form__body {
	display: contents;
}

.block-cta--t678 .domfk-form__body > input[type="hidden"],
.block-courses__form--t678 .domfk-form__body > input[type="hidden"] {
	display: none;
}

.block-cta--t678 .domfk-form__field--consent,
.block-cta--t678 .domfk-form__actions,
.block-cta--t678 .domfk-form__status,
.block-courses__form--t678 .domfk-form__field--consent,
.block-courses__form--t678 .domfk-form__actions,
.block-courses__form--t678 .domfk-form__status {
	grid-column: 1 / -1;
}

.block-cta--t678 .domfk-form__label,
.block-courses__form--t678 .domfk-form__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.block-cta--t678 .domfk-form__input,
.block-courses__form--t678 .domfk-form__input {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 0 20px;
	border: 2px solid var(--c-red);
	border-radius: 5px;
	background: var(--c-white);
	font-size: var(--fs-16);
}

.block-cta--t678 .domfk-form__input::placeholder,
.block-courses__form--t678 .domfk-form__input::placeholder {
	color: var(--c-black);
	opacity: 0.5;
}

.block-cta--t678 .domfk-form__phone,
.block-courses__form--t678 .domfk-form__phone {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 56px;
	padding: 0 16px 0 12px;
	gap: 8px;
	border: 2px solid var(--c-red);
	border-radius: 5px;
	background: var(--c-white);
}

.block-cta--t678 .domfk-form__phone .domfk-form__input,
.block-courses__form--t678 .domfk-form__phone .domfk-form__input {
	flex: 1 1 auto;
	min-height: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.block-cta--t678 .domfk-form__input:focus,
.block-courses__form--t678 .domfk-form__input:focus {
	box-shadow: 0 0 0 2px rgba(197, 37, 45, 0.25);
}

.block-cta--t678 .domfk-form__phone:focus-within,
.block-courses__form--t678 .domfk-form__phone:focus-within {
	box-shadow: 0 0 0 2px rgba(197, 37, 45, 0.25);
}

.block-cta--t678 .domfk-form__field--consent,
.block-courses__form--t678 .domfk-form__field--consent {
	margin-top: 0;
	text-align: left;
}

.block-cta--t678 .domfk-form__checkbox-text,
.block-courses__form--t678 .domfk-form__checkbox-text {
	font-size: var(--fs-12);
	line-height: 1.45;
	color: var(--c-ink-2);
}

.block-cta--t678 .domfk-form__checkbox-text a,
.block-courses__form--t678 .domfk-form__checkbox-text a {
	color: var(--c-red);
	text-decoration: underline;
}

.block-cta--t678 .domfk-form__actions,
.block-courses__form--t678 .domfk-form__actions {
	margin-top: 0;
}

.block-cta--t678 .domfk-form__submit,
.block-courses__form--t678 .domfk-form__submit {
	width: 100%;
	min-height: 52px;
	padding: 16px 30px;
	border-radius: 30px;
	font-size: var(--fs-16);
	font-weight: var(--fw-semibold);
	box-shadow: 0 5px 15px rgba(248, 54, 0, 0.5);
}

@media screen and (max-width: 640px) {
	.block-cta--t678 .domfk-form,
	.block-courses__form--t678 .domfk-form {
		grid-template-columns: 1fr;
	}
}

/* t678: select под имя|телефон — на всю ширину сетки */
.block-cta--t678 .domfk-form__field:has(.domfk-form__select),
.block-courses__form--t678 .domfk-form__field:has(.domfk-form__select) {
	grid-column: 1 / -1;
	text-align: left;
}

.block-cta--t678 .domfk-form__field:has(.domfk-form__select) .domfk-form__label,
.block-courses__form--t678 .domfk-form__field:has(.domfk-form__select) .domfk-form__label {
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 6px;
	padding: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	border: 0;
	font-size: var(--fs-16);
	font-weight: var(--fw-medium);
	color: var(--c-ink-2);
	text-align: left;
}

.block-cta--t678 .domfk-form__field:has(.domfk-form__select) .domfk-form__select,
.block-courses__form--t678 .domfk-form__field:has(.domfk-form__select) .domfk-form__select {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 0 36px 0 20px;
	border: 2px solid var(--c-red);
	border-radius: 5px;
	background: var(--c-white);
	font-size: var(--fs-16);
	color: var(--c-black);
}

/* Tab t678 (rec1076750086): отступы не зависят от body.page-shkola-trenerov */
.block-courses__form-section .block-courses__form--t678 .domfk-form {
	row-gap: 20px;
	column-gap: 20px;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__field {
	gap: 0;
	margin: 0;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__field--consent {
	margin: 0;
	padding: 0;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__checkbox {
	align-items: flex-start;
	gap: 10px;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__checkbox-indicator {
	margin-top: 1px;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__checkbox-text {
	font-size: 12px;
	line-height: 1.4;
	color: var(--c-black);
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__checkbox-text a {
	color: var(--c-red);
	text-decoration: underline;
}

.block-courses__form-section .block-courses__form--t678 .domfk-form__actions {
	margin: 0;
}

/* #zayavka lead_course (live t678): имя|телефон → чекбокс → курс → кнопка */
.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__field--consent {
	margin-top: 4px;
	text-align: left;
}

.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__field--course {
	margin-top: 16px;
	text-align: left;
}

.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__field--course .domfk-form__label {
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 6px;
	padding: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	border: 0;
	font-size: var(--fs-16);
	font-weight: var(--fw-medium);
	color: var(--c-ink-2);
	text-align: left;
}

.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__select {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 0 36px 0 20px;
	border: 2px solid var(--c-red);
	border-radius: 5px;
	background: #f8ecce;
	font-size: var(--fs-16);
	color: var(--c-black);
}

.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__input,
.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__phone .domfk-form__input {
	background: #f8ecce;
}

.block-cta--t678 .domfk-form[data-domfk-form="lead_course"] .domfk-form__actions {
	margin-top: 8px;
}


/* ——— Квиз (t1040) ——— */

.domfk-form--quiz {
	background: var(--c-white);
	border-radius: 8px;
	box-shadow: 0 30px 40px -10px rgba(0, 0, 0, 0.1);
	padding: var(--sp-24);
}

.domfk-quiz {
	display: flex;
	flex-direction: column;
	gap: var(--sp-16);
}

.domfk-quiz__progressbar {
	height: 6px;
	border-radius: 3px;
	background: rgba(248, 54, 0, 0.2);
	overflow: hidden;
}

.domfk-quiz__progress {
	height: 100%;
	border-radius: 3px;
	background: var(--c-orange-cta);
	transition: width 0.25s ease;
}

.domfk-quiz__step {
	margin: 0;
	padding: 0;
	border: none;
	min-width: 0;
}

.domfk-quiz__step[hidden] {
	display: none;
}

.domfk-quiz__legend {
	margin-bottom: var(--sp-12);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-22);
	line-height: var(--lh-tight);
}

.domfk-quiz__legend--contacts {
	font-size: var(--fs-20);
}

.domfk-quiz__subtitle,
.domfk-quiz__contacts-intro {
	margin: 0 0 var(--sp-16);
	font-size: var(--fs-14);
	line-height: var(--lh-base);
	color: var(--c-gray);
}

.domfk-quiz__hint {
	margin: var(--sp-8) 0 0;
	font-size: var(--fs-12);
	color: var(--c-text-muted);
}

.domfk-quiz__options {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-8);
}

@media (min-width: 640px) {
	.domfk-quiz__options:not(.domfk-quiz__options--multi) {
		grid-template-columns: repeat(2, 1fr);
	}
}

.domfk-quiz__option {
	display: flex;
	align-items: center;
	gap: var(--sp-10);
	padding: 14px 16px;
	border: 0;
	border-radius: 4px;
	background: var(--c-bg-2);
	cursor: pointer;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.domfk-quiz__option:hover {
	background: #ececec;
}

.domfk-quiz__option:has(input:checked) {
	box-shadow: inset 0 0 0 2px var(--c-red);
}

.domfk-quiz__option input {
	flex-shrink: 0;
	accent-color: var(--c-red);
}

.domfk-quiz__option-text {
	font-size: var(--fs-14);
	line-height: var(--lh-mid);
}

.domfk-quiz__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-12);
	margin-top: var(--sp-20);
}

.domfk-quiz__back {
	padding: 10px 20px;
	border: 2px solid var(--c-red);
	border-radius: 5px;
	background: transparent;
	color: var(--c-red);
	font-family: var(--font-family);
	font-size: var(--fs-14);
	cursor: pointer;
}

.domfk-quiz__next {
	flex: 1;
	min-width: 140px;
}

.domfk-form--quiz .domfk-form__actions {
	margin-top: var(--sp-12);
}

.domfk-form--quiz .domfk-form__actions[hidden] {
	display: none;
}

.block-quiz {
	padding: var(--sp-75) 0;
}

.block-quiz__title {
	margin-bottom: var(--sp-32);
	text-align: center;
}

.block-quiz__form-slot--inline .domfk-form--quiz {
	max-width: 1200px;
	margin: 0 auto;
}

/* ——— Налоговый вычет ——— */

.domfk-form--tax-refund .domfk-form__section {
	display: flex;
	flex-direction: column;
	gap: var(--sp-12);
}

.domfk-form__section-title {
	margin: 0 0 var(--sp-8);
	font-size: var(--fs-14);
	line-height: var(--lh-base);
}

.domfk-form__section--child {
	margin-top: var(--sp-20);
	padding-top: var(--sp-16);
	border-top: 1px solid var(--c-border);
}

@media (min-width: 640px) {
	.domfk-form--tax-refund .domfk-form__section {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--sp-12) var(--sp-16);
	}

	.domfk-form--tax-refund .domfk-form__field--full,
	.domfk-form--tax-refund .domfk-form__section-title {
		grid-column: 1 / -1;
	}
}

/* visual57 home form-title lives inside .block-hero__form-slot. Dark on white.
   Does not touch #popup:lead / .site-popup__form-slot. */
.home .block-hero__form-slot .block-hero__form-title,
.front-page .block-hero__form-slot .block-hero__form-title {
	color: var(--c-ink-2);
}

@media screen and (min-width: 981px) {
	.home .block-hero__form-slot,
	.front-page .block-hero__form-slot {
		margin-top: 0;
		padding: 34px;
		max-width: 360px;
		min-height: 409px;
		align-self: flex-start;
	}

	.home .block-hero__form-slot .block-hero__form-title,
	.front-page .block-hero__form-slot .block-hero__form-title {
		margin: 0 0 20px;
		font-size: var(--fs-20);
		line-height: var(--lh-tight);
	}

	.home .block-hero__form-slot .domfk-form__input,
	.front-page .block-hero__form-slot .domfk-form__input,
	.home .block-hero__form-slot .domfk-form__phone,
	.front-page .block-hero__form-slot .domfk-form__phone {
		min-height: 50px;
		box-sizing: border-box;
		font-size: var(--fs-16);
	}

	.home .block-hero__form-slot .domfk-form__field,
	.front-page .block-hero__form-slot .domfk-form__field {
		margin-bottom: 20px;
	}

	.home .block-hero__form-slot .domfk-form__submit,
	.front-page .block-hero__form-slot .domfk-form__submit {
		min-height: 50px;
		font-size: var(--fs-16);
		background-color: transparent;
		background-image: var(--gradient-cta);
		color: var(--c-white);
		box-shadow: 0 0 20px rgba(248, 54, 0, 0.45);
	}
}

.domfk-form__phone {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 12px;
	border-radius: 5px;
	background: #f0f0f0;
}

.domfk-form__phone-flag {
	flex: 0 0 auto;
	width: 22px;
	height: 16px;
	border-radius: 2px;
	background:
		linear-gradient(#fff 0 33%, #0039a6 33% 66%, #d52b1e 66%);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.domfk-form__phone .domfk-form__input {
	flex: 1 1 auto;
	padding-left: 0;
	background: transparent;
}

.block-hero__form-slot .domfk-form__label,
.block-cta--cover .domfk-form__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.block-hero__form-slot .domfk-form__input,
.block-cta--cover .domfk-form__input {
	background: #f0f0f0;
	border: none;
}

.domfk-form__company label {
	display: none;
}


/* —— visual67: live t1040 quiz — wide 2-col constructor —— */

.block-quiz {
	background: #f8ecce;
}

.block-quiz__title {
	display: none;
}

.domfk-form--quiz {
	box-sizing: border-box;
	min-height: 600px;
	padding: 28px 32px 20px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.12);
}

.domfk-quiz {
	display: flex;
	flex-direction: column;
	min-height: 560px;
}

.domfk-quiz__header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}

.domfk-quiz__icon {
	flex: 0 0 36px;
	display: inline-flex;
}

.domfk-quiz__header-title {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: #111;
}

.domfk-quiz__progressbar {
	width: 100%;
	height: 4px;
	margin-bottom: 28px;
	border-radius: 2px;
	background: rgba(248, 54, 0, 0.2);
}

.domfk-quiz__progress {
	background: #f83600;
}

.domfk-quiz__cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px 40px;
	align-items: start;
}

@media screen and (min-width: 800px) {
	.domfk-quiz__cols {
		grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.4fr);
	}
}

.domfk-quiz__legend {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	color: #111;
}

.domfk-quiz__options {
	display: flex;
	flex-direction: column;
	gap: 10px;
	grid-template-columns: none;
}

.domfk-quiz__options:not(.domfk-quiz__options--multi) {
	grid-template-columns: none;
}

.domfk-quiz__option {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 4px;
	background: #f5f5f5;
}

.domfk-quiz__option input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.domfk-quiz__radio {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border: 2px solid #c5252d;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
}

.domfk-quiz__option:has(input:checked) .domfk-quiz__radio {
	box-shadow: inset 0 0 0 4px #c5252d;
}

.domfk-quiz__option:has(input:checked) {
	box-shadow: none;
}

.domfk-quiz__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding-top: 28px;
}

.domfk-quiz__stepnum {
	margin: 0;
	font-size: 13px;
	color: #b3b3b3;
}

.domfk-quiz__nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 0;
}

.domfk-quiz__back {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #8a3a3a;
	font-size: 18px;
	line-height: 1;
}

.domfk-quiz__back:disabled {
	opacity: 0.45;
	cursor: default;
}

.domfk-quiz__next,
.domfk-quiz__submit {
	flex: 0 0 auto;
	min-width: 140px;
	min-height: 44px;
}

.domfk-quiz__next[hidden],
.domfk-quiz__submit[hidden] {
	display: none;
}

.block-cta--cover .domfk-form,
.block-cta--cover .domfk-form__input,
.block-cta--cover .domfk-form__phone {
	max-width: none;
	width: 100%;
}

@media screen and (max-width: 799px) {
	.domfk-form--quiz {
		min-height: 0;
		padding: 20px;
	}

	.domfk-quiz__header-title {
		font-size: 20px;
	}

	.domfk-quiz__legend {
		font-size: 20px;
	}
}


/* —— visual68: quiz rec1483194601 — card 1158×600, 2-col 343/685, radio 60 —— */

.block-quiz {
	padding: 75px 0;
	background: #f8ecce;
}

.block-quiz .block-container,
.block-quiz__inner {
	max-width: 1200px;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.block-quiz__form-slot,
.block-quiz__form-slot--inline,
.block-quiz__form-slot--inline .domfk-form--quiz,
.domfk-form--quiz {
	max-width: none;
	width: 100%;
}

.domfk-form--quiz {
	box-sizing: border-box;
	width: 1158px;
	max-width: 100%;
	min-height: 600px;
	margin: 0 auto;
	padding: 20px 45px 16px;
	background: #fff;
	border-radius: 0;
	box-shadow: none;
}

.domfk-quiz {
	display: flex;
	flex-direction: column;
	min-height: 560px;
}

.domfk-quiz__header {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 50px;
	margin-bottom: 12px;
}

.domfk-quiz__header-title {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.55;
	color: #000;
}

.domfk-quiz__progressbar {
	height: 4px;
	margin-bottom: 22px;
}

.domfk-quiz__cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: start;
}

@media screen and (min-width: 800px) {
	.domfk-quiz__cols {
		grid-template-columns: 343px minmax(0, 685px);
		gap: 40px;
		justify-content: start;
	}
}

.domfk-quiz__legend {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.23;
	color: #000;
}

.domfk-quiz__options {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.domfk-quiz__option {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	min-height: 60px;
	height: 60px;
	padding: 10px 15px;
	border-radius: 4px;
	background: #f5f5f5;
	font-size: 15px;
}

.domfk-quiz__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding-top: 20px;
	min-height: 97px;
}

.domfk-quiz__next,
.domfk-quiz__submit {
	flex: 0 0 auto;
	min-width: 142px;
	min-height: 52px;
	padding: 15px 30px;
	border-radius: 4px;
}

.block-cta--cover .domfk-form {
	width: 720px;
	max-width: 100%;
	margin: 0 auto;
}

.block-cta--cover .block-cta__form-slot {
	width: 720px;
	max-width: 100%;
}

.block-cta--cover .domfk-form__input,
.block-cta--cover .domfk-form__phone {
	box-sizing: border-box;
	width: 560px;
	max-width: 100%;
	height: 56px;
	padding: 0 20px;
	margin: 0 auto;
	background: #fff;
	border-radius: 5px;
	font-size: 16px;
}

.block-cta--cover .domfk-form__field,
.block-cta--cover .domfk-form__actions {
	display: flex;
	justify-content: center;
}

.block-cta--cover .domfk-form__actions .site-btn,
.block-cta--cover .domfk-form button[type="submit"] {
	width: 560px;
	max-width: 100%;
	min-height: 56px;
	padding: 16px 60px;
	border-radius: 100px;
	font-size: 16px;
}

/* Cover CTA: consent on dark background (Tilda personal training block) */
.block-cta--cover .domfk-form__field--consent {
	margin-top: 20px;
}

.block-cta--cover .domfk-form__field--consent .domfk-form__checkbox {
	box-sizing: border-box;
	width: 560px;
	max-width: 100%;
	margin: 0 auto;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 18px;
	color: #fff;
}

.block-cta--cover .domfk-form__checkbox-indicator {
	position: relative;
	width: 20px;
	height: 20px;
	margin-top: -1px;
	border: 2px solid #fff;
	border-radius: 0;
	background: transparent;
}

.block-cta--cover .domfk-form__checkbox-input:checked + .domfk-form__checkbox-indicator {
	background: transparent;
	box-shadow: none;
}

.block-cta--cover .domfk-form__checkbox-input:checked + .domfk-form__checkbox-indicator::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 6px;
	width: 10px;
	height: 5px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.block-cta--cover .domfk-form__checkbox-input:focus-visible + .domfk-form__checkbox-indicator {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.block-cta--cover .domfk-form__checkbox-text {
	color: #fff;
}

.block-cta--cover .domfk-form__checkbox-text a {
	color: #ff8562;
	text-decoration: none;
}

.block-cta--cover .domfk-form__checkbox-text a:hover,
.block-cta--cover .domfk-form__checkbox-text a:focus-visible {
	text-decoration: underline;
}

.block-cta--cover .domfk-form__actions {
	margin-top: 20px;
}

@media screen and (max-width: 799px) {
	.domfk-form--quiz {
		width: 100%;
		min-height: 0;
		padding: 20px;
	}

	.domfk-quiz__legend {
		font-size: 22px;
	}

	.domfk-quiz__option {
		height: auto;
		min-height: 48px;
	}
}
