/* ============================================================
   Баня с чаном — страница /bathhouse/
   Макет: atlant_banya_all_6_screens.svg (6 экранов, 1600x900)
   ============================================================ */

:root {
	/* Background: exact values approved by the client (warm cream, low contrast). */
	--banya-bg: #f6ede5;
	--banya-bg-grad: linear-gradient(110deg, #f7efe6 0%, #f5ece4 48%, #f6ede5 100%);
	--banya-bg-soft: #f1e4d7;
	--banya-card: #fffcfa;
	--banya-card-border: rgba(113, 83, 42, .13);
	/* Greens and oranges are sampled from the live site so the page reads as one brand. */
	--banya-green: #044b3c;
	--banya-green-2: #176243;
	--banya-text: #1d1d1b;
	--banya-muted: #302d29;
	--banya-orange: #e35102;
	--banya-orange-2: #ff7600;
	--banya-border: rgba(113, 83, 42, .16);
	--banya-shadow: 0 18px 45px rgba(24, 54, 38, .10);
	--banya-radius: 28px;

	--banya-serif: 'Oswald', 'TT Norms', Arial, sans-serif;
	--banya-sans: 'Oswald', 'TT Norms', Arial, sans-serif;
}

/* ---------- резиновая сетка ----------
   Макет нарисован под 1672px: поля 78px, контентная колонка 1516px.
   Здесь ничего не фиксируется — поля, кегли и отступы считаются от ширины
   экрана так, чтобы ровно на 1672px совпасть с макетом, а дальше тянуться.
   1px макета = 0.0598vw. */
:root {
	--banya-pad: clamp(16px, 4.665vw, 120px);
	/* Высота боевой шапки. Первый экран вычитает её из высоты окна. */
	--banya-header-h: 137px;
}
.sticky-num.mob a{display:none}
@media (max-width: 1100px) { :root { --banya-header-h: 120px; } }
@media (max-width: 760px)  { :root { --banya-header-h: 96px;  } }

/* ---------- база ---------- */

.bathhouse-page {
	background: var(--banya-bg);
	color: var(--banya-text);
}

/* Шапка сайта на главной лежит поверх слайдера. На этой странице
   первый экран светлый, поэтому шапка становится в поток. */
.bathhouse-page .page-header {
	position: relative;
	z-index: 20;
	background: linear-gradient(180deg, #eef6fa 0%, #f7f2e9 100%);
	border-bottom: 1px solid rgba(113, 83, 42, .10);
}
.bathhouse-page .page-header .logo img { max-height: 62px; width: auto; }
.bathhouse-page .navigation-header > ul > li.current > a { color: var(--banya-green); font-weight: 500; }

.bathhouse-page .callback-dropdown { display: none; }
.bathhouse-page .callback-dropdown.is-open { display: block; }

.banya-page {
	display: block;
	background: var(--banya-bg-grad);
	font-family: var(--banya-sans);
	font-weight: 300;
	overflow-x: clip;
}

.banya-page *,
.banya-page *::before,
.banya-page *::after { box-sizing: border-box; }

.banya-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Растровые иконки от клиента (двухцветные, /theme/img/banya-ico).
   Спрайт остаётся для служебных монолинейных иконок: стрелки, галочки, play. */
.banya-ico {
	display: block;
	object-fit: contain;
	flex: none;
}

/* Ширина макета 1672 при боковых полях 78 -> контентная колонка 1516. */
.banya-container {
	width: 100%;
	margin: 0;
	padding: 0 var(--banya-pad);
}

.banya-section {
	position: relative;
	padding: clamp(14px, 2.1svh, 34px) 0 clamp(16px, 2.4svh, 38px);
	/* The gradient lives on .banya-page, sections must not paint over it. */
	background: transparent;
	overflow: hidden;
}

.banya-section + .banya-section { padding-top: clamp(14px, 2.1svh, 34px); }

/* ---------- типографика ---------- */

.banya-title {
	font-family: var(--banya-serif);
	font-weight: 500;
	color: var(--banya-text);
	line-height: 1.08;
	letter-spacing: 0;
	margin: 0;
}

/* Единый кегль заголовков всех экранов — по правкам клиента. */
.banya-h2 {
	font-size: clamp(30px, 2.4vw, 44px);
	color: var(--banya-green);
	margin: 0 0 14px;
}

/* Экран 3 использует гротеск в заголовке — как в макете */
.banya-h2--sans {
	font-family: var(--banya-sans);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.06;
}

.banya-lead {
	max-width: 660px;
	font-size: 20px;
	line-height: 1.5;
	color: var(--banya-muted);
	font-weight: 300;
	margin: 0;
}

.banya-accent { color: var(--banya-orange); }

/* ---------- бейджи ---------- */

.banya-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 13px 28px 13px 20px;
	border: 1px solid rgba(196, 135, 66, .55);
	border-radius: 999px;
	background: rgba(255, 253, 250, .55);
	color: #9d6b2b;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: clamp(12px, min(2.213vw, 3.93svh), 52px);
}

.banya-badge__icon { width: 24px; height: 24px; color: var(--banya-orange); flex: none; }

.banya-badge--green {
	background: rgba(15, 90, 56, .07);
	border-color: rgba(15, 90, 56, .16);
	color: var(--banya-green-2)!important;
}
.banya-badge--green .banya-badge__icon { color: var(--banya-green-2); }

.banya-badge--orange {
	background: #fff;
	border-color: rgba(243, 107, 19, .45);
	color: var(--banya-orange);
}

/* ---------- кнопки ---------- */

.banya-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 18px 34px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	font-family: var(--banya-sans);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.banya-btn--primary {
	background: linear-gradient(135deg, var(--banya-orange-2), var(--banya-orange));
	color: #fff;
	box-shadow: 0 14px 30px rgba(243, 107, 19, .28);
}

.banya-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 38px rgba(243, 107, 19, .38);
}

.banya-btn__icon { width: 22px; height: 22px; flex: none; filter: grayscale(1) opacity(0.8); }

.banya-btn--stacked {
	flex-direction: column;
	gap: 6px;
	padding: clamp(12px, min(1.555vw, 2.76svh), 40px) clamp(18px, 2.033vw, 52px) clamp(11px, min(1.435vw, 2.55svh), 36px);
	text-align: center;
}
.banya-btn__row { display: inline-flex; align-items: center; gap: 12px; font-size: clamp(13px, min(1.017vw, 2.5svh), 25px);font-weight:400; }
.banya-btn__note {
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0;
	text-transform: none;
	opacity: .95;
}

.banya-btn--wide { width: 100%; }

@media (min-width: 1025px) {
	.banya-steps-faq__cols { grid-template-rows: auto 1fr; align-items: stretch; }
	.banya-faq__list { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
	.banya-steps,
	.banya-faq {
		display: grid;
		grid-row: span 2;
		grid-template-rows: subgrid;
		gap: 0;
	}

	.banya-hero__actions { flex-wrap: nowrap; }
	.banya-hero__actions .banya-btn--stacked { flex: 0 1 auto; min-width: 0; max-width: clamp(260px, 25.72vw, 660px); }
}

/* ---------- декоративные листья ---------- */

.banya-leaf-deco {
	position: absolute;
	pointer-events: none;
	background: no-repeat center / contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 260' fill='none' stroke='%2373915f' stroke-width='2' opacity='.5'%3E%3Cpath d='M100 250C100 150 60 60 20 10'/%3E%3Cpath d='M96 210c-30-6-46-24-52-52 30 4 46 22 52 52Z'/%3E%3Cpath d='M104 200c26-14 36-36 32-64-28 14-38 34-32 64Z'/%3E%3Cpath d='M86 156c-28-8-42-28-44-56 28 8 42 28 44 56Z'/%3E%3Cpath d='M96 140c24-16 32-38 26-66-26 16-34 38-26 66Z'/%3E%3Cpath d='M74 100c-24-12-34-32-32-58 24 12 34 32 32 58Z'/%3E%3Cpath d='M84 82c20-18 26-40 18-66-22 18-28 40-18 66Z'/%3E%3C/svg%3E");
	opacity: .35;
}

.banya-leaf-deco--hero    { top: 90px; left: -60px; width: 260px; height: 340px; transform: rotate(18deg); }
.banya-leaf-deco--prices  { top: 10px; left: 46%; width: 300px; height: 380px; transform: rotate(-12deg); opacity: .22; }
.banya-leaf-deco--emotion { top: 0; right: 2%; width: 300px; height: 380px; transform: rotate(24deg); opacity: .25; }
.banya-leaf-deco--gallery { top: 0; right: 3%; width: 340px; height: 430px; transform: rotate(30deg); opacity: .28; }
.banya-leaf-deco--ready   { right: 24px; bottom: -20px; width: 190px; height: 240px; transform: rotate(58deg); opacity: .3; }
.banya-leaf-deco--final   { right: 10px; bottom: -30px; width: 220px; height: 280px; transform: rotate(40deg); opacity: .22; }

/* ============================================================
   ЭКРАН 1 — HERO
   ============================================================ */

/* Первый экран равен ровно одному экрану браузера: из высоты окна
   вычитается шапка, остаток делят фото и лента карточек.
   Кегли и отступы считаются от ширины: 1px макета (1672) = 0.0598vw. */
.banya-hero {
	display: flex;
	flex-direction: column;
	padding-top: 0;
	padding-bottom: clamp(14px, 1.97vw, 44px);
}

@media (min-width: 1025px) {
	.banya-hero { min-height: max(560px, calc(100svh - var(--banya-header-h))); }
	/* Фото забирает весь остаток высоты, лента карточек — по содержимому. */
	.banya-hero__inner { flex: 1 1 auto; min-height: 0; }
	.banya-hero > .banya-container:last-child { flex: none; }
}

.banya-hero__inner {
	display: grid;
	/* Левая колонка 701, фото 767 + вылет в край — пропорции макета. */
	grid-template-columns: minmax(0, 701fr) minmax(0, 767fr);
	gap: clamp(20px, 2.87vw, 76px);
	align-items: center;
	min-height: 0;
}

/* Заголовок ложится в две строки — кегль уменьшен по правкам клиента. */
.banya-hero__title {
	font-size: clamp(26px, min(3.05vw, 5svh), 74px);
	line-height: 1.18;
	margin-bottom: clamp(14px, min(2.1vw, 3.7svh), 54px);
	color:#044b3c;
}

.banya-hero__lead {
	font-size: clamp(13px, min(1.077vw, 1.91svh), 27px);
	line-height: 1.5;
	color: var(--banya-muted);
	font-weight: 300;
	/* В макете подзаголовок ложится в три строки, а не в одну длинную. */
	max-width: clamp(280px, 25.72vw, 660px);
	margin: 0 0 clamp(12px, min(4.495vw, 6.56svh), 68px);
}

/* Кнопка стоит по центру левой колонки — рейтинг переехал в круг на фото. */
.banya-hero__actions {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: clamp(12px, 1.2vw, 40px);
	flex-wrap: wrap;
}

.banya-rating {
	/*background: var(--banya-card);*/
	border: 1px solid var(--banya-border);
	border-radius: clamp(12px, 1.077vw, 26px);
	padding: clamp(8px, .718vw, 18px) clamp(14px, 1.435vw, 36px);
	min-width: clamp(160px, 12.92vw, 330px);
	box-shadow: var(--banya-shadow);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	text-decoration: none;
	color: inherit;
	transition: transform .25s ease, box-shadow .25s ease;
}

/* Карточка рейтинга ведёт на отзывы в Яндекс Картах. */
a.banya-rating:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(24, 54, 38, .16); }

.banya-rating__top { display: flex; align-items: center; gap: 8px; }
.banya-rating__star { color: #f5b301; font-size: clamp(20px, 1.674vw, 42px); line-height: 1; }
.banya-rating__value { font-size: clamp(22px, 1.794vw, 45px); font-weight: 500; color: var(--banya-text); }
.banya-rating__label { font-size: clamp(12px, .897vw, 22px); line-height: 1.35; color: var(--banya-muted); font-weight: 300; }

/* --- правая часть: фото + плашки --- */

.banya-hero__media { position: relative; align-self: stretch; min-height: 0; }

/* Фото уходит в правый край экрана: вылет равен боковому полю страницы. */
.banya-hero__photo {
	position: absolute;
	inset: 0 calc(-1 * var(--banya-pad)) 0 0;
	border-radius: clamp(16px, 1.795vw, 44px) 0 0 clamp(20px, 2.393vw, 58px);
	overflow: hidden;
}
.banya-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.banya-price-plate {
	position: absolute;
	top: clamp(12px, 1.495vw, 38px);
	left: clamp(16px, 2.572vw, 66px);
	width: clamp(230px, min(22.73vw, 40.4svh), 580px);
	background: var(--banya-card);
	border-radius: clamp(14px, 1.196vw, 30px);
	padding: clamp(14px, 1.435vw, 36px) clamp(16px, 1.555vw, 40px) clamp(12px, 1.316vw, 34px);
	box-shadow: 0 22px 50px rgba(20, 40, 28, .22);
	z-index: 3;
	/* Клиент попросил плашку на 10% меньше — масштабируем целиком со скидкой. */
	transform: scale(.9);
	transform-origin: top left;
}

.banya-price-plate__caption {
	font-size: clamp(11px, min(.897vw, 1.6svh), 22px);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--banya-text);
	font-weight: 500;
	margin-bottom: clamp(6px, .598vw, 15px);
}

.banya-price-plate__old {
	position: relative;
	display: inline-block;
	font-size: clamp(18px, min(1.794vw, 3.19svh), 45px);
	color: #2b3a34;
	font-weight: 400;
}
.banya-price-plate__old::after {
	content: "";
	position: absolute;
	left: -3%; right: -3%; top: 52%;
	height: 3px;
	background: #e0392b;
	transform: rotate(-3deg);
}

.banya-price-plate__new {
	font-family: var(--banya-serif);
	font-size: clamp(30px, min(3.349vw, 5.95svh), 84px);
	font-weight: 600;
	color: #0f3d2e;
	line-height: 1.02;
	margin-top: 2px;
}

.banya-price-plate__when {
	font-size: clamp(12px, min(1.077vw, 1.91svh), 27px);
	color: var(--banya-muted);
	margin-bottom: clamp(6px, .598vw, 15px);
}

.banya-price-plate__tag {
	display: inline-block;
	background: var(--banya-green-2);
	color: #fff;
	font-size: clamp(11px, min(.897vw, 1.6svh), 22px);
	font-weight: 400;
	padding: clamp(5px, .419vw, 11px) clamp(12px, 1.196vw, 30px);
	border-radius: 999px;
}

.banya-discount-circle {
	position: absolute;
	right: calc(-1 * clamp(14px, 1.555vw, 40px));
	top: clamp(28px, min(4.007vw, 7.12svh), 100px);
	width: clamp(78px, min(7.297vw, 12.97svh), 184px);
	height: clamp(78px, min(7.297vw, 12.97svh), 184px);
	border-radius: 50%;
	background: linear-gradient(140deg, var(--banya-orange-2), #e85f0a);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/* Белое кольцо отделяет круг от плашки, как в макете. */
	box-shadow: 0 0 0 clamp(4px, .419vw, 11px) var(--banya-card), 0 14px 30px rgba(232, 95, 10, .30);
}
.banya-discount-circle__label { font-size: clamp(9px, min(.897vw, 1.6svh), 22px); letter-spacing: .04em; text-transform: uppercase; }
.banya-discount-circle__value { font-size: clamp(22px, min(2.392vw, 4.25svh), 60px); font-weight: 600; line-height: 1.05; }

.banya-hero__bubble {
	position: absolute;
	left: calc(-1 * clamp(24px, 3.11vw, 80px));
	bottom: clamp(16px, 0vw, 60px);
	width: clamp(110px, min(10.945vw, 19.45svh), 276px);
	height: clamp(110px, min(10.945vw, 19.45svh), 276px);
	border-radius: 50%;
	overflow: hidden;
	border: clamp(4px, .359vw, 9px) solid var(--banya-card);
	box-shadow: 0 18px 40px rgba(20, 40, 28, .25);
	z-index: 3;
}
.banya-hero__bubble img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* В кружке на фото стоит рейтинг Яндекс Карт (вместо фото компании). */
.banya-rating--circle {
	background: var(--banya-card);
	padding: clamp(8px, .9vw, 22px);
	min-width: 0;
	align-items: center;
	text-align: center;
	gap: 0;
	border-radius: 50%;
}
.banya-rating--circle .banya-rating__top { justify-content: center; gap: 6px; }
.banya-rating--circle .banya-rating__star { font-size: clamp(16px, min(1.4vw, 2.5svh), 34px); }
.banya-rating--circle .banya-rating__value { font-size: clamp(20px, min(1.9vw, 3.4svh), 46px); line-height: 1.05; }
.banya-rating--circle .banya-rating__label { font-size: clamp(9px, min(.78vw, 1.4svh), 18px); line-height: 1.25; margin-top: 2px; }

/* ---------- лента карточек ---------- */

.banya-chips {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: clamp(10px, 1.495vw, 38px);
	list-style: none;
	margin: clamp(10px, min(1.256vw, 2.23svh), 32px) 0 0;
	padding: 0;
}

.banya-chip {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.615vw, 40px);
	background: #fdfdfd75;
	border: 0px solid var(--banya-card-border);
	border-radius: clamp(14px, 1.316vw, 34px);
	padding: clamp(9px, min(1.077vw, 1.91svh), 27px) clamp(12px, 1.555vw, 40px) clamp(9px, min(1.077vw, 1.91svh), 27px) clamp(14px, 2.213vw, 56px);
	box-shadow: 0 10px 26px rgba(24, 54, 38, .05);
	font-size: clamp(12px, min(1.077vw, 1.91svh), 27px);
	line-height: 1.42;
	color: var(--banya-text);
	font-weight: 400;
	transition: transform .25s ease, box-shadow .25s ease;
}
.banya-chip:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(24, 54, 38, .12); }
.banya-chip__icon { width: clamp(28px, min(3.349vw, 5.95svh), 84px); height: clamp(28px, min(3.349vw, 5.95svh), 84px); color: #12261e; flex: none; }

/* ============================================================
   ЭКРАН 2 — ТАРИФЫ
   ============================================================ */

.banya-prices__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 620px);
	gap: 30px;
	align-items: start;
	margin-bottom: clamp(10px, 1.7svh, 28px);
}

/* Заголовок и подзаголовок стоят по центру свободного места до фото. */
.banya-prices__intro { text-align: center; }
.banya-prices__intro .banya-lead { margin-left: auto; margin-right: auto; }

/*.banya-prices__media { position: relative; height: 208px; }*/
.banya-prices__media {
    position: absolute;
    height: 308px;
    right: 15px;
    width: 38%;
}

/* На экранах 2+ бейдж стоит ближе к заголовку, чем на первом. */
.banya-section:not(.banya-hero) .banya-badge { margin-bottom: 22px; color: #a35a1c; }

.banya-prices__photo {
	position: absolute;
	top: 0;
	right: 0;
	left: 130px;
	bottom: 24px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: var(--banya-shadow);
}
.banya-prices__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.banya-prices__bubble {
	position: absolute;
	left: 30px;
	top: 12px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	overflow: hidden;
	border: 5px solid var(--banya-bg);
	box-shadow: 0 16px 34px rgba(20, 40, 28, .22);
	z-index: 2;
}
.banya-prices__bubble img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- тарифные карточки --- */

.banya-tariffs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.495vw, 38px);
	margin-bottom: clamp(10px, 1.6svh, 26px);
}

.banya-tariff {
	position: relative;
	background: var(--banya-card);
	border: 1px solid var(--banya-card-border);
	border-radius: var(--banya-radius);
	padding: clamp(14px, min(1.435vw, 2.55svh), 36px) clamp(16px, 1.674vw, 42px) clamp(15px, min(1.555vw, 2.76svh), 40px);
	box-shadow: 0 14px 34px rgba(24, 54, 38, .09);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.banya-tariff:hover { transform: translateY(-4px); box-shadow: 0 24px 55px rgba(24, 54, 38, .16); }

.banya-ribbon {
	position: absolute;
	top: 0;
	right: 30px;
	width: 88px;
	padding: 10px 0 20px;
	background: var(--banya-green-2);
	color: #fff;
	text-align: center;
	font-size: 12px;
	line-height: 1.25;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
}
.banya-ribbon b { display: block; font-size: 25px; font-weight: 600; }

.banya-tariff__head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--banya-card-border);
}

.banya-tariff__ic {
	width: 66px; height: 66px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-tariff__ic svg,
.banya-tariff__ic .banya-ico { width: 34px; height: 34px; }
.banya-tariff__ic--green  { background: #e2efd9; color: #3f7c2b; }
.banya-tariff__ic--orange { background: #fde2cb; color: #d2470a; }
.banya-tariff__ic--night  { background: #e2e8f2; color: #16324c; }

.banya-tariff__title {
	font-family: var(--banya-serif);
	font-size: 35px;
	font-weight: 400;
	color: var(--banya-green);
	margin: 0;
	line-height: 1.1;
}
.banya-tariff__sub { font-size: clamp(15px, min(1.017vw, 1.81svh), 22px); color: var(--banya-muted); margin: 2px 0 0; font-weight: 300; }

.banya-formula {
	display: flex;
	align-items: center;
	justify-content:center;
	gap: 35px;
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	flex-wrap: wrap;
}
.banya-formula li { display: flex; align-items: center; gap: 9px; font-size: clamp(14px, min(1.017vw, 2.4svh), 21px); line-height: 1.2; color: var(--banya-text); }
.banya-formula li svg,
.banya-formula li .banya-ico { width: 40px; height: 40px; color: var(--banya-green); flex: none; }
.banya-formula__plus { color: #b98f5d; font-size: 20px; font-weight: 400; }

.banya-tariff__price {
	font-family: var(--banya-serif);
	font-size: 50px;
	font-weight: 600;
	color: var(--banya-green);
	text-align: center;
	line-height: 1.05;
}

.banya-tariff__bonus {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 12px;
	padding: 10px 16px;
	background: #fdeee1;
	border-radius: 12px;
	color: var(--banya-orange);
	font-size: 16px;
}
.banya-tariff__bonus svg,
.banya-tariff__bonus .banya-ico { width: 22px; height: 22px; flex: none; }

/* --- нижний ряд экрана 2 --- */

.banya-prices__extra {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.495vw, 38px);
	margin-bottom: clamp(10px, 1.7svh, 28px);
}

.banya-extra {
	position: relative;
	background: #fdfdfd3b;
	border: 1px solid var(--banya-card-border);
	border-radius: 22px;
	padding: 20px 26px;
	box-shadow: 0 12px 30px rgba(24, 54, 38, .07);
	overflow: hidden;
}

.banya-extra__title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--banya-serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--banya-green);
	margin: 0 0 12px;
}
.banya-extra__ic { width: 26px; height: 26px; color: var(--banya-green-2); flex: none; }
.banya-extra__ic--orange { color: var(--banya-text); }
.banya-extra__title--orange { color: var(--banya-text); justify-content: center; }

.banya-rows { margin: 0; }
.banya-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 8px 0;
	border-bottom: 1px solid var(--banya-border);
}
.banya-row:last-child { border-bottom: 0; }
.banya-row dt { font-size: 15px; color: var(--banya-muted); font-weight: 300; }
.banya-row dd { margin: 0; font-size: 15px; color: var(--banya-muted); display: flex; align-items: center; gap: 10px; }
.banya-row dd b { font-family: var(--banya-serif); font-size: 24px; color: var(--banya-green); font-weight: 700; }

.banya-mini-tag {
	background: #f0ead6;
	color: #4e8b3a;
	font-size: 14px;
	padding: 5px 10px;
	border-radius: 20px;
	white-space: nowrap;
}
.banya-mini-tag.no-tag { background: transparent; }

/* Цены в «Баня без чана» стоят в один столбик: колонка под скидку фиксирована,
   поэтому 9 000 ₽ выравнивается по 7 000 ₽ и 8 000 ₽. */
.banya-extra--solo .banya-row dd {
	display: grid;
	grid-template-columns: max-content 108px;
	align-items: center;
	gap: 10px;
}
.banya-extra--solo .banya-mini-tag { text-align: center; }
.banya-extra__watermark {
	position: absolute;
	right: -18px; bottom: 0;
	width: 104px; height: 104px;
	color: rgba(113, 83, 42, .12);
	pointer-events: none;
	z-index: 0;
	opacity:.6
}
.banya-extra--solo .banya-rows { position: relative; z-index: 1; }

.banya-worktime {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 12px 0 0;
	padding: 9px 14px;
	background: rgba(15, 90, 56, .06);
	border-radius: 12px;
	font-size: 14px;
	color: var(--banya-muted);
	font-weight: 300;
}
.banya-worktime svg,
.banya-worktime .banya-ico { width: 18px; height: 18px; color: var(--banya-green-2); flex: none; }

.banya-extra--cta {
background: #fdfdfd3b;
	text-align: center;
}
.banya-extra__text { max-width: 42ch; margin: 0 auto clamp(10px, 1.7svh, 26px); font-size: clamp(14px, min(1.017vw, 1.81svh), 21px); line-height: 1.5; color: #4a463d; font-weight: 300; }
.banya-extra__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 14px 0 0;
	font-size: 14px;
	color: var(--banya-muted);
	font-weight: 300;
}
.banya-extra__note svg,
.banya-extra__note .banya-ico { width: 18px; height: 18px; color: var(--banya-orange); flex: none; }

.banya-chips--row .banya-chip { min-height: 76px; padding: 0 20px 0 24px; gap: 18px; font-size: 15px; }
.banya-chips--row .banya-chip__icon { width: 40px; height: 40px; }

/* ============================================================
   ЭКРАН 3 — ЧТО ВХОДИТ
   ============================================================ */

.banya-included__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.56fr);
	gap: clamp(20px, 2.393vw, 60px);
	align-items: stretch;
}

/* Заголовок, подзаголовок и плашка стоят по центру места до фото. */
.banya-included__left > .banya-badge {
	display: flex;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.banya-included__head {
	text-align: center;
	margin-bottom: 22px;
}
.banya-included__head .banya-lead { margin: 0 auto; }

.banya-included .banya-h2--sans { font-size: clamp(30px, 2.4vw, 44px); }
.banya-included .banya-lead{max-width:750px;}
.banya-note-card {
	display: flex;
	align-items: center;
	gap: 18px;
	/*background: var(--banya-card);*/
	border: 1px solid var(--banya-border);
	border-radius: 22px;
	padding: 22px 26px;
	box-shadow: 0 10px 26px rgba(24, 54, 38, .06);
	margin: 1rem 0 0;
}
.banya-note-card__ic {
	width: 62px; height: 62px;
	border-radius: 50%;
	background: #e3d5c8;
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-note-card__ic svg,
.banya-note-card__ic .banya-ico { width: 30px; height: 30px; color: var(--banya-green-2); }
.banya-note-card p { margin: 0; font-size: 20px; line-height: 1.5; color:var(--banya-green); font-weight: 300; }
.banya-note-card b { color: var(--banya-green); font-weight: 500; }

.banya-features {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(10px, 0.957vw, 24px);
	list-style: none;
	margin: 0 0 clamp(14px, min(1.555vw, 2.76svh), 40px);
	padding: 0;
}

.banya-feature {
	background: #fdfdfd54;
	border: 1px solid var(--banya-card-border);
	box-shadow: 0 8px 22px rgba(24, 54, 38, .06);
	border-radius: 20px;
	padding: clamp(12px, min(1.15vw, 2.05svh), 28px) clamp(10px, .9vw, 22px) clamp(11px, min(1.07vw, 1.9svh), 26px);
	text-align: center;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.banya-feature:hover {
	transform: translateY(-4px);
	background: #fff;
	box-shadow: 0 16px 34px rgba(24, 54, 38, .10);
}
.banya-feature__ic {
	width: clamp(40px, min(3.5vw, 6.2svh), 86px);
	height: clamp(40px, min(3.5vw, 6.2svh), 86px);
	margin: 0 auto clamp(8px, min(.95vw, 1.7svh), 22px);
	color: var(--banya-green-2);
}
.banya-feature h3 {
	font-size: clamp(14px, min(1.017vw, 1.8svh), 21px);
	font-weight: 500;
	color: var(--banya-green);
	margin: 0 0 clamp(5px, .9svh, 12px);
	line-height: 1.2;
}
.banya-feature p { margin: 0; font-size: clamp(12px, min(.837vw, 1.5svh), 17px); line-height: 1.45; color: #4a463d; font-weight: 300; }

.banya-ready {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	background: #e8e6d6;
	border-radius: 22px;
	padding: 16px 24px;
	overflow: hidden;
}
.banya-ready__ic {
	width: 54px; height: 54px;
	border-radius: 50%;
	background: #fff;
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-ready__ic svg,
.banya-ready__ic .banya-ico { width: 28px; height: 28px; color: var(--banya-green-2); }
.banya-ready b {
	display: block;
	font-family: var(--banya-serif);
	font-size: 20px;
	font-weight: 700;
	color: var(--banya-green);
	margin-bottom: 3px;
}
.banya-ready span { font-size: 15px; color: var(--banya-text); font-weight: 300; }
.banya-leaf-deco--ready { position: absolute; }

.banya-included__photo {
	position: relative;
	/* Фото уходит в правый край экрана — как на первом экране. */
	margin-right: calc(-1 * var(--banya-pad));
	border-radius: var(--banya-radius) 0 0 var(--banya-radius);
	overflow: hidden;
	box-shadow: var(--banya-shadow);
	min-height: min(640px, 62svh);
}
/* Как и на 4-м экране: снимок не должен задавать высоту колонки. */
.banya-included__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============================================================
   ЭКРАН 4 — НЕ САУНА НА ЧАС
   ============================================================ */

.banya-emotion__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: clamp(14px, min(1.555vw, 2.76svh), 40px) clamp(18px, 2.033vw, 52px);
	align-items: stretch;
	/* Строки по содержимому: иначе свободная высота фото раздувает пустоту
	   между карточками и CTA-плашкой. */
	align-content: start;
}

.banya-emotion__photo {
	position: relative;
	grid-row: span 2;
	border-radius: var(--banya-radius);
	overflow: hidden;
	box-shadow: var(--banya-shadow);
	min-height: min(460px, 48svh);
	height: 100%;
}
/* Небо в кадре обрезаем — фото прижато к нижней части.
   Абсолютное позиционирование обязательно: иначе собственная высота снимка
   растягивает строки сетки и в правой колонке появляется пустота. */
.banya-emotion__photo > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 78%;
	display: block;
}

.banya-video-teaser {
	position: absolute;
	width: 82%;
	left: 22px;
	right: 22px;
	bottom: 22px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: clamp(10px, 1.7svh, 26px) clamp(14px, 1.315vw, 34px);
	border: 0;
	border-radius: 18px;
	background: rgba(7, 45, 30, .78);
	backdrop-filter: blur(6px);
	color: #fff;
	text-align: left;
	cursor: pointer;
	transition: background .25s ease, transform .25s ease;
	font-family: var(--banya-sans);
}
.banya-video-teaser:hover { background: rgba(7, 45, 30, .9); transform: translateY(-2px); }
.banya-video-teaser__play {
	width: 54px; height: 54px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .8);
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-video-teaser__play svg { width: 26px; height: 26px; color: #fff; }
.banya-video-teaser__text b { display: block; font-size: 16px; font-weight: 400; line-height: 1.3; }
.banya-video-teaser__text i { display: block; font-style: normal; font-size: 13px; opacity: .8; margin-top: 5px; font-weight: 300; }

.banya-emotion__text .banya-h2 { font-size: clamp(24px, min(2.4vw, 4.2svh), 44px); margin-bottom: clamp(8px, 1.7svh, 26px); }

.banya-audience {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(10px, 1.077vw, 27px);
	list-style: none;
	margin: clamp(12px, 2.3svh, 36px) 0 0;
	padding: 0;
}

.banya-audience__item {
	position: relative;
	background: rgba(255, 250, 243, .38);
	border: 1px solid rgba(113, 83, 42, .10);
	border-radius: 20px;
	padding: clamp(11px, 1.6svh, 24px) clamp(12px, 1.15vw, 28px) clamp(12px, 1.7svh, 26px);
	transition: transform .25s ease, box-shadow .25s ease;
}
.banya-audience__item:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(24, 54, 38, .10); }

.banya-audience__ic {
	width: clamp(30px, min(2.95vw, 5.2svh), 72px);
	height: clamp(30px, min(2.95vw, 5.2svh), 72px);
	background: #ede3d9 !important;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: clamp(7px, 1.3svh, 22px);
}
.banya-audience__item:first-child .banya-audience__ic{
	background: #e1763c36 !important;
}
.banya-audience__ic svg,
.banya-audience__ic .banya-ico { width: 55%; height: 55%; }
.banya-audience__ic--warm { background: #fdeee1; color: #2b3a2f; }
.banya-audience__ic--sand { background: #f0efe6; color: #2b3a2f; }
.banya-audience__ic--cool { background: #e9eef4; color: #2b3a2f; }

.banya-audience__item h3 { font-size: clamp(14px, min(1.077vw, 2.4svh), 21px); font-weight: 500; color: var(--banya-green); margin: 0 0 clamp(4px, .8svh, 11px); }
.banya-audience__item p { margin: 0 0 clamp(7px, 1.2svh, 17px); font-size: clamp(12px, min(.837vw, 1.5svh), 17px); line-height: 1.5; color: #4a463d; font-weight: 300; }

.banya-audience__line { display: block; width: 42px; height: 3px; border-radius: 2px; }
.banya-audience__line--orange,
.banya-audience__line--warm { background: var(--banya-orange); }
.banya-audience__line--green,
.banya-audience__line--sand { background: #1f5c3a; }
.banya-audience__line--blue,
.banya-audience__line--cool { background: #2f6f9e; }


/* --- CTA-карточка --- */

.banya-emotion__cta {
	grid-column: 2;
	position: relative;
	z-index: 2;
	/* Плашка наезжает на фото слева — как в макете. */
	margin-left: calc(-1 * clamp(40px, 7vw, 180px));
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.56fr);
	/* Точные значения градиента прислал клиент. */
	background: linear-gradient(90deg, #f9e1cd 0%, #fae5d3 55%, #fbe8d7 100%);
	border-radius: var(--banya-radius);
	overflow: hidden;
	box-shadow: var(--banya-shadow);
}
.banya-emotion__cta-text { padding: clamp(10px, 1.4svh, 22px) clamp(16px, 1.7vw, 40px); }
.banya-emotion__cta-title {
	font-family: var(--banya-serif);
	font-size: clamp(16px, min(1.4vw, 2.5svh), 24px);
	font-weight: 700;
	color: var(--banya-text);
	line-height: 1.2;
	margin: 0 0 5px;
}
.banya-emotion__cta-title--orange { color: #000; margin-bottom: 10px; }
.banya-emotion__cta .banya-btn { padding: 25px 24px; }
.banya-emotion__cta-note { margin: clamp(5px, .7svh, 10px) 0 0; font-size: clamp(12px, min(.837vw, 1.5svh), 16px); line-height: 1.4; color: var(--banya-muted); font-weight: 300; }
.banya-emotion__cta-photo { position: relative; min-height: min(150px, 16svh); }
.banya-emotion__cta-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.banya-emotion__cta-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #fbe6d2 0%, rgba(251, 230, 210, 0) 42%);
	z-index: 1;
}

/* --- нижняя полоса --- */

.banya-strip {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: clamp(12px, 2.2svh, 34px) 0 0;
	padding: clamp(10px, 1.7svh, 26px) 0 0;
	border-top: 1px solid var(--banya-border);
}
.banya-strip li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0 22px;
	border-right: 1px solid var(--banya-border);
	font-size: 15px;
	line-height: 1.35;
	color: var(--banya-text);
	font-weight: 300;
}
.banya-strip li:first-child { padding-left: 0; }
.banya-strip li:last-child { border-right: 0; }
.banya-strip li > svg,
.banya-strip li > .banya-ico { width: 34px; height: 34px; color: var(--banya-green-2); flex: none; }

.banya-strip--final { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.banya-strip--final b { display: block; font-weight: 400; color: var(--banya-text); }
.banya-strip--final i { display: block; font-style: normal; color: var(--banya-muted); font-size: 14px; margin-top: 3px; }

/* ============================================================
   ЭКРАН 5 — ФОТО И ВИДЕО
   ============================================================ */

/* Заголовок и подзаголовок экрана — по центру. */
.banya-gallery .banya-h2 { font-size: clamp(30px, 2.4vw, 44px); text-align: center; }
.banya-gallery .banya-lead { margin: 0 auto 24px; text-align: center; }
.banya-gallery > .banya-container > .banya-badge { display: flex; width: fit-content; margin-left: auto; margin-right: auto; }

.banya-gallery__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
	gap: clamp(10px, 1.196vw, 30px);
	align-items: stretch;
	/* Общая высота блока: видео слева = два ряда миниатюр справа. */
	--banya-gallery-h: clamp(260px, 42svh, 430px);
}

.banya-video {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--banya-radius);
	overflow: hidden;
	cursor: pointer;
	background: #0c1a12;
	/* Высота видео равна двум рядам миниатюр справа. */
	height: var(--banya-gallery-h);
	box-shadow: var(--banya-shadow);
}
.banya-video > img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; transition: transform .5s ease, opacity .3s ease; }
.banya-video:hover > img { transform: scale(1.03); opacity: 1; }

.banya-video__play {
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 108px; height: 108px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	border: 3px solid rgba(255, 255, 255, .85);
	display: flex; align-items: center; justify-content: center;
	backdrop-filter: blur(3px);
	transition: transform .25s ease, background .25s ease;
}
.banya-video:hover .banya-video__play { transform: translate(-50%, -50%) scale(1.07); background: rgba(255, 255, 255, .3); }
.banya-video__play svg { width: 54px; height: 54px; color: #fff; }

.banya-video__bar {
	position: absolute;
	left: 22px; right: 22px; bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	color: #fff;
}
.banya-video__label { display: inline-flex; align-items: center; gap: 12px; font-size: 17px; font-weight: 300; }
.banya-video__label svg,
.banya-video__label .banya-ico { width: 26px; height: 26px; }
.banya-video__time {
	background: rgba(255, 255, 255, .9);
	color: var(--banya-text);
	font-size: 14px;
	padding: 7px 16px;
	border-radius: 999px;
}

/* --- сетка миниатюр --- */

/* Два ряда: 4 кадра сверху, 4 кадра и кнопка «ещё» снизу. */
.banya-thumbs {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: clamp(8px, 0.837vw, 20px);
	height: var(--banya-gallery-h);
}

/* auto-flow: лишнее фото в ряду просто уплотняет ряд, а не ломает сетку */
.banya-thumbs__row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 14px;
	min-height: 0;
}
.banya-thumbs__row--3 { grid-template-columns: 1.5fr 1.5fr 1fr; }
.banya-thumbs__row--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.banya-thumbs__row--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Кадры только для лайтбокса — вне сетки, чтобы не сбивать nth-child и ряды */
.banya-gallery__extra { display: none; }

.banya-thumb {
	position: relative;
	display: block;
	border: 0;
	padding: 0;
	border-radius: 16px;
	overflow: hidden;
	cursor: pointer;
	background: var(--banya-bg-soft);
	min-height: 0;
}
.banya-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.banya-thumb:hover img { transform: scale(1.06); }

.banya-thumb--hidden { display: none; }

.banya-thumb--more {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: #fdf1e4;
	border: 1px dashed rgba(243, 107, 19, .5);
	color: var(--banya-orange);
	font-family: var(--banya-sans);
	font-size: 15px;
	transition: background .25s ease, transform .25s ease;
}
.banya-thumb--more:hover { background: #fbe6d2; transform: translateY(-3px); }
.banya-thumb--more svg { width: 40px; height: 40px; }

.banya-real {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin: 22px 0 0;
	padding: 16px 26px;
	background: var(--banya-card);
	border: 1px solid var(--banya-border);
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(24, 54, 38, .06);
}
.banya-real__ic {
	width: 46px; height: 46px;
	border-radius: 50%;
	background: #fdeee1;
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-real__ic svg,
.banya-real__ic .banya-ico { width: 24px; height: 24px; color: var(--banya-orange); }
.banya-real b { display: block; font-size: 17px; font-weight: 400; color: var(--banya-text); }
.banya-real i { display: block; font-style: normal; font-size: 14px; color: var(--banya-muted); margin-top: 3px; font-weight: 300; }

/* ============================================================
   ЭКРАН 6 — ШАГИ, FAQ, ФИНАЛЬНЫЙ CTA
   ============================================================ */

.banya-steps-faq__cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 46px;
	align-items: start;
}

/* Заголовки колонок — тем же кеглем, что и на остальных экранах. */
.banya-steps .banya-lead { margin-bottom: 22px; }
.banya-faq .banya-h2 { margin-bottom: 22px; }

.banya-steps__list { list-style: none; margin: 0; padding: 0; }

.banya-step {
	display: grid;
	grid-template-columns: 42px 62px minmax(0, 1fr) 200px;
	align-items: stretch;
	gap: 0 12px;
	min-height: 132px;
	background: var(--banya-card);
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 10px;
	padding-left: 18px;
	box-shadow: 0 8px 22px rgba(24, 54, 38, .05);
	transition: transform .25s ease, box-shadow .25s ease;
}
.banya-step:hover { transform: translateX(3px); box-shadow: 0 14px 30px rgba(24, 54, 38, .10); }

.banya-step__num {
	width: 34px; height: 34px;
	border-radius: 10px;
	background: #fdeee1;
	color: var(--banya-orange);
	display: flex; align-items: center; justify-content: center;
	font-size: 18px;
	font-weight: 500;
	align-self: center;
}
.banya-step__ic { width: 48px; height: 48px; color: var(--banya-green-2); align-self: center; }
.banya-step__text { padding: 20px 14px 20px 0; align-self: center; }
.banya-step__text h3 {
	font-family: var(--banya-serif);
	font-size: 21px;
	font-weight: 700;
	color: var(--banya-text);
	margin: 0 0 8px;
	line-height: 1.15;
}
.banya-step__text p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--banya-muted); font-weight: 300; }
.banya-step__photo { position: relative; display: block; align-self: stretch; }
.banya-step__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- FAQ --- */

.banya-faq__list { display: flex; flex-direction: column; gap: 10px; }

.banya-faq__item {
	background: var(--banya-card);
	border: 1px solid var(--banya-border);
	border-radius: 18px;
	overflow: hidden;
	transition: box-shadow .25s ease;
}
.banya-faq__item.is-open { box-shadow: 0 12px 28px rgba(24, 54, 38, .08); }

.banya-faq__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 22px 26px;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	font-family: var(--banya-sans);
	font-size: 18px;
	font-weight: 300;
	color: var(--banya-text);
	line-height: 1.3;
}
.banya-faq__btn:hover { color: var(--banya-green); }

.banya-faq__chevron {
	width: 12px; height: 12px;
	border-right: 2px solid var(--banya-muted);
	border-bottom: 2px solid var(--banya-muted);
	transform: rotate(45deg);
	margin-top: -5px;
	flex: none;
	transition: transform .3s ease;
}
.banya-faq__item.is-open .banya-faq__chevron { transform: rotate(-135deg); margin-top: 4px; }

.banya-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .35s ease;
}
.banya-faq__item.is-open .banya-faq__answer { grid-template-rows: 1fr; }
.banya-faq__answer > p {
	overflow: hidden;
	margin: 0;
	padding: 0 26px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--banya-muted);
	font-weight: 300;
	/* Раскрытие ответа анимируется прозрачностью, а не padding:
	   анимация геометрии дёргает раскладку. */
	opacity: 0;
	transition: opacity .3s ease;
}
.banya-faq__item.is-open .banya-faq__answer > p { padding: 0 26px 24px; opacity: 1; }

/* --- финальный CTA --- */

.banya-final {
	position: relative;
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	align-items: center;
	gap: 26px;
	margin-top: clamp(14px, 2.3svh, 36px);
	padding: clamp(16px, 2.7svh, 42px) clamp(22px, 2.75vw, 70px);
	background: linear-gradient(120deg, #0c4429, #0a3721);
	border-radius: var(--banya-radius);
	overflow: hidden;
	box-shadow: 0 22px 50px rgba(10, 55, 33, .28);
}
.banya-final__ic {
	width: 96px; height: 96px;
	border-radius: 20px;
	border: 2px solid rgba(255, 255, 255, .3);
	display: flex; align-items: center; justify-content: center;
	flex: none;
}
.banya-final__ic svg,
.banya-final__ic .banya-ico { width: 52px; height: 52px; color: #fff; }
.banya-final__title { color: #fff; font-size: clamp(28px, 2.6vw, 44px); margin: 0 0 12px; }
.banya-final__text p { margin: 0; font-size: 17px; line-height: 1.45; color: rgba(255, 255, 255, .82); font-weight: 300; }

.banya-btn--final {
	padding: 20px 38px;
	font-family: var(--banya-serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	z-index: 2;
}
.banya-leaf-deco--final { position: absolute; }

/* ============================================================
   МОДАЛЬНЫЕ ОКНА
   ============================================================ */

.banya-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}
.banya-modal[hidden] { display: none; }

.banya-modal__backdrop { position: absolute; inset: 0; background: rgba(6, 26, 17, .82); backdrop-filter: blur(4px); }

.banya-modal__box {
	position: relative;
	z-index: 1;
	max-width: 100%;
	max-height: 100%;
	animation: banya-pop .25s ease;
}
@keyframes banya-pop { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }

.banya-modal__close {
	position: absolute;
	top: -46px; right: 0;
	width: 38px; height: 38px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
	z-index: 3;
}
.banya-modal__close:hover { background: rgba(255, 255, 255, .3); }

.banya-modal__box--video { width: min(1100px, 100%); }
.banya-modal__box--video video { width: 100%; max-height: 82vh; border-radius: 18px; display: block; background: #000; }

.banya-modal__box--lightbox { display: flex; align-items: center; gap: 16px; }
.banya-modal__box--lightbox img { max-width: min(1200px, 86vw); max-height: 82vh; border-radius: 16px; display: block; }

.banya-lightbox__nav {
	width: 52px; height: 52px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	flex: none;
	transition: background .2s ease;
}
.banya-lightbox__nav:hover { background: rgba(255, 255, 255, .32); }

.banya-lightbox__counter {
	position: absolute;
	left: 50%; bottom: -36px;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .8);
	font-size: 14px;
	font-family: var(--banya-sans);
	white-space: nowrap;
}

.banya-modal__box--quiz { width: min(760px, 100%); }
.banya-quiz-placeholder {
	background: var(--banya-card);
	border-radius: var(--banya-radius);
	padding: 46px 48px;
	text-align: center;
	font-family: var(--banya-sans);
}
.banya-quiz-placeholder h3 {
	font-family: var(--banya-serif);
	font-size: 30px;
	font-weight: 700;
	color: var(--banya-green);
	margin: 0 0 14px;
}
.banya-quiz-placeholder p { font-size: 16px; line-height: 1.5; color: var(--banya-muted); margin: 0 0 26px; font-weight: 300; }
.banya-quiz-placeholder small { display: block; margin-top: 20px; font-size: 13px; color: #9aa5af; }

body.banya-modal-open { overflow: hidden; }

/* ============================================================
   АДАПТИВ
   ============================================================ */

@media (max-width: 1440px) {
	.banya-container { padding: 0 34px; }
	.banya-hero__photo { inset: 0 calc(-1 * var(--banya-pad)) 0 0; }
	.banya-prices__photo { right: -34px; }
	.banya-discount-circle { right: -50px; width: 104px; height: 104px; }
	.banya-discount-circle__value { font-size: 30px; }
	.banya-hero__bubble { left: -44px; width: 160px; height: 160px; }
}

@media (max-width: 1200px) {
	.banya-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.banya-chips {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		justify-content: stretch;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.banya-included__inner { grid-template-columns: minmax(0, 1fr); }
	.banya-included__photo { min-height: 420px; order: -1; }
	.banya-included__head { grid-template-columns: minmax(0, 1fr); }
	.banya-emotion__inner { grid-template-columns: minmax(0, 1fr); }
	.banya-emotion__photo { grid-row: auto; min-height: 480px; }
	.banya-emotion__cta { grid-column: 1; }
	.banya-gallery__grid { grid-template-columns: minmax(0, 1fr); }
	/* В одну колонку ряды идут по своей высоте, общая высота блока не нужна. */
	.banya-video { height: auto; min-height: 420px; }
	.banya-thumbs { height: auto; grid-template-rows: none; }
	.banya-thumbs__row { grid-auto-rows: 150px; }
	.banya-step { grid-template-columns: 42px 56px minmax(0, 1fr) 160px; }
}

@media (max-width: 1024px) {
	.banya-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 30px; min-height: 0; }
	.banya-hero__media { min-height: 460px; }
	.banya-hero__photo { position: relative; inset: auto; height: 460px; border-radius: var(--banya-radius); }
	.banya-hero__bubble { left: 16px; bottom: 16px; }
	.banya-price-plate { left: auto; right: 16px; top: 16px; width: 260px; }
	.banya-discount-circle { right: auto; left: -44px; top: auto; bottom: -30px; }

	.banya-prices__head { grid-template-columns: minmax(0, 1fr); }
	/* На десктопе медиа-блок абсолютный: в одной колонке возвращаем его в поток,
	   иначе фото и кружок ложатся поверх заголовка. */
	.banya-prices__media { position: relative; right: auto; width: 100%; height: 260px; order: -1; margin-bottom: 30px; }
	.banya-prices__photo { position: relative; inset: auto; height: 100%; border-radius: 22px; }
	.banya-prices__bubble { left: auto; right: 20px; top: -30px; }

	.banya-tariffs,
	.banya-prices__extra { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* В две колонки карточка узкая — лента со скидкой перекрывает заголовок. */
	.banya-tariff__head { padding-right: 96px; }
	.banya-tariff__title { font-size: 28px; }
	/* На планшете CTA уходит в свою строку под два прайс-блока. */
	.banya-extra--cta { grid-column: span 2; order: 1; }

	.banya-audience { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.banya-steps-faq__cols { grid-template-columns: minmax(0, 1fr); gap: 34px; }
	.banya-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 0; }
	.banya-strip li { border-right: 0; padding-left: 0; }
	.banya-strip--final { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.banya-final { grid-template-columns: minmax(0, 1fr); text-align: left; padding: 30px 32px; }
	.banya-final__ic { display: none; }
	.banya-btn--final { justify-self: start; }
}

@media (max-width: 767px) {
	.sticky-num.mob a {
        color: #16836c;
        padding-left: 25px;
		display:block
    }
	.banya-final__text {text-align: center;}


	.banya-hero{
		position:relative;
		background: url(/assets/images/banya/home.jpg) no-repeat right bottom;
		background-size: cover;
	}
	.banya-hero::before{
		 background: #ffffff6b;
		 position:absolute;
		 content:"";
		 width:100%;
		 height:100%; 
		 top:0;
	}
	.banya-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
	}
	.banya-extra--cta {
        order: 0;
    }
	.banya-container .banya-chips{display:none;}
	.banya-container { padding: 0 18px;position: relative; }
	.banya-section { padding: 34px 0 26px; }
	.banya-section + .banya-section { padding-top: 26px; }

	.banya-badge { font-size: 12px; padding: 10px 18px 10px 14px; margin-bottom: 18px; }

	/* Заголовок теперь в две строки — на телефоне кегль меньше, иначе
	   «Банный спа-комплекс» не влезает в ширину экрана. */
	.banya-hero__title { font-size: clamp(28px, 8.2vw, 36px); }
	.banya-btn--stacked { max-width: 100%; }
	.banya-btn__note { font-size: 13px; white-space: normal; }
	.banya-hero__lead { font-size: 16px; margin: 40px 0;color: #000; color:#06251e;font-weight:500;}
	.banya-hero__lead br,
	.banya-lead br { display: none; }
	.banya-hero__actions { flex-direction: column; }
	.banya-btn { width: 100%; }
	.banya-btn--stacked { width: 100%; }
	.banya-rating { flex-direction: row; align-items: center; gap: 14px; }
	.banya-rating--circle { flex-direction: column; gap: 0; }

	.banya-hero__media { min-height: 0;         display: none;}
	.banya-hero__photo { display:none;}
	/* Уменьшение плашки на 10% — только для десктопного макета. */
	.banya-price-plate { position: relative; right: auto; top: auto; left: auto; width: 100%; margin-top: 16px; transform: none; }
	.banya-discount-circle { left: auto; right: 18px; top: 18px; bottom: auto; width: 88px; height: 88px; }
	.banya-discount-circle__label { font-size: 10px; }
	.banya-discount-circle__value { font-size: 26px; }
	/* кружок остаётся внутри фотографии, а не наезжает на плашку */
	.banya-hero__bubble { width: 124px; height: 124px; left: 12px; top: 144px; bottom: auto; border-width: 4px; display:none;}

	.banya-chips {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		justify-content: stretch;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		margin-top: 24px;
	}
	.banya-chip { min-height: 0; padding: 14px 18px; gap: 14px; }
	.banya-chip__icon { width: 42px; height: 42px; }

	.banya-tariffs,
	.banya-prices__extra { grid-template-columns: minmax(0, 1fr); }
	.banya-extra--cta { grid-column: auto; }
	.banya-tariff { padding: 24px 22px 26px; }
	.banya-tariff__price { font-size: 42px; }
	/* Лента со скидкой лежит поверх шапки — резервируем под неё место,
	   иначе она закрывает часть заголовка («Выходной день» → «Выходной»). */
	.banya-ribbon { right: 14px; width: 76px; font-size: 11px; padding: 8px 0 16px; }
	.banya-ribbon b { font-size: 21px; }
	.banya-tariff__head { padding-right: 84px; gap: 12px; }
	.banya-tariff__title { font-size: 30px; }
	.banya-tariff__ic { width: 54px; height: 54px; }
	.banya-tariff__ic svg,
	.banya-tariff__ic .banya-ico { width: 28px; height: 28px; }
	/* Формула «баня + чан + чай» должна уместиться в одну строку. */
	.banya-formula { gap: 10px; margin-bottom: 14px; }
	.banya-formula li { font-size: 13px; gap: 6px; }
	.banya-formula li svg,
	.banya-formula li .banya-ico { width: 30px; height: 30px; }
	.banya-formula__plus { font-size: 15px; }
	/* На телефоне сначала текст, потом фото — кружок с фото уходит вниз-влево. */
	.banya-prices__media { height: 200px; order: 0; margin: 6px 0 0; }
	.banya-prices__bubble { width: 104px; height: 104px; left: 8px; right: auto; top: auto; bottom: -22px; border-width: 4px; }

	.banya-features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.banya-feature { padding: 18px 12px 16px; }
	.banya-included__photo { min-height: 260px; }
	.banya-ready { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 22px;display:none; }
	.banya-ready b { font-size: 20px; }
	.banya-leaf-deco { display: none; }

	.banya-emotion__photo { min-height: 320px; }
	.banya-video-teaser { left: 12px; right: 12px; top: 12px;
        bottom: auto;
        padding: 14px 16px;
        gap: 12px;
        width: 93%; padding: 14px 16px; gap: 12px; }
	.banya-video-teaser__play { width: 44px; height: 44px; }
	.banya-audience { grid-template-columns: minmax(0, 1fr); }
	/* В одну колонку карточка компактнее: иконка слева, текст справа. */
	.banya-audience__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: 14px;
		align-items: start;
		padding: 16px 18px;
	}
	section#banya-emotion .banya-lead {
    text-align:center;
    font-size: 17px;
	}
	.banya-emotion__text .banya-h2{text-align:center;font-size: 22px;}
	.banya-audience__ic { grid-row: 1 / span 3; width: 44px; height: 44px; margin-bottom: 0; }
	/* Уменьшенный под десктоп кегль на телефоне читается плохо — возвращаем. */
	.banya-audience__item h3 { font-size: 17px; }
	.banya-audience__item p { font-size: 14px; margin-bottom: 10px; }
	.banya-audience__item p br { display: none; }
	.banya-feature h3 { font-size: 15px; }
	.banya-feature p { font-size: 13px; }
	/* Плашка наезжает на фото только на десктопе. */
	.banya-emotion__cta { grid-template-columns: minmax(0, 1fr); margin-left: 0; }
	.banya-emotion__cta-text { padding: 24px 22px; }
	.banya-emotion__cta-title br { display: none; }
	.banya-emotion__cta-photo { min-height: 180px; order: -1; }
	.banya-emotion__cta-photo::before { background: linear-gradient(0deg, #fbe6d2 0%, rgba(251, 230, 210, 0) 50%); }

	.banya-strip,
	.banya-strip--final { grid-template-columns: minmax(0, 1fr); gap: 14px;display:none; }

	.banya-video { max-height: 260px; min-height:200px;}
	.banya-video__play { width: 72px; height: 72px; }
	.banya-video__play svg { width: 34px; height: 34px; }
	.banya-video__label { font-size: 14px; }
	/* Ряды раскрываются в общий поток (display: contents), иначе 4 и 5 кадров
	   делятся на «сиротские» строки. На телефоне — ровная сетка 3 в ряд. */
	.banya-thumbs {
		gap: 10px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: 84px;
	}
	.banya-thumbs__row { display: contents; }

	.banya-step { grid-template-columns: 34px 44px minmax(0, 1fr); padding-left: 14px; }
	.banya-step__photo { display: none; }
	.banya-step__text { padding: 16px 14px 16px 0; }
	.banya-step__text h3 { font-size: 18px; }

	.banya-faq__btn { font-size: 16px; padding: 18px 20px; }
	.banya-faq__answer > p { padding: 0 20px; }
	.banya-faq__item.is-open .banya-faq__answer > p { padding: 0 20px 20px; }

	.banya-final { padding: 26px 22px; gap: 18px; }
	.banya-btn--final { width: 100%; justify-self: stretch; font-size: 17px; }

	.banya-modal { padding: 16px; }
	.banya-modal__close { top: -42px; }
	.banya-modal__box--lightbox { gap: 6px; }
	.banya-lightbox__nav { width: 40px; height: 40px; font-size: 24px; }
	.banya-quiz-placeholder { padding: 32px 22px; }
	.banya-quiz-placeholder h3 { font-size: 24px; }
}

@media (max-width: 460px) {
	body{padding-bottom:0!important}
}

@media (prefers-reduced-motion: reduce) {
	.banya-page * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   МОБИЛЬНОЕ МЕНЮ ШАПКИ
   Чанк [[$header]] отдаёт только десктопную шапку, поэтому бургер,
   выезжающая панель и их стили живут здесь. Классы совпадают
   с остальными страницами сайта (page.css), чтобы меню выглядело
   и вело себя одинаково.
   ============================================================ */

.bathhouse-page .burger-menu {
	display: none;
	position: fixed;
	top: 14px;
	right: 14px;
	z-index: 1003;
	width: 46px;
	height: 46px;
	padding: 0;
	background: var(--banya-card);
	border: 1px solid var(--banya-border);
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(20, 40, 28, .16);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: background .3s ease, border-color .3s ease;
}
.bathhouse-page .burger-menu span {
	width: 24px;
	height: 3px;
	border-radius: 2px;
	background: var(--banya-green);
	transition: transform .3s ease, opacity .3s ease, background .3s ease;
}
/* Открытое меню — бургер поверх зелёной панели, полоски белые. */
.bathhouse-page .burger-menu.active {
	background: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .35);
}
.bathhouse-page .burger-menu.active span { background: #fff; }
.bathhouse-page .burger-menu.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.bathhouse-page .burger-menu.active span:nth-child(2) { opacity: 0; }
.bathhouse-page .burger-menu.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

.bathhouse-page .mobile-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: 320px;
	max-width: 85%;
	height: 100vh;
	height: 100svh;
	z-index: 1002;
	padding: 80px 30px 30px;
	background: linear-gradient(180deg, #1a5f4a 0%, #2d8659 100%);
	box-shadow: -4px 0 20px rgba(0, 0, 0, .2);
	overflow-y: auto;
	transition: right .4s cubic-bezier(.4, 0, .2, 1);
}
.bathhouse-page .mobile-menu.active { right: 0; }

.bathhouse-page .mobile-menu nav ul { list-style: none; padding: 0; margin: 0; }
.bathhouse-page .mobile-menu nav li {
	margin-bottom: 10px;
	opacity: 0;
	transform: translateX(30px);
	transition: opacity .3s ease, transform .3s ease;
}
.bathhouse-page .mobile-menu.active nav li { opacity: 1; transform: translateX(0); }
.bathhouse-page .mobile-menu.active nav li:nth-child(1) { transition-delay: .10s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(2) { transition-delay: .15s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(3) { transition-delay: .20s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(4) { transition-delay: .25s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(5) { transition-delay: .30s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(6) { transition-delay: .35s; }
.bathhouse-page .mobile-menu.active nav li:nth-child(7) { transition-delay: .40s; }

.bathhouse-page .mobile-menu nav a {
	display: block;
	padding: 15px 20px;
	border-radius: 8px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	transition: background .3s ease, transform .3s ease;
}
.bathhouse-page .mobile-menu nav a:hover { background: rgba(255, 255, 255, .1); transform: translateX(5px); }

.bathhouse-page .mobile-menu .has-submenu { position: relative; }
.bathhouse-page .mobile-menu .submenu-toggle { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.bathhouse-page .mobile-menu .submenu-toggle i { font-size: 14px; transition: transform .3s ease; }
.bathhouse-page .mobile-menu .has-submenu.submenu-active .submenu-toggle i { transform: rotate(180deg); }
.bathhouse-page .mobile-menu .submenu {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
.bathhouse-page .mobile-menu .has-submenu.submenu-active .submenu { max-height: 500px; }
.bathhouse-page .mobile-menu .submenu li { margin-bottom: 5px; padding-left: 20px; opacity: 1; transform: none; }
.bathhouse-page .mobile-menu .submenu a { padding: 12px 20px; font-size: 16px; color: rgba(255, 255, 255, .9); }
.bathhouse-page .mobile-menu .submenu a:hover { background: rgba(255, 255, 255, .15); color: #fff; }

.bathhouse-page.menu-open { overflow: hidden; }
.bathhouse-page.menu-open::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 1001;
	background: rgba(0, 0, 0, .5);
}

/* До 1024px шапка сворачивается в «логотип + бургер».
   Ниже 768px style.css прячет .page-header совсем (на других страницах его
   заменяет зелёный fixed-header, которого на этой странице нет) — поэтому
   шапку возвращаем и делаем компактной, иначе страница остаётся без неё. */
@media (max-width: 1024px) {
	.bathhouse-page .burger-menu { display: flex; }
	.bathhouse-page .page-header {
		display: block;
		position: sticky;
		top: 0;
		z-index: 1000;
		background: var(--banya-card);
		box-shadow: 0 2px 14px rgba(20, 40, 28, .10);
	}
	.bathhouse-page .page-header .header-start,
	.bathhouse-page .page-header .topnav { display: none; }
	.bathhouse-page .page-header .container { padding-left: 16px; padding-right: 16px; }
	.bathhouse-page .page-header .header-main {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		min-height: 74px;
		padding-right: 70px;
	}
	.bathhouse-page .page-header .logo img { max-height: 50px; width: auto; }
	.bathhouse-page .burger-menu { top: 14px; }
}
