/* ====== VARIABLES (если ещё нет) ====== */
:root{
	--container:1312px;
	--c-text:#0C274A;         /* из Figma */
	--c-border:#E7E9ED;       /* линии-разделители */
	--c-footer-bg:#0F2746;          /* глубокий синий */
	--c-footer-bg-2:#0C274A;        /* вариация */
	--c-footer-text:#EAF1FF;
	--c-footer-muted:#C9D5E8;
	--c-footer-sep: rgba(255,255,255,.12);
	--font-main: "Raleway", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif;
}

html{
	font-family: var(--font-main) ;
}



/* Чтобы элементы форм не сбрасывали шрифт */
body, button, input, textarea, select {
	font: inherit;
}

/* (необязательно) фиксируем «верхний» предел жирности под твои правила */
h1, h2, h3, h4, h5, h6 { font-weight: 500; line-height: 100% !important; }

h1{
	text-transform: uppercase;
}

/* ===== Footer (Figma-tight) ===== */

body{
	padding: 0;
	margin: 0;
	background: #eef2f3;
}

html{
	margin: 0 !important;
}

.entry-content{
	padding: 0 0 50px;
}

/* Общий контейнер */
.container{max-width:calc(var(--container) + 32px);margin:0 auto;padding:0 16px}

/* ====== HEADER ====== */
.header{
	position: fixed;
	z-index: 100;
	width: 100%;
	background: transparent;
	transition: color .2s ease, fill .2s ease, background-color .2s ease;
}
.header-top{border-bottom:1px solid var(--c-border)}
.header-top__row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:10px !important;}
.header-top__locations{display:flex;align-items:center;gap:50px;font:400 13px/1.4 'Montserrat',sans-serif;    flex: 1;
	justify-content: flex-end;margin-right:50px;}
.header-top__dot{opacity:.5}
.header-top__info{display:flex;align-items:center;gap:100px}
.header-top__phone{color:var(--c-text);text-decoration:none;font:500 13px/1.4 'Montserrat',sans-serif}
.header-top__time{color:var(--c-text);opacity:.8;font:400 13px/1.4 'Montserrat',sans-serif}
.header-top__sep{width:1px;height:14px;background:var(--c-border);display:inline-block}
.header-top__socials{display:flex;gap:15px;margin-left:6px}
.soc{width:34px;height:34px;display:inline-block;border-radius:50%}

/* Bottom line */
.header-bottom{border-bottom:1px solid var(--c-border)}
.header-bottom__row{display:flex;align-items:center;gap:24px;min-height:38px;padding:5px 10px !important;}
.logo img{display:block;max-height:36px;width:174px}

/* Menu */
.nav__list{display:flex;gap:35px;list-style:none;margin:0;padding:0}
.nav__link{display:inline-block;padding:5px 0;font:400 17px/26px 'Raleway',sans-serif;color:var(--c-text);text-decoration:none}
.is-active>.nav__link{font-weight:600}

/* Language */
.lang{display:flex;gap:10px;margin-left:auto}
.lang__item{font:400 13px/18px 'Montserrat',sans-serif;color:var(--c-text);text-decoration:none;opacity:.7}
.lang__item.is-active{opacity:1;font-weight:600}

/* Burger + mobile */
.burger{display:none;width:32px;height:32px;border:none;background:transparent;align-items:center;justify-content:center;gap:5px;flex-direction: column;padding:0;}
.burger span{display:block;width:24px;height:2px;background:#fff;border-radius: 1px;}



.header{ color:#fff !important; transition: color .2s ease; }
/* ссылки/иконки тоже берут текущий цвет */
.header a{ color:inherit; transition: color .2s ease; }
.header span{
	color:inherit; transition: color .2s ease;
	font-size: 13px;
}
.header .icon svg path,
.header .logo svg path{ fill: currentColor; }

/* светлая тема: тёмный текст поверх белого */
.header.header--light{ color:#0C274A !important;background: #fff; }

.header-top__info_contact{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.header-top__loc{
	max-width: 242px;
}













/* ===== Hero (точно по макету, без лишних подзаголовков) ===== */
.hero{position:relative; overflow:hidden; color:#fff; background:#0F2746; min-height: 720px;}
.hero__slide{position:relative; min-height:680px}
.hero__bg{position:absolute; inset:0; width:100%; height:100%; object-fit: initial; object-position:center;}



.hero__slide::after{content:""; position:absolute; inset:0;
	/* затемнение слева как на макете */
	background:linear-gradient(90deg, rgba(7,18,34,.78) 0%, rgba(7,18,34,.44) 32%, rgba(7,18,34,0) 68%);
	pointer-events:none;
}
.hero__inner{position:relative; z-index:2; min-height:680px; display:flex; align-items: flex-end;}
.hero__content{max-width:680px; margin-bottom: 20px;}
.hero__title{margin:0 0 18px; font:500 67px/1.1 'Raleway',sans-serif; letter-spacing:.02em;text-transform:uppercase;}
.hero__note{margin:0 0 6px; font:400 18px/1.6 'Montserrat',sans-serif; opacity:.95}
.hero__note strong{
	font-weight: 700;
}

.hero__actions{margin-top:25px; display:flex; gap:12px}

/* Скрываем стандартные точки slick */
.hero .slick-dots{display:none!important}


/* ===== Hero bullets (fixed) ===== */


.hero__nav{
	position:absolute;
	left:0; right:0; bottom:24px;   /* можно +- подогнать по макету */
	z-index:3;
}

/* сами булеты теперь не absolute — они внутри .container, значит всегда
стартуют с левого края сетки и стоят одной линией */
.hero__bullets{
	display:flex; gap:18px; align-items:center;
	/* на всякий случай, чтобы никогда не переносились */
	flex-wrap: nowrap;
}


.hero__bullet{
	position:relative;
	width:42px;                 /* длина трека под макет 1440 */
	height:3px;
	background:rgba(255,255,255,.28);
	border-radius:2px;
	overflow:hidden;
	cursor:pointer;
	will-change: width;
	border: none;
	transition: all .3s;
}

.hero__bullet.is-active{
	width: 144px;
	transition: all .3s;
}
.hero__bullet-fill{
	position:absolute; left:0; top:0; bottom:0;
	width:0; background:#fff; border-radius:inherit;
}
.hero__bullet.is-active .hero__bullet-fill{
	animation: heroFill 4.5s linear forwards; /* длительность JS всё равно задаёт */
}




.hero .btn.btn--primary{

	font:400 18px/1 'Raleway',sans-serif;
	padding:14px 24px;
	border-radius: 1px;
	color: #fff;
	text-decoration: none;
}
.hero .btn.btn--primary:hover{ opacity:.9 }



/* Цінник у герої (3-й слайд) */
.hero__pricebox{display:inline-flex; align-items:center; gap:12px; margin:10px 0 6px;background:#fff; padding: 5px 8px;}
.hero__price-old{
	text-decoration:line-through;
	color: var(--c-text);
	font:500 25px/1 'Montserrat',sans-serif;
	opacity:.9;
}
.hero__price-new{
	display:inline-block;
	padding:6px 12px;
	background:#fff;
	color:#0F2746;
	border-radius:1px;
	font:500 41px/1 'Montserrat',sans-serif;
}

/* Hero checklist (если еще нет) */
.hero__list{
	list-style:none; margin:14px 0 16px; padding:0;
	display:flex; flex-direction:column; gap:14px; max-width:560px;
}
.hero__li{
	position:relative; padding-left:38px; color:#fff; font:400 16px/1.6 "Montserrat",sans-serif;
}
.hero__li::before{
	content:""; position:absolute; left:0; top:2px; width:22px; height:22px;
	border-radius:50%; background:#2DBE60;
}
.hero__li::after{
	content:""; position:absolute; left:7px; top:9px; width:7px; height:12px;
	border:2px solid #fff; border-top:none; border-left:none; transform:rotate(45deg);
}

/* Если у тебя нет модификатора для статичного героя: */
.hero--static{
	position:relative; color:#fff; /* фон через custom property */
	background:#000;
}
.hero--static::before{
	content:""; position:absolute; inset:0;
	background-image:var(--hero-img); background-size:cover; background-position:center;
	opacity:1;
}
.hero__overlay{ position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 100%);
}
.hero__in{ position:relative; z-index:1; padding:120px 10px 80px !important; }

.services-page .hero{
	height: 259px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: auto;
}

.services-page .hero .hero__title{
	position: relative;
}


.services-page{
	padding-top: 114px;
}

.services-page .hero__title{
	margin: 0;
}





/* ===== WHY (ЧОМУ ОБИРАЮТЬ) ===== */
.why{background:#fff; padding:56px 0; border-top:1px solid #E7E9ED; border-bottom:1px solid #E7E9ED;}
.why__title{margin:0 0 28px; text-transform:uppercase;	font:500 67px/1.05 'Raleway',sans-serif;}
.why__over{
	color:#A9B3C5;                /* світло-сірий із макета */
	letter-spacing:.02em;
	text-transform:uppercase;
	font-size: inherit;
}
.why__brand{
	color: var(--c-text);                /* темно-синій бренд */
	font-size: inherit;
	letter-spacing:.01em;
	margin: 0;
}

.why__grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:70px 48px;
	list-style:none; margin:0; padding:8px 0 0;
}

.why-item{display:flex; align-items:center; gap:14px}
.why-item__icon{width:40px; height:40px; flex:0 0 40px}
.why-item__title{
	font:500 20px/1.2 'Montserrat',sans-serif;
	letter-spacing:.04em;
	color: var(--c-text);
	text-transform:uppercase;
	margin:0 0 6px;
}
.why-item__text{
	color:#445062;                /* спокійний сірий */
	font:400 18px/1.6 'Montserrat',sans-serif;
}

.why-item__content{
	max-width: 259px;
}





/* ===== Popular (grid) ===== */
.popular{padding:48px 0}
.popular__title{
	margin:0 0 20px;
	font:500 32px/1.2 'Raleway',sans-serif;
	color: var(--c-text);
}
.popular__actions{margin-top:16px; display:flex; justify-content:center}

/* Grid */
.cards-grid{
	display:grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap:24px;
}

/* Card */
.card{background:#fff; border:1px solid #E7E9ED; border-radius:1px; overflow:hidden; display:flex; flex-direction:column}
.card__media{display:block; position:relative; aspect-ratio: 416/280; background:#f3f5f8}
.card__img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}

.card__body{padding:16px}
.card__title{margin:0 0 8px; font:500 18px/1.3 'Raleway',sans-serif; color:#0C274A}
.card__title a{color:inherit; text-decoration:none}
.card__excerpt{margin:0 0 10px; color:#445062; font:400 14px/1.6 'Montserrat',sans-serif}

.card__meta{display:flex; gap:10px; align-items:center; margin-top:auto}
.card__tag{
	display:inline-block; padding:6px 10px; border:1px solid #E7E9ED; border-radius:999px;
	font:500 13px/1 'Montserrat',sans-serif; color:#445062; background:#fff;
}
.card__price{
	display:inline-block; padding:6px 10px; border-radius:999px;
	font:500 13px/1 'Montserrat',sans-serif; color: var(--c-text); background:#E9F0FA;
}

.card__btn{margin-top:12px}

/* адаптив */

/* ===== POPULAR (static cards) ===== */
.massages{padding:35px 0 0}
.massages__title{margin:0 0 30px; font:500 51px/1.2 'Raleway',sans-serif; color: var(--c-text);text-transform:uppercase;}

.massages__grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:24px;
}

/* Card */
.svc-card{display:flex; flex-direction:column; border-radius:2px; overflow:hidden}
.svc-card__media{position:relative; background:#6C6C6C; aspect-ratio: 332/328}
.svc-card__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}

/* Badges */
.svc-card__badges{position:absolute; left:16px; top:16px; display:flex; gap:8px}

.badge--hit,.badge--author{background:#ECEFF3; color:#445062}
.badge--popular{    
	background: #113B6B;
	color: #fff;
	font-weight: 400;
	font-size: 14px;
}

.badge--new {
	background: #2BB965;   /* или ваш зелёный из макета */
	color: #fff;
	border-color: #2BB965;
}


/* Body */
.svc-card__body{padding:12px 16px 8px 0px;min-height: 130px;}
.svc-card__row{display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-top:1px solid #E7E9ED}
.svc-card__row:first-child{border-top:none; padding-top:0}

.svc-card__name,.svc-card__name a{font:500 18px/1.2 'Montserrat',sans-serif; color: var(--c-text); text-transform:uppercase;min-height: 44px;text-decoration: none;}
.svc-card__detail{font:400 17px/1.3 'Montserrat',sans-serif; color:#0C274A}
.svc-card__price{font:500 20px/1.2 'Montserrat',sans-serif; color:#0C274A}

/* Button */
.svc-card__more{
	margin:0; display:block; text-align:center; text-decoration:none;
	padding:14px 16px; border:1px solid var(--c-text) !important; border-radius:2px;
	color: var(--c-text); font:600 14px/1 'Raleway',sans-serif;
	transition: all .3s;
}
.svc-card__more:hover{background: var(--c-text); color:#fff}

.massages__all-btn{
	margin: 50px auto;
	display: flex;
	justify-content: center;
}

.massages__all-btn a{
	max-width: 147px;
}


/* ===== Gift (pixel-tight) ===== */
.gift{background:#fff; padding:0px 0 56px}
.gift__wrap{
	display:grid;
	grid-template-columns: 1fr 1fr;          /* 50/50 как в макете */
	gap:48px;                                 /* межколоночный */
	align-items:center;
}
.gift__media img{
	width:100%; height:auto;
	
	
}




/* Divider перед списком как на макете */
.gift__steps{
	margin:0; padding:0; list-style:none;
	border-top:1px solid #E7E9ED;             /* длинная линия под вводкой */
	margin-top:10px;                           /* зазор от lead до линии */
}

.gift__steps li:last-child{ border-bottom:0 }
.gift__steps li img{
	display: block;
}
.gift__steps{ counter-reset:giftstep }

/* Кнопки — ровно как в герое, только «Детальніше» с лёгкой обводкой */
.gift__actions{ display:flex; gap:12px; margin-top:16px }
.btn{ display:inline-block; padding:12px 18px; border-radius:1px; border:1px solid transparent;
	font:400 18px/1 "Raleway",sans-serif; text-decoration:none; cursor:pointer; user-select:none; transition: all .3s; width: fit-content;}
.btn--primary{ background: var(--c-text);border-color: var(--c-text); color:#fff }
.btn--primary:hover{ opacity:.92 }
.btn--ghost{ background:transparent; color: var(--c-text); border-color: var(--c-text); }
.btn--ghost:hover{ background: var(--c-text); color:#fff }
.btn--ghost-light{ border-color: var(--c-text); color: var(--c-text); }
.btn--ghost-light:hover{ background: var(--c-text); border-color var(--c-text); color:#fff }


/* ===== Gift hero ===== */

/* Отступ под фиксированный хедер 108px + вертикальные отступы блока */
.gift {
	padding-top: 108px;              /* высота шапки */
	padding-bottom: 48px;
	position: relative;
}

/* Сетка 2 колонки: слева текст, справа изображение */
.gift__wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

/* Правая колонка: картинка во всю высоту с корректным кропом */
.gift__media {
	width: 100%;
	height: 100%;
	min-height: 520px;               /* чтобы секция не схлопывалась */
	overflow: hidden;
}

.gift__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;

}

/* Левая колонка: типографика */
.gift__title {
	font-size: clamp(28px, 5vw, 51px);
	line-height: 1.1;
	color:  var(--c-text);
	margin: 0 0 10px;
	letter-spacing: .02em;
}

.gift__lead {
	margin: 0 0 10px;
	font-size: 16px;
	color: #506079;
	line-height: 120%;
}

.gift__content{
	margin: 15px 0;
}

/* Нумерованный список шагов */
.gift__steps {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: gift-step;
	color:  var(--c-text);
	max-width: 465px;
}

.gift__steps li {
	counter-increment: gift-step;
	position: relative;
	padding: 15px 0;
	border-bottom: 1px solid #E7E9ED;
	font: 400 16px/1.6 "Raleway", "Montserrat", "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	color: var(--c-text);
	display: flex;
	align-items: center;
	gap: 20px;
	line-height: 120%;
}


/*.gift__steps li::before {
content: counter(gift-step);
position: absolute;
left: 0;
top: 50%;
translate: 0 -50%;
width: 28px;
height: 28px;
border-radius: 50%;
display: grid;
place-items: center;
font-weight: 700;
color: #0C274A;
border: 1px solid #E7E9ED;
background: #fff;
}*/

/* Кнопки */
.gift__actions {
	display: flex;
	gap: 12px;
}












/* ===== SUBS (Абонементи) — финал без дуг ===== */

.subs__head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px}
.subs__title{margin:0; color: var(--c-text); letter-spacing:.01em}
.subs__pick{padding:10px 16px; border-color: var(--c-text); color: var(--c-text);}

/* сетка карточек */
.subs__grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:28px;
}

/* карточка (фон задаёт общий цвет, изображение с прозрачностями накладывается сверху) */
.plan{
	position: relative;
	display: flex;
	flex-direction: column;
	/* border: 1px solid #E3E7EE; */
	border-radius: 1px;
	overflow: hidden;
}
/* базовые фоны по требованию */
.plan--basic .plan__infograf, .plan--platinum .plan__infograf{ background:#DDE2EA; } /* светло-серый */
.plan--premium .plan__infograf{ background:#0F2746; }                /* тёмно-синий */

.plan__infograf{
	height: 260px;
	position: relative;
}

/* медиа-зона; никаких дуг — только картинка */
.plan__art{
	position: absolute;
	height: 100%;
	width: 100%;
	background: transparent;
	overflow: hidden;
	top: 0;
	left: 0;
}
/* если раньше подключались псевдоэлементы, глушим их */
.plan__art::before, .plan__art::after{ content:none !important; }

.plan__art img{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	/* для png с прозрачностями дуги проявятся за счёт цвета .plan */
}

/* контент поверх медиа строго по сетке */
.plan__content{
	position: relative;
	box-sizing: border-box;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	max-width: 330px;
	padding: 20px;
}

/* цвета текста по вариантам */
.plan--premium .plan__content{ 
	color: #fff;

}
.plan--basic .plan__content,
.plan--platinum .plan__content{ color: var(--c-text); }

/* типографика */
.plan__tier{
	font:500 25px/1.2 'Montserrat',sans-serif;
	letter-spacing:0; text-transform:uppercase; opacity:.95; color:inherit;
	margin-bottom: 80px;
	display: flex;
	gap: 10px;
	align-items: center;
}
.plan__tier--link{ text-decoration:none; text-underline-offset:3px }
.plan__title{ margin:8px 0 10px; font:500 39px/1.2 'Raleway',sans-serif; color:inherit }
.plan__discount{ font:500 20px/1.5 'Montserrat',sans-serif; color:inherit }
.plan__red{ color:#C93333; font-weight: 800; }

/* бейдж “ПОПУЛЯРНИЙ” */
.badge{display:inline-block; padding:8px 10px; font:400 17px/1 'Montserrat',sans-serif; letter-spacing:0}
.badge--popular{background:#113B6B; color:#fff}
.plan__badge{    
	background: #fff;
	color: #113B6B; 
}

/* нижняя кнопка */
.plan__btn{
	display: block;
	margin: 20px 0 0;
	text-align: center;
	/* background: #fff; */
	border: 1px solid  var(--c-text);
	color: var(--c-text);
	width: auto;
}
.plan__btn:hover{ background: var(--c-text); color:#fff }









/* ===== ABOUT (ПРО НАС) — финал с блюром плашки ===== */
.about{
	background:#0F2746;
	color:#fff;
	padding:50px 0;
}
.about__wrap{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:40px;
	align-items:start;
}

/* Левая колонка */
.about__text{ padding-top:12px; }
.about__title{
	margin:0 0 18px;
	font:500 51px/1.1 'Raleway',sans-serif;
	letter-spacing:.01em;
	color:#fff;
}
.about__text p{
	margin:0 0 16px;
	font:400 18px/1.8 'Montserrat',sans-serif;
	color:#EAF1FF;
	max-width:620px;
}


/* Правая колонка (две карточки) */
.about__locations{ display:flex; flex-direction:column; gap:18px; }

.place-card{
	position:relative;
	border-radius:12px;
	overflow:hidden;
}
.place-card > img{
	display:block; width:100%; height:260px; object-fit:cover;object-position: 0px -370px;
}

/* Плашка с блюром: blur только фона, контент сверху */
.place-card__bar{
	position:absolute; left:0; right:0; bottom:0;
	padding:14px 16px;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	background:transparent;                         /* сама плашка прозрачная */
	border-radius:0 0 12px 12px;
}
.place-card__bar::before{
	content:"";
	position:absolute; inset:0;
	background:rgb(7 18 34 / 19%);               /* оттенок */
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border-radius:inherit;
	z-index:0;                                      /* слой под контент */
}
/* контент поверх блюра */
.place-card__meta,
.place-card__bar .btn{ position:relative; z-index:1; }

.place-card__meta{ display:flex; flex-direction:column; gap:10px; }
.place-card__loc{
	font:400 17px/1.2 'Montserrat',sans-serif;
	color:#D9E4F4;
}
.place-card__addr{
	font:500 20px/1.2 'Montserrat',sans-serif;
	letter-spacing:.02em; text-transform:uppercase; color:#fff;
}

/* Кнопки для этого блока */
.btn--outline-white{
	background:transparent; border:1px solid #fff; color:#fff;
}
.btn--outline-white:hover{ background:#fff; color:#0F2746; }
.btn--sm{ padding:10px 14px; font-size:14px; line-height:1; }







/* ===== STAFF (slider) ===== */
.staff{background:#fff; padding:56px 0}
.staff__title{margin:0 0 50px; font:500 51px/1.1 'Raleway',sans-serif; color var(--c-text);}
.staff__actions{margin-top:50px; display:flex; justify-content:center;padding-bottom: 50px;}

/* slick spacing */
.staff__slider .slick-list{margin:0 0px}
.staff__slider .slick-slide{margin:0 12px} /* боковые отступы карточек */

/* card */
.staff-card{}
.staff-card__media{position:relative; background:#E6E9EF; border-radius:4px; overflow:hidden}
.staff-card__media::before{content:""; display:block; aspect-ratio: 4/5;} /* вертикальный портрет */
.staff-card__media img{position:absolute; inset:0; width:100%; height:auto; object-fit:cover}

.staff-card__name{
	margin-top:12px;
	font:500 20px/1.25 'Montserrat',sans-serif;
	color: var(--c-text); text-transform:uppercase;
}
.staff-card__role{
	margin-top:6px;
	font:400 18px/1.6 'Montserrat',sans-serif;
	color:#445062;
}





/* ===== TEXT + MEDIA (точно как на скрине) ===== */
.tm-section{
	padding:36px 0 44px;
	position:relative;
}

.tm-section .container{
	max-width: 904px;
	margin: 0 auto;
}



.tm{
	padding:22px 0 30px;
	border-top:1px solid #DCE3EC;      /* тонка сіра лінія між блоками */
}
.tm:first-child{ border-top:0; }

.tm__title{
	margin:0 0 12px;
	font:500 18px/1.2 "Montserrat",sans-serif;
	text-transform:uppercase;
	color: var(--c-text);
}

.tm__text p{
	margin:0 0 12px;
	font:400 17px/1.8 "Montserrat",sans-serif;
	color:#445062;
}

/* білий плейсхолдер: вужчий за текст, по центру */
.tm__box{
	margin: 22px auto 0; 
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: 349px;
	background: #fff;
}
.tm__box > img{
	width:100%; height:100%; object-fit:cover; border-radius:inherit;
}





/* ===== FAQ ===== */
.faq{ padding:48px 0; }
.faq__wrap{
	display:grid; grid-template-columns: 2fr 2fr; gap:32px;
	align-items:start;
}
.faq__title{
	margin:0; color: var(--c-text); font:500 51px/1.1 'Raleway',sans-serif;
	letter-spacing:.01em;
}

.faq__list{ overflow:hidden; }
.faq-item{ border-top:1px solid #E7E9ED; }
.faq-item:first-child{ border-top:0; }

.faq-item__head{
	width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:18px 20px; border:0; cursor:pointer; text-align:left;background: transparent;
}
.faq-item__q{
	font:500 18px/1.2 'Montserrat',sans-serif; letter-spacing:.02em; color: var(--c-text); text-transform: uppercase;
}
.faq-item__icon{
	position:relative; width:22px; height:22px; flex:0 0 22px;
}
.faq-item__icon::before,
.faq-item__icon::after{
	content:""; position:absolute; left:50%; top:50%; background: var(--c-text); transition:.2s ease;
}
.faq-item__icon::before{ width:14px; height:2px; transform:translate(-50%,-50%); }      /* горизонт */
.faq-item__icon::after { width:2px;  height:14px; transform:translate(-50%,-50%); }      /* вертикаль */
.faq-item.is-open .faq-item__icon::after{ transform:translate(-50%,-50%) scaleY(0); }     /* минус */

.faq-item__body{ display:none; }
.faq-item__inner{
	padding:0 20px 18px 20px; color:#445062; font:400 18px/1.7 'Montserrat',sans-serif;
}




/* ===== Верхний блок: короткая довідка ===== */
.spec-brief{
	background:#fff;
	border-top:1px solid #E6EBF2;
	border-bottom:1px solid #E6EBF2;
	padding:50px 0 14px;
	margin-bottom: 10px;
	margin-top: 10px;
}



.spec-brief__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px 75px;
}
.brief__ico{ width:40px; height:40px; margin-bottom:10px; }
.brief__title{
	margin:0 0 8px;
	font:500 20px/1.2 'Montserrat',sans-serif;
	letter-spacing:.06em;
	text-transform:uppercase;
	color: var(--c-text);
}
.brief__text{
	margin:0;
	font:400 18px/1.8 'Montserrat',sans-serif;
	color:#445062;
	max-width:520px;
}

/* ===== Нижний блок: кроки ===== */
.steps{ background:#fff; padding:50px 0; }
.steps__title{
	margin:0 0 28px;
	font:500 51px/1.1 'Raleway',sans-serif;
	letter-spacing:.01em;
	color: var(--c-text);
	text-transform: uppercase;
}
.steps__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px 56px;
	margin-left: 20px;
	margin-top: 50px;
}

/* карточка кроку */
.step{ display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:start; }
.step__icon{
	width:40px; height:40px;
	display:grid; place-items:center;
}
.step__icon img{ width:40px; height:40px; object-fit: none; }
.step__name{
	margin:2px 0 8px;
	font:500 20px/1.2 'Montserrat',sans-serif;
	letter-spacing:.06em; text-transform:uppercase; color: var(--c-text);
}
.step__txt{
	margin:0;
	font:400 18px/1.8 'Montserrat',sans-serif;
	color:#445062;
}

/* адаптив */


.slick-slider,
.slick-list,
.slick-track{
	height: 100%;
}

.price-chip{
	text-transform: lowercase;
	font-size: 18px;
	color:  var(--c-text);
	font-weight: 500;
}



/* ===== Чипы (время + цена) как на оригинале ===== */
.hero__chips{
	display: flex;
	gap: 5px;
	margin: 16px 0 10px;
}
.hero-chip{
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	background: #fff;
	color:  var(--c-text);
	border-radius: 1px;
	font: 600 20px/1.2 "Montserrat", sans-serif;
	letter-spacing: .01em;
	box-shadow: 0 6px 20px rgba(0,0,0,.22);

	/* чтобы белая «табличка» читалась на тёмном фоне */
}

/* на планшете и меньше — можно в одну строку */


/* ===== Чек-лист: выровнять иконки ===== */
.hero__list{
	list-style: none;
	margin: 18px 0 22px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 404px;
}
.hero__li{
	position: relative;
	padding-left: 38px;              /* место под круг */
	color: #fff;
	font: 400 18px/1.6 "Montserrat", sans-serif;
}

/* зелёный круг */
.hero__li::before{
	content: "";
	position: absolute;
	left: 0;
	/* центрируем по первой строке текста */
	top: .85em;                      /* чуть ниже середины строки */
	transform: translateY(-50%);
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #2DBE60;
}

/* белая галочка */
.hero__li::after{
	content: "";
	position: absolute;
	left: 7px;
	top: .85em;
	transform: translateY(-50%) rotate(45deg);
	width: 7px; height: 12px;
	border: 2px solid #fff;
	border-top: 0; border-left: 0;
}

/* кнопка — немного вниз по иерархии */
.hero__cta{ margin-top: 10px; }



.prices-section{
	margin-top: 15px;
	background: #fff;
}

/* Заголовок блока */
.prices-title{
	margin: 0 0 16px;
	padding-top: 50px;
	font: 500 51px/1.15 "Raleway", sans-serif;
	color:  var(--c-text);
}

/* Контейнер таблицы */
.prices{
	overflow: hidden;
	padding-bottom: 35px;
	padding-top: 35px;
}

/* Одна строка */
.price-row{
	display: grid;
	grid-template-columns: 1fr auto 210px;
	align-items: center;
	gap: 20px;
	padding: 20px 20px;
	background: #fff;
	border-top: 1px solid #E6EBF2;
}

/* зебра */
.price-row:nth-child(even){ background: #F3F5F8; }

/* ячейки */
.price-row__name,
.price-row__name a{
	font: 500 20px/1.2 "Montserrat", sans-serif;
	letter-spacing: .02em;
	color:  var(--c-text);
	text-transform: uppercase;
	text-decoration: none;
}
.price-row__val{
	font: 500 16px/1.3 "Montserrat", sans-serif;
	color:  var(--c-text);
	justify-self: start;
	margin-right: 80px;
}
.price-row__btn{
	justify-self: end;
	white-space: nowrap;
}

.price-row__note{
	font: 400 17px / 1.2 "Montserrat", sans-serif;
	text-transform: none;
	margin-top: 7px;
	display: block;
}

.price-row__chips{
	display: flex;
	align-items: center;
	gap: 10px;
}

.price-row__sep br{
	display: none;
}




/* ===== WHY (dark section) ===== */
.why-dark{
	background:#0E2A4A;         /* тёмный фон секции */
	color:#fff;
	padding:50px 0;
}
.why-dark__head{ margin-bottom:28px; }
.why-dark__kicker{
	font:400 51px/1.1 "Raleway",sans-serif;   /* <= 500 */
	letter-spacing:.02em;
	text-transform:uppercase;
	color:#C9D3E4;
	opacity:.35;                /* как на макете — бледный */
	margin:0 0 6px;
}
.why-dark__title{
	margin:0;
	font:500 clamp(34px,5vw,52px)/1.05 "Raleway",sans-serif; /* <= 500 */
	letter-spacing:.01em;
}

/* grid с разделителями */
.why-dark__grid{
	display:grid;
	grid-template-columns: repeat(5,1fr);
	gap:0;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.why-dark__item{
	padding:28px 22px 32px;
	display:flex; flex-direction:column; gap:12px;
	border-left:1px solid rgba(255,255,255,.08);
}
.why-dark__item:first-child{ border-left:none; }

.why-dark__icon img{
	width:28px; height:28px; display:block;
	filter: invert(1) opacity(.85);   /* белые иконки на тёмном фоне */
}
.why-dark__name{
	margin:0;
	font:500 20px/1.45 "Montserrat",sans-serif;  /* <= 500 */
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#EAF0F6;
}

.why-dark__icon img{
	width:40px; height:40px;
	filter: brightness(0) invert(1);     /* делает чисто белый */
	-webkit-filter: brightness(0) invert(1);
	opacity: 1;                          /* не серые */
}





/* ==== FULL-WIDTH GALLERY ==== */
.studio-gallery{
	width:100%;
	overflow:hidden;                 /* на всякий случай */
	padding-top: 50px;
}

.studio-gallery__grid{
	/* две колонки в пропорции 629 / 811 = 43.6% / 56.4% */
	display:flex;
	flex-wrap: wrap;
	--row-h: clamp(260px, 40vw, 580px);  /* высота строки (адаптивная) */
	gap:0;                             /* без отступов между фото */
	    max-width: 1360px;
    margin: 0 auto;
}

.studio-gallery__item{
	position:relative;
	overflow:hidden;
	margin: 0;
}
.studio-gallery__item img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
}

.studio-gallery__item--small{
	width:40%;
}
.studio-gallery__item--large{
	width:60%;
}






.about-column .about__wrap{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.about-column .about__locations{
	flex-direction: row;
	width: 100%;
}

.about-column .place-card{
	width: 50%;
}

.about-column .place-card > img{
	height: 384px;
}





/* Базовий фон для усіх рядків */
.prices .price-row{
	background:#fff;          /* або transparent, якщо треба */
}

/* Кожен другий (2-й, 4-й, 6-й …) — сірий */
.prices .price-row:nth-child(2n){
	background:#f3f6f9;       /* твій сірий */
}

/* (Необов’язково) якщо десь був заданий сірий усім рядкам — скинь */
.prices .price-row{ background:#fff !important; }
.prices .price-row:nth-child(2n){ background:#f3f6f9 !important; }






/* ===== Base (если нужно — подстройте под свои переменные) ===== */
.container {
	max-width: 1360px;
	padding: 0 24px;
	margin: 0 auto;
}

/* ===== Subscriptions block ===== */
.subs {
	position: relative;
	padding: 50px 0;
	background: #fff;
	overflow: hidden;
}

.abonement-page .subs{
	background: transparent;
}

.subs__in {
	display: grid;
	grid-template-columns: 1.1fr 1fr;  /* левый текст немного шире */
	gap: 40px;
	align-items: center;
}

/* Текстовая колонка */
.subs__text {
	padding: 24px 0;
}

.subs__title {
	margin: 0 0 28px;
	line-height: 1.1;
	font-size: clamp(32px, 3.2vw, 51px);
	letter-spacing: .02em;
	color:  var(--c-text); /* ваш тёмно-синий */
}

/* Кнопка (используйте вашу глобальную, если есть) */
.subs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 1px solid  var(--c-text);

	font-weight: 500;
	text-decoration: none;
	color:  var(--c-text);
	transition: .2s ease;
}
.subs__btn:hover{
	background:  var(--c-text);
	color: #fff;
}

/* Медиа-колонка (картинка справа) */
.subs__media {
	position: relative;
	width: 100%;
	position: relative;
	width: 100%;
	height: min(561vw, 352px);
}

.subs__media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center; /* при необходимости сдвиньте */
	display: block;
}

.subs p{
	display: none;
}

.subs__footer{
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin: 0px 0 50px;
	padding: 0 10px;
}

.subs__footer p{
	display: block;
	max-width: 923px;
	margin: 0px auto;
	text-align: center;
	font-size: 17px;
	line-height: 25px;
}







.branch {
	--blue:  var(--c-text);
	--text: #fff;
	--map-bg: #f1f3f6;

	background: var(--blue);
	color: var(--text);
	padding: 56px 0;
}

.branch__in {
	display: grid;
	grid-template-columns: 1.1fr 1fr; /* текст чуть шире */
	gap: 40px;
	align-items: center;
}

.branch__in .branch__info{
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
}

/* Левая колонка */
.branch__title {
	margin: 0 0 24px;
	font-size: clamp(28px, 3.2vw, 56px);
	line-height: 1.15;
	letter-spacing: .02em;
}

.branch__phone {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--text);
	text-decoration: none;
	padding-bottom: 4px;
	transition: .2s ease;
	opacity: .9;
}


.branch__phone:hover {
	opacity: 1;
	border-bottom-color: rgba(255,255,255,.7);
}

/* Правая колонка — карта */
.branch__map {
	position: relative;
	width: 100%;
	/* пропорции карты, можно корректировать */
	aspect-ratio: 16 / 10;
	background: var(--map-bg);
	overflow: hidden;
	/* лёгкая рамка за счёт внутренней тёмной подложки снизу */
	box-shadow: 0 0 0 0 var(--blue);
}

/* Сам iframe */
.branch__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Заглушка, если src пустой */
.branch__map-placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #2b4a6b;
	font-size: 16px;
	pointer-events: none;
}


.brunch__soc{
	display: flex;
	align-items: center;
	gap: 10px;
}


.studio-gallery__grid p{
	display: none;
}



.abonement-page .sub-hero,
.massage-master-page .sub-hero{
	height: 350px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding-top: 50px;
}

.abonement-page .sub-hero .sub-hero__title,
.massage-master-page .sub-hero__title{
	font: 500 67px / 1.1 'Raleway', sans-serif;
	margin-bottom: 10px;
}







.header{
	transition: background-color .25s ease, color .25s ease;
}
.header .logo img,
.header .header-top__socials img{
	transition: filter .25s ease, opacity .25s ease;
	width: 100%;
}

/* ===== СВЕТЛЫЙ ХЕДЕР =====
Сработает и при body.page-header--light, и при .header--light
(оставил оба селектора, чтобы было универсально) */
body.page-header--light .header,
.header--light{
	background: var(--c-white);
}

/* Текст/ссылки/инфо в шапке становятся темными */
body.page-header--light .header a,
body.page-header--light .header,
.header--light a,
.header--light{
	color: var(--c-dark);
}

/* Инвертируем логотип-пнг и иконки соцсетей */
body.page-header--light .header .logo img,
.header--light .logo img{
	filter: invert(1);
}

body.page-header--light .header .header-top__socials img,
.header--light .header-top__socials img{
	opacity: .95; /* можно убрать, если не нужно смягчение */
}

/* Если соц-иконки SVG с fill="currentColor" — подстраховка */
body.page-header--light .header .header-top__socials svg,
.header--light .header-top__socials svg{
	color: var(--c-dark);
	fill: currentColor;
}

/* (опционально) полоска/бордер под навигацией на светлой теме */
body.page-header--light .header .nav,
.header--light .nav{
	border-color: rgba(0,0,0,.06);
}


.page-header--light .header-top__socials .soc{
	background: transparent;
}




/* ===== Gift hero ===== */

/* Отступ под фиксированный хедер 108px + вертикальные отступы блока */
.sertificate-page .gift {
	padding-top: 108px;              /* высота шапки */
	padding-bottom: 48px;
	position: relative;
}

.sertificate-page .gift p,
.sertificate-page .gift__media br{
	display: none;
}

/* Сетка 2 колонки: слева текст, справа изображение */
.sertificate-page .gift__wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	background: #eef2f3;
}

/* Правая колонка: картинка во всю высоту с корректным кропом */
.sertificate-page .gift__media {
	width: 100%;
	height: 100%;
	background: transparent;
	border-radius: 0px;
	overflow: hidden;
	max-height: 700px;
}




.sertificate-page .gift__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}



/* Левая колонка: типографика */

.sertificate-page .gift__content{
	max-width: 655px;
	margin-left: auto;
}

.sertificate-page .gift__title {
	font-size: clamp(28px, 4vw, 67px);
	line-height: 1.1;
	color:  var(--c-text);
	margin: 0 0 16px;
	letter-spacing: .02em;
}

.sertificate-page .gift__lead {
	margin: 0 0 20px;
	font-size: 18px;
	color: #506079;
}

/* Нумерованный список шагов */
.sertificate-page .gift__steps{
	list-style: none;
	counter-reset: none;
	margin: 0;
	padding: 0;
}

/* строка шага */
.sertificate-page .gift__steps li{
	position: relative;
	padding: 10px 0 10px 48px;         /* место под иконку слева */
	border-bottom: 1px solid #E7E9ED;
	display: flex;
	align-items: center;
	gap: 8px;
	color:  var(--c-text);
	font: 400 17px/1.6 "Raleway", "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

/* сама галочка-картинка */
.sertificate-page .gift__steps li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 64%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	background: url("/wp-content/uploads/2025/09/tick-circle.png") center / contain no-repeat;
}

/* Кнопки */
.sertificate-page .gift__actions {
	display: flex;
	gap: 12px;
}









.gift-why{
	padding: 56px 0;
	background: #fff;
}
.gift-why__grid{
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
}

/* Левая колонка */
.gift-why__title{
	margin: 0 0 20px;
	color: var(--c-text);
	font-weight: 500;              /* ≤ 500 как просили */
	font-size: clamp(28px, 4vw, 51px);
	line-height: 1.1;
	text-transform: uppercase;
}
.gift-why__lead{
	margin: 0;
	color: var(--c-text);
	opacity: .9;
	font-size: 18px;
}

/* Правая колонка */
.gift-why__right{
	border-left: 1px solid var(--c-line);  /* вертикальная разделительная линия */
	padding-left: 32px;
}

/* Список причин */
.reasons{
	list-style: none;
	margin: 0;
	padding: 0;
}
.reasons__item{
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 22px 0;
	border-top: 1px solid #e7e7e7;
	align-items: center;
}
.reasons__item:last-child{
	border-bottom: none;           /* у последнего нет бордера снизу */
}

.reasons__icon{
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.reasons__title{
	color: var(--c-text);
	font-weight: 500;              /* не больше 500 */
	margin: 2px 0 6px;
	text-transform: none;          /* оставил обычный регистр как в макете */
	font-size; 20px;
}
.reasons__text{
	margin: 0;
	color: var(--c-text);
	opacity: .9;
	line-height: 1.6;
	font-size: 18px;
}






.gift-why-number{
	margin: 15px 0;
}
.gift-why-number .reasons__icon{
	flex: 0 0 28px;
	width: 24px;
	height: 42px;
	object-fit: none;
}



/* ===== Popular block ===== */
.popular { 
	padding: 56px 0 24px;
	margin-top: 10px;
	background: #fff;
}

.popular__row {
	display: grid;
	grid-template-columns: 1.1fr 1fr;   /* трошки ширша колонка під заголовок */
	gap: 48px clamp(24px, 3vw, 64px);
	align-items: start;
	padding-bottom: 35px;
}

/* Заголовок */
.popular__title {
	margin: 0;
	line-height: 1.1;
	font-size: clamp(28px, 3.6vw + 8px, 51px);
	letter-spacing: .2px;
}

.popular__title-main {            /* темна частина */
	color:  var(--c-text);                /* основний колір тексту сайту */
	font-size: inherit;
}

.popular__title-muted {           /* сіра частина */
	color: #9FB0C4;                 /* м’якший, як на макеті */
	font-size: inherit;
}

/* Права колонка */
.popular__right p {
	margin: 0 0 14px;
	font-size: clamp(14px, 1.1vw + 10px, 18px);
	line-height: 1.6;
	color:  var(--c-text);
	opacity: .9;
}

/* Блок під шорткод карток (за бажанням відступ) */
.popular__cards { margin-top: 28px; }




/* ===== Choose block ===== */
.choose { padding: 56px 0 32px; }

.choose__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px clamp(24px, 3vw, 64px);
	align-items: start;
}

/* Заголовок з двома кольорами */
.choose__title {
	margin: 0;
	line-height: 1.1;
	font-size: clamp(28px, 3.6vw + 8px, 51px);
	letter-spacing: .2px;
	max-width: 575px;
}
.choose__title-main { color:  var(--c-text); }
.choose__title-muted { color: #9FB0C4;  }

/* Права колонка: список */
.choose__list { list-style: none; margin: 0; padding: 0; }
.choose__item {
	padding: 18px 0;
	border-bottom: 1px solid #E7E9ED;
}
.choose__item:last-child { border-bottom: none; }

.choose__item-title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color:  var(--c-text);
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: .3px;
}

.choose__item-text {
	font-size: 16px;
	line-height: 1.6;

	color: var(--c-text);
	opacity: .9;
}






/* Блок "Наш прайс..." */
.price-note {
	padding: 64px 0;
}

.price-note .container {

	margin: 0 auto;
	padding: 0 16px;
}

.price-note__grid {
	display: grid;
	grid-template-columns: .8fr 1fr;
	gap: 67px;
	align-items: start;
}

/* Заголовок слева */
.price-note__title {
	margin: 0;
	font-size: clamp(32px, 4vw, 51px);
	line-height: 1.1;
	color: var(--c-text);
	font-weight: 500;            /* ≤ 500 */
	text-transform: uppercase;
}

.price-note__title span {
	color: rgba(12, 39, 74, 0.45); /* сероватая часть */
	font-weight: 500;              /* ≤ 500 */
}

/* Контент справа */
.price-note__content p {
	margin: 0 0 16px;
	color: var(--c-text);
	opacity: 0.9;
	line-height: 1.6;
	font-weight: 400;             /* ≤ 500 */
	font-size: 18px;
}

/* Соцсети */
.price-note__socials {
	display: flex;
	gap: 16px;
	margin-top: 12px;
}

.price-note__socials .soc {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.price-note__socials .soc img {
	filter: invert(1);
}








/* ====== ABOUT HERO ====== */
.about-hero{
	position: relative;
	height: 857px;                 /* фиксированная высота по макету */
	color: #fff;
	overflow: hidden;
}

.about-hero__bg{
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--bg);
	background-size: cover;
	background-position: center;
}
.about-hero__bg::after{
	/* затемнение для читаемости */
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.35);
}

.about-hero .container{
	height: 100%;
	position: relative;
	z-index: 1;
}

.about-hero__grid{
	height: 100%;
	display: grid;
	grid-template-columns: 1fr 1.2fr;  /* слева заголовок + кнопка, справа текст */
	gap: 48px;
	align-items: end;                  /* текст прижат к низу, как в макете */
	padding-bottom: 56px;              /* отступ снизу */
}

/* Левая колонка */
.about-hero__left{
	display: grid;
	align-content: end;
	gap: 24px;
	padding-bottom: 100px;
}
.about-hero__title{
	margin: 0;
	font-size: clamp(36px, 6vw, 67px);
	line-height: 1.05;
	font-weight: 500;                  /* <= 500 */
	letter-spacing: .02em;
}



.btn--primary:hover{ filter: brightness(1.1); }

/* Правая колонка */
.about-hero__right{
	align-self: end;
	max-width: 720px;                  /* чтобы строки читались аккуратно */
	padding-bottom: 100px;
}
.about-hero__right p{
	margin: 0 0 14px;
	line-height: 1.7;
	color: rgba(255,255,255,.92);
	font-weight: 400;                  /* <= 500 */
	font-size: 18px;
}

.about-page .price-note{
	background:#fff;
	padding: 50px 0 20px;
}

#about-page-luxery-service{
	margin: 10px 0;
}


.prices-page{
	padding-top: 114px;
}

.prices-page .hero{
	height: 259px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height:auto;
}

.prices-page .hero__title{
	text-align: center;
}

.prices-page .hero__title_srvices{
	position: relative;
}

/* Заголовок секции */


.price-row__vals{
	display: flex;
	flex-direction: column;
}


.prices-page .prices-section{
	padding-bottom: 50px;
	margin: 0;
}

.title-for-prices-page-only,.prices-page .price-row__sep{display: none;}
.prices-page .title-for-prices-page-only{display: block;}
.prices-page .price-row__chips{gap: 0px;flex-direction: column;}

.staff-card .btn{
	    display: block;
    width: calc(100% - 37px);
    text-align: center;
    margin: 10px 0;
}

.our-masters-page .staff-card .btn{
	display: block;
	width: calc(100% - 37px);
	text-align: center;
	margin: 10px 0;
}

.our-masters-page .staff__actions{
	display: none;

}

.our-masters-page .staff__slider{
	margin-top: -50px;
}





/* ===== Therapist (single master) ===== */
.thera {
	padding: 150px 0 56px;
}

.thera__grid {
	display: grid;
	gap: 32px;
	grid-template-columns: 380px 1fr; /* фото + контент */
	align-items: start;
}

@media (max-width: 992px) {
	.thera__grid {
		grid-template-columns: 1fr;  /* одна колонка на мобилке */
	}
}

/* Фото */
.thera__media {
	background: #f6f7f8;
	overflow: hidden;
}

.thera__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Контент */
.thera__badge {
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	padding: 8px 10px;
	background: #e3e3e3;
	color: var(--c-text, #0c274a);
	margin-bottom: 16px;
}

.thera__title {
	margin: 0 0 8px;
	font-weight: 500;        /* не больше 500 */
	font-size: 41px;
	line-height: 1.15;
	color: var(--c-text, #0c274a);
	letter-spacing: .02em;
}

.thera__role {
	margin: 0 0 24px;
	color: rgba(12, 39, 74, .8);
	font-size: 18px;
}

.thera__subtitle {
	margin: 0 0 12px;
	font-size: 18px;
	color: rgba(12, 39, 74, .8);

	font-weight: 500;
}

/* Чипы */
.thera__chips {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.chip {
	font-size: 18px;
	line-height: 1;
	font-weight: 500;      /* не больше 500 */
	padding: 9px 12px;
	background: #fff;
	color: var(--c-text, #0c274a);
	white-space: nowrap;
}

/* Кнопка */
.thera__btn {
	display: inline-block;
}



/* ===== Education block in therapist page ===== */
.thera__edu {
    width: 70%;
    margin: 28px 0 0;
    margin-left: auto;
    padding-left: 5px;
    box-sizing: border-box;
}


.edu-card {
	background: #fff;
	padding: 18px 20px;
}

.edu-card + .edu-card {
	margin-top: 16px;
}

/* Заголовок карточки */
.edu-card__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.edu-card__body{
	margin-left: 50px;
}

.edu-card__icon {
	width: 40px;
	height: 40px;
}

.edu-card__title {
	font-weight: 500;
	color: var(--c-text, #0c274a);
	letter-spacing: .02em;
	font-size: 20px;
}

/* Тело карточки */
.edu-card__subtitle {
	font-weight: 500;
	margin-bottom: 6px;
	color: var(--c-text, #0c274a);
	font-size: 18px;
}

.edu-card__body p {
	margin: 0;
	color: rgba(12, 39, 74, .9);
	font-size: 18px;
}

/* Список курсов */
.edu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.edu-item {
	background: #f4f6f9;
	padding: 12px 14px;
}

.edu-item__title {
	margin: 0 0 4px;
	color: var(--c-text, #0c274a);
	font-size: 18px;
}

.edu-item__meta {
	font-size: 13px;
	color: var(--c-text, #0c274a);
	font-size: 18px;
}


/* ===== Certificates grid ===== */
.certs-card .edu-card__head {
	margin-bottom: 15px;
	margin-top: 15px;
}

.certs__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.certs__item {
	background: #f4f6f9;            /* серый плейсхолдер */
	/* пропорции "плашки" */
	aspect-ratio: 16 / 10;
	/* fallback, если aspect-ratio не поддерживается */
	min-height: 190px;
}


.lang {
	position: relative;
	z-index: 40;               /* поверх бургеров/меню */
	font-weight: 500;
}

/* Кнопка текущего языка */
.lang__toggle{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 0;
	background:transparent;
	border:0;
	color:#fff;                 /* на темном хедере */
	font-size:13px;
	line-height:1;
	cursor:pointer;
}

.lang__chev{
	width: 10px;
	height: 9px;
	transition:transform .2s ease;
}
.lang.open .lang__chev{ transform: rotate(180deg); }

/* Выпадающий список */
.lang__list{
	position: absolute;
	left: 50%;
	top: 40px;
	transform: translateX(-50%);
	padding: 9px 18px;
	background: #fff;
	display: none;
}
.lang.open .lang__list{ display:block; }

/* Ссылки в попапе */
.lang__link{
	display:block;
	font-size:34px;
	line-height:1.15;
	color: var(--c-text);
	text-decoration:none;
}
.lang__link + .lang__link{ margin-top:10px; }
.lang__link:hover{ opacity:.8; }

/* На светлой шапке делаем текст и стрелку темными */
.header--light .lang__toggle{ color: var(--c-text); }

.lang__list .lang__link{
	color: var(--c-text);
	font-size: 13px;
}

.svc-card__more{
	width: auto;
}

.main-page .gift,
.location-page .gift{
	padding-top: 0;
}
.main-page .gift{
	padding-bottom: 0;
}

.location-page .hero__inner{
	justify-content: center;
	text-align: center;
}

.hero__sub_for-location{
	font-family: Raleway;
	font-weight: 500;
	font-style: Medium;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 160%;
	letter-spacing: 0%;
	text-align: center;
	text-transform: uppercase;

}

.location-page .hero__title{
	font-family: Raleway;
	font-weight: 500;
	font-style: Medium;
	font-size: 67px;
	leading-trim: NONE;
	line-height: 130%;
	letter-spacing: 0%;
	text-align: center;
	text-transform: uppercase;
}

.location-page .hero{
	height: 534px;
	min-height: auto;
}

.location-page .why__title{
	font-size: 51px;

}

.location-page .staff{
	background: transparent;
	padding: 50px 0;
}

.location-page .gift{
	margin-bottom: 10px;
	padding-bottom: 0;
}


.sub-hero__lead{
	font-size: 18px;
}

.all-service-btn{
	margin: 20px auto;
	display: block;
	width: fit-content;
}


.about-page .about.about-column{
	margin-bottom: 10px;
}

.about-page .studio-gallery{
	padding-top: 0;
}

.prices-page .price-row__note{
	font-size: 18px;
}

.prices-page .price-chip{
	font-size: 20px;
}

.prices-page .gift{
	padding: 0;
	margin: 10px 0;
}



.my-singl-post .subs{
	background: transparent;
	margin: 50px 0 0;

}

.my-singl-post .studio-gallery{
	padding-top: 0;
}

.staff__slider{
	padding-top: 50px;
}

.my-singl-post .gift__title{
	font-size: 41px;
}

.my-singl-post .gift{
	padding-bottom: 0;
	padding-top: 0;
}


.services-page .gift{
	padding: 0;
}
.services-page .subs{
	margin: 10px 0;
}

.services-page .massages {
	padding: 25px 0 50px;
}

.staff .staff__slider{
	padding: 0;
}

.staff .staff__actions{
	padding-bottom: 0px;
}

.sertificate-page .choose,
.sertificate-page .price-note{
	padding: 50px 0 50px;
	background: #fff;
	margin: 10px 0;
}

.sertificate-page .massages__all-btn{
	margin-bottom: 0;
}





#why .why-item__content{
	max-width: 100%;
}



.main-page .subs{
	background: transparent;
	padding-bottom: 0;
}

.main-page .subs__footer{
	padding-top: 50px;
}

.about__cta{ margin-top:8px; background: #fff;color:var(--c-text); }



























/* фон + водяной знак */
.footer{background:var(--c-text); color:var(--c-footer-text); padding: 10px;}
.footer--pattern{
	position:relative;
	overflow:hidden;
	/* Экспортируй из фигмы паттерн и положи в assets/img/footer-pattern.png/svg  */
	background-image: url('../img/footer-pattern.png'); /* или .svg */
	background-repeat: no-repeat;
	background-position: 60% center;
	background-size: 900px auto; /* подгон по макету */
}

/* Бренд слева */

.footer__brand{display:flex; flex-direction:column; gap:24px}
.footer__offer{color:var(--c-footer-muted); text-decoration:none; font:400 14px/1.6 'Montserrat',sans-serif}

/* Заголовки caps */
.footer__title{
	margin:0 0 16px;
	font:500 18px/1 'Montserrat',sans-serif;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--c-footer-muted);
}

/* списки */
.footer__menu, .footer__list{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.footer__menu a, .footer__list a{
	color:var(--c-footer-text);
	text-decoration:none;
	font:400 16px/1.6 'Raleway',sans-serif;
}

/* стрелочка у ссылок */
/* стрелочки только там, где НЕ tel / НЕ mailto */
.footer__menu a,
.footer__list a { position: relative; display: inline-block; color:#EAF1FF; text-decoration:none; font:400 18px/1.6 'Raleway',sans-serif; }

/* базово без отступа/стрелки */
.footer__menu a::after,
.footer__list a::after { content:none; }
.footer__menu a,
.footer__list a { padding-right:0; }

/* добавляем стрелку только обычным ссылкам */
.footer__menu a:not([href^="tel:"]):not([href^="mailto:"]),
.footer__list a:not([href^="tel:"]):not([href^="mailto:"]) { padding-right:18px; }

.footer__menu a:not([href^="tel:"]):not([href^="mailto:"])::after,
.footer__list a:not([href^="tel:"]):not([href^="mailto:"])::after {
	content:"";
	position:absolute; right:0; top:50%; transform:translateY(-50%);
	width:17px; height:17px;
	background:url('../img/arrow-right.svg') center/contain no-repeat;
	opacity:.9;
}


/* соцсети */
.footer__socials{display:flex; gap:12px; margin-top:16px}


.footer__links{display:flex; gap:16px}
.footer__links a{color:var(--c-footer-muted); text-decoration:none; font:400 14px/1.5 'Montserrat',sans-serif}

/* ===== Footer v2: точное совпадение с макетом ===== */

/* 1) Водяной знак — переносим в ::before, даём прозрачность */
.footer--pattern{
	position: relative;
	overflow: hidden;
	background:var(--c-text); /* базовый тёмно-синий */
}
.footer--pattern::before{
	content:"";
	position:absolute; inset:0;
	background: url('../img/footer-pattern.png') no-repeat 58% center / 1100px auto; /* подгони размер/позицию при необходимости */
	opacity: .5;         /* как в фигме — едва заметный */
	pointer-events:none;
}

/* 2) Сетка, отступы */
.footer__grid{
	display:grid;
	grid-template-columns: 2fr 1fr;
	gap:48px;
	padding: 36px 0 28px;   /* как на макете — чуть компактнее сверху и низу */
}

/* 3) Заголовки (капс, трекинг) */
.footer__title{
	margin:0 0 16px;
	font:600 13px/1 'Montserrat',sans-serif;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#C9D5E8;
}

/* 4) Ссылки и стрелочки справа */
.footer__menu, .footer__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer__menu a, .footer__list a{
	position:relative;
	display:inline-block;
	padding-right:18px;              /* место под стрелку */
	color:#EAF1FF;
	text-decoration:none;
	font:400 16px/1.6 'Raleway',sans-serif;
}
.footer__menu a::after, .footer__list a::after{
	content:"";
	position:absolute; right:0; top:50%; transform:translateY(-50%);
	width:18px; height:18px;
	background:url('../img/arrow-right.svg') center/contain no-repeat;
	opacity:.9;
}

/* 5) Соц-иконки — тонкая обводка, как в макете */
.footer__socials{display:flex;gap:12px;margin-top:16px}
.footer__soc{
	width:36px;height:36px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	transition:.2s;
}
.footer__soc:hover{background:rgba(255,255,255,.12)}
.footer__soc img{width:100%;height:100%;filter: brightness(0) invert(1);transition: filter .25s ease;}

/* 6) Низ футера — цвет/высота линии */
.footer__bottom{border-top:1px solid rgba(255,255,255,.12);background:#0D2038}
.footer__bottom_row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0}
.footer__links a{color:#C9D5E8;text-decoration:none;font:400 14px/1.5 'Montserrat',sans-serif}

/* 7) Бренд левая колонка */
.logo--footer img{max-height:56px;width:auto;display:block}
.footer__brand{display:flex;flex-direction:column;gap:24px}
.footer__offer{
	color: #C9D5E8;
	text-decoration: none;
	font: 400 18px / 1.6 'Montserrat', sans-serif;
	margin-top: 100px;
	display: block;
}

.footer__console{
	display: flex;
	flex-wrap: wrap;

}

.footer__console .footer__col{
	width: 45%;
}








.gift__media_mob,
.gift__mediamob{
	display: none;
}



.for-mob{
	display: none;
}






/* ===== Modal ===== */

.mc-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}
.mc-modal[aria-hidden="false"] { display: block; }
.mc-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.45);
}
.mc-modal__dialog {
	position: relative;
	width: min(560px, 92vw);
	margin: 22vh auto 0;
	background: #fff;
	padding: 24px 28px 28px;
	box-shadow: 0 20px 60px rgba(0,0,0,.25);
	box-sizing: border-box;
}
.mc-modal__close {
	position: absolute;
	top: 8px; right: 12px;
	width: 32px; height: 32px;
	border: 0; background: transparent;
	font-size: 28px; line-height: 1; cursor: pointer;
	color: #1d2a3b;
}





html.is-locked, html.is-locked body { overflow: hidden; }

:root { --sbw: 0px; } /* scrollbar width */

body.is-modal-open{
	overflow: hidden;
	padding-right: var(--sbw);
	position: fixed;           /* чтобы не прыгало */
	width: 100%;
	top: var(--lock-top, 0px);  /* сюда кладём -scrollY */
}

/* если у вас есть фикс-шапка – дайте ей такой же padding-right */
.is-modal-open #siteHeader,   /* подставьте ваш селектор шапки */
.is-modal-open .compensate-scrollbar {   /* можно вешать на любые фикс-элементы */
	padding-right: var(--sbw);
}
.is-locked .fix-shift {
	padding-right: var(--sbw, 0px);
}
.is-locked .vw-fix {
	width: calc(100vw - var(--sbw, 0px));
}

/* ===== CF7 form inside modal ===== */
.booking h3#bookingTitle {
	margin: 0 28px 12px 0;
	font-size: 20px;
	line-height: 1.3;
	color: #0e2c4a;
	font-weight: 500;
	text-transform: uppercase;
}

.booking input[type="text"],
.booking input[type="tel"] {
	width: 100%;
	height: 44px;
	margin: 10px 0 14px;
	padding: 0 14px;
	border: none;
	border-bottom: 1px solid #e0e7ef;
	border-radius: 0px;
	background: #fff;
	font-size: 15px;
	color: #0e2c4a;
	box-sizing: border-box;
	outline: none;
}

.booking input[type="text"]::placeholder,
.booking input[type="tel"]::placeholder { color: #8192a6; }

.booking input[type="submit"],
.booking button[type="submit"] {
	display: inline-block;
	width: 100%;
	height: 46px;
	margin-top: 10px;
	border-radius: 0px;
	border: 0;
	cursor: pointer;
	background: #0c274a;           /* ваш фирменный цвет */
	color: #fff;
	font-weight: 500;
	letter-spacing: .2px;
}

/* ===== dropdown (details) ===== */
.booking-extra {
	border-radius: 0px;
	margin: 6px 0 10px;
	overflow: hidden;
}
.booking-extra > summary {
	list-style: none; cursor: pointer;
	padding: 12px 44px 12px 14px;
	position: relative;
	user-select: none;
}
.booking-extra > summary::-webkit-details-marker { display: none; }

.booking-extra__arrow {
	position: absolute; right: 14px; top: 50%;
	width: 10px; height: 10px;
	margin-top: -5px;
	border-right: 2px solid #0e2c4a;
	border-bottom: 2px solid #0e2c4a;
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.booking-extra[open] .booking-extra__arrow {
	transform: rotate(-135deg);
	margin-top: -3px;
}

.booking-list {
	max-height: 220px;
	overflow: auto;
	padding: 6px 14px 12px;
	border-top: 1px solid #e0e7ef;
}

/* кастомные чекбоксы */
.mc-check {
	display: flex; align-items: center;
	gap: 10px;
	padding: 8px 0;
	cursor: pointer;
	font-size: 15px;
	color: #0e2c4a;
}
.mc-check input {
	position: absolute; left: -99999px;
}
.mc-check i {
	width: 18px; height: 18px;
	border: 2px solid #0e2c4a;
	border-radius: 3px;
	display: inline-block;
	position: relative;
}
.mc-check input:checked + i {
	background: #0e2c4a;
	box-shadow: inset 0 0 0 3px #fff;
}



.contacts{padding-top:103px;}
.contacts__grid{    
	display: flex;
	align-items: center;
	gap: 75px;}
.contacts__title,
.contacts__subtitle{
	font-size: 20px;
	text-transform: uppercase;
	color: var(--c-text);
}

.contacts__item a{
	font-size: 18px;
	color: var(--c-text);
	text-decoration: none;
}

.contacts__list{
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0;
}
.contacts__socials{
	display: flex;
	gap: 10px;
}

.contacts__socials .soc{
	width:36px;
	height: 36px;
}
.contacts__socials a img{width:100%;}

.mobile__lang{
	display: none;
}

.main-page .hero{
	min-height: auto;
}

.location-page .hero__inner{min-height: 400px;}

.location-page .hero__content{max-width: 810px;}

.main-page .hero__actions {margin-bottom: 30px;}




.plan__art:nth-child(2){
	background:#0C274A !important;
}




/* Breadcrumbs */
.breadcrumbs{
	display: flex;
	align-items: flex-start;
	gap: 5px;
	font-size: 17px;
	line-height: 1.3;
	color: #B6BEC9;               /* белый, как в макете на тёмном баннере */
}
.crumb{
	color:#fff;
	text-decoration:none;
	opacity:.9;
}
.crumb:hover{ opacity:1; text-decoration:underline; }
.crumb--current{ color:#fff; }

.crumb__sep{margin-top: 3px;}

.bred{
	margin-bottom: 50px;
	margin-left: 5px;
}


.contacts__icon svg{
	width: 24px;
	height: 24px;
}

.contacts__item{
	display: flex;
	gap: 10px;
	font-size: 18px;
	color: var(--c-text);
}

.contacts__ext{
	display: flex;
	gap: 10px;
	font-size: 18px;
	color: var(--c-text);
}

.contacts__main-title{color: var(--c-text);}

.reviews{
	margin: 50px 0;
}

.ti-rating.ti-rating-large{
	display: none !important;
}

nav.navigation.post-navigation{display:none;}





.header-top__locations a{
	text-decoration: none;
}


/* Фиксируем хедер на всю ширину окна без 100vw */
#siteHeader,
.header {
	position: fixed;
	inset: 0 0 auto 0;   /* top:0; right:0; left:0 */
	width: auto;         /* критично: не 100vw */
	max-width: 100%;
}

/* На некоторых страницах скрипт может проставлять style="width: initial" —
чтобы он не ломал ширину, принудительно сбрасываем. */
.header__bottom[style] { width: auto !important; }

/* Страхуемся от «распирания» вложенных флексов длинным контентом */
.header__top,
.header__bottom,
.header__row,
.header .container {
	max-width: 1360px;
	min-width: 0;
}

/* Глобальная защита от горизонтального скролла */
html, body { overflow-x: clip; } /* если clip не поддерживается, можно hidden */




.spec-brief .brief{
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.tm__subtitle{
	font-weight: 500;
	font-size: 18px;
	text-transform: uppercase;
	color: var(--c-text);
}

.tm p{
	color: var(--c-text);
}

.tm ul,.tm ol{
	color: var(--c-text);
}

.faq-item.is-open .faq-item__body{
	display: block !important;
}



/* ничего не должно перекрывать заголовок аккордеона */
.faq__wrap::before,
.faq__wrap::after { pointer-events: none !important; }

.faq-item__head {
	position: relative; z-index: 2;
	pointer-events: auto !important; /* на всякий */
	display: flex; align-items: center; width: 100%;
}

/* чтобы клики шли в сам button, а не «залипали» на вложенных спанах */
.faq-item__head * { pointer-events: none; }


.hero__bg_mob{display: none !important;}









/* ===== Dark header base ===== */
#siteHeader.header--dark{
	/* все внутри наследует цвет */
	color:#fff;
	background:transparent;
	transition:
		background-color .3s ease,
		color .0s ease,
		box-shadow .3s ease,
		backdrop-filter .3s ease,
		-webkit-backdrop-filter .3s ease;
}

/* ссылки/кнопки/иконки должны наследовать цвет */
/* если где-то был принудительный цвет — переопредели под свои классы */
#siteHeader.header--dark a,
#siteHeader.header--dark button,
#siteHeader.header--dark .header__tel,
#siteHeader.header--dark .header__lang,
#siteHeader.header--dark .header__social a { color: inherit; }

/* иконки svg должны краситься через currentColor */
#siteHeader.header--dark svg { fill: currentColor; transition: fill .7s ease, opacity .2s; }

/* логотип-картинка: белим на прозрачном фоне, нормальный на белой подложке */
#siteHeader.header--dark .logo img{ filter: brightness(0) invert(1); transition: filter .7s ease; }

/* ===== Состояние «подложка активна» (ховер/скролл) ===== */
#siteHeader.header--dark.is-solid,
#siteHeader.header--dark:hover{
	background: rgba(255,255,255,.98);
	color: var(--c-text) !important;                 /* твой тёмный цвет текста */
	box-shadow: 0 6px 28px rgba(12,20,74,.08);
	-webkit-backdrop-filter: saturate(120%) blur(6px);
	backdrop-filter: saturate(120%) blur(6px);
}



#siteHeader.header--dark a img{
	filter: brightness(0) invert(1);   /* → чисто белый */
	transition: filter .25s ease;
}
#siteHeader.header--dark:hover a img,
#siteHeader.is-solid:hover a img{
	filter: invert(0);
}
#siteHeader.is-solid a img{
	filter: invert(0);
}



#siteHeader.header--dark.is-solid .logo img,
#siteHeader.header--dark:hover   .logo img{     filter: invert(1); }

.is-solid.header--light .logo img{filter: invert(1) !important;}

.brunch__soc img{
	filter: brightness(0) invert(1);   /* → чисто белый */
	transition: filter .25s ease;	
}



.services-page .hero__bg{object-position: 0 -235px;}





.page .post-thumbnail{display:none;}


.pometka-v-cenah{font-size: 12px;text-transform: math-auto;}

.my-singl-post .pometka-v-cenah{font-size: 16px;}



.my-singl-post .prices{position:relative;}


















.prices-page .hero__bg { object-fit: cover;    object-position: bottom;}

.my-singl-post .svc-card__note{position: unset;font-size: 14px;}


.lang__chev{
	fill: none !important;
}

.mobr{display:none;}






:root{
  --fab-size: 64px;           /* диаметр главной кнопки */
  --fab-item-size: 48px;      /* диаметр маленьких кнопок */
  --fab-gap: 12px;            /* расстояние между кружками */
  --fab-bg: #0c2b4e;          /* цвет главной кнопки */
  --fab-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.fab{
	display: none;
  position: fixed;
  right: 20px;
  bottom: 80px;
  z-index: 9999;
  pointer-events: none; /* чтобы клики ловили только дети */
}

/* стек элементов */
.fab__items{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--fab-gap);
  position: absolute;
  bottom: calc(var(--fab-size) + 10px);
  right: 0;
  transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  transition: .25s ease;
  pointer-events: auto;
}

.fab.is-open .fab__items{
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.fab__item{
  width: var(--fab-item-size);
  height: var(--fab-item-size);
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--fab-shadow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  cursor: pointer;
  border: none;
}

.fab__item img{
  width: 32px;
  height: 32px;
  display: block;
}

.fab__item:hover{ transform: translateY(-2px) scale(1.04); }

/* главная кнопка */
.fab__btn{
  pointer-events: auto;
  width: var(--fab-size);
  height: var(--fab-size);
  border-radius: 50%;
  background: var(--fab-bg);
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--fab-shadow);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.fab__btn:hover{ transform: translateY(-1px); }

.fab__icon{ 
  width: 40px; height: 40px; 
  position: absolute; 
  transition: opacity .18s ease, transform .22s ease;
	filter: brightness(0) invert(1);
}

.fab__icon--close{ opacity: 0; transform: rotate(-90deg) scale(.8);filter: brightness(0) invert(1); }
.fab.is-open .fab__icon--open{ opacity: 0; transform: rotate(90deg) scale(.8); }
.fab.is-open .fab__icon--close{ opacity: 1; transform: rotate(0) scale(1); }




#bwcrm-widget-action{bottom: 70px !important;}

.bwcrm-btn-widget-action{height: 80px !important;font-size: 16px !important;width: 80px !important;border-radius: 100px !important;padding: 0 !important;}
#bwcrm-widget-action .bwcrm-btn-widget-action::after{border-radius: 50% !important;}

















@media(min-width: 1500px){
	.main-page .hero__inner{min-height: 776px;}
	
	/*.hero--static::before{
		background-image:var(--hero-img);
	}*/
}

@media(min-width: 1400px){
	.hero__bg { object-fit: cover;}
	
}

@media (min-width: 1025px){
	[data-mobile].mobile{ display: none !important; }
}
@media (min-width: 640px){
	.svc-card__more{width: auto;margin-top: 15px;}
	.svc-price__note{position: absolute;font-size: 14px;}
}
/* адаптив */
@media (max-width: 1100px){
	.about-hero__grid{
		grid-template-columns: 1fr;
		align-items: end;
		gap: 28px;
	}
	.about-hero__right{
		max-width: none;
	}

	.contacts__grid{
		gap: 30px;
		flex-direction: column;
	}
}

@media (max-width: 1024px){
	.nav__list{display:none}
	.burger{display:flex}
	.lang{display:none}
	.header-top__locations{display:none} /* если по макету так */
	.footer--pattern{ background-position: right 10% center; background-size: 720px auto; }
	.footer__grid{ grid-template-columns: 1fr 1fr; gap:28px; }
	.footer--pattern::before{background-position: right 10% center; background-size: 880px auto;}
	.footer__grid{grid-template-columns:1fr 1fr; gap:28px;}
	.hero__slide{min-height:560px}

	.hero__title{font-size:46px}
	.why__over{font-size:36px}
	.why__brand{font-size:44px}
	.why__grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px 28px}
	.cards-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
	.massages__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gift{ padding:44px 0 }
	.gift__wrap{ grid-template-columns:1fr; gap:24px }
	.gift__title{ font-size:40px }
	.subs__title{font-size:42px}
	.subs__grid{grid-template-columns:repeat(2, minmax(0,1fr))}
	.about__wrap{ grid-template-columns:1fr; gap:28px; }
	.about__text p{ max-width:100%; }
	.about__locations{ order:1; }
	.staff__title{font-size:42px}
	.why-dark__grid{ grid-template-columns: repeat(3,1fr); }
	.studio-gallery__grid{
		grid-template-columns: 1fr 1fr;
		--row-h: clamp(220px, 38vw, 460px);
	}

	.subs {
		padding: 25px 0;
	}
	.subs__in{
		grid-template-columns: 1fr; /* стекаем в одну колонку */
		gap: 28px;
	}

	.subs__media{
		height: 54vw;
		border-radius: 28px;            /* мягче на мобиле */
	}
	.branch__in {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.branch__map {
		aspect-ratio: 3 / 2;
	}

	.sertificate-page .gift__wrap {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.sertificate-page .gift__media {
		min-height: 380px;
		order: -1; /* картинка над текстом */
	}
	.sertificate-page .gift {
		padding-top: 96px; /* чуть меньше на планшете */
	}

	.gift__wrap {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.gift__media {
		min-height: 380px;
		order: -1; /* картинка над текстом */
	}
	.gift {
		padding-top: 96px; /* чуть меньше на планшете */
	}
	.thera__edu { width: 76%; }

	.prices-page{padding-top: 105px;}



	.header--dark .burger span{background:#fff;}

	.burger span,.is-solid .burger span,.header--dark:hover .burger span{background:var(--c-text);}
	.logo.for-mob{display:block;}

	.lang{display: block;margin: 0;}

	.header-bottom__row{justify-content: space-between;padding: 10px;}

	nav.nav{display:none !important;}









	:root{
		--headerH: 106px;              /* фактическая высота шапки на мобилке */
	}

	/* Кнопка-бургер */
	/*.burger{
	position: relative;
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	-webkit-tap-highlight-color: transparent;
}
	.burger__line,
	.burger::before,
	.burger::after{
	content:"";
	position: absolute;
	width: 22px; height: 2px; border-radius: 2px;
	background: currentColor; left: 50%; transform: translateX(-50%);
	transition: transform .28s ease, opacity .2s ease, top .28s ease, bottom .28s ease;
}
	.burger__line{ top: 50%; transform: translate(-50%, -50%); }
	.burger::before{ top: 8px; }
	.burger::after { bottom: 8px; }

	/* Состояние «крестик»
	.is-menu-open .burger__line{ opacity: 0; }
	.is-menu-open .burger::before{ top: 50%; transform: translate(-50%, -50%) rotate(45deg); }
	.is-menu-open .burger::after { bottom: auto; top: 50%; transform: translate(-50%, -50%) rotate(-45deg); } */



	.mobile::before,
	.mobile::after,
	.mobile-overlay,
	.header::after { display:none !important; }

	/* Бургер → крест */
	.burger { position:relative; width:32px; height:32px; border:0; background:none; }
	.burger span {
		position:absolute; left:6px; right:6px; height:2px; background:var(--c-text);
		transition:transform .25s ease, opacity .25s ease, top .25s ease;
	}
	.burger span:nth-child(1){ top:9px; }
	.burger span:nth-child(2){ top:15px; }
	.burger span:nth-child(3){ top:21px; }
	.burger.is-open span:nth-child(1){ top:15px; transform:rotate(45deg); }
	.burger.is-open span:nth-child(2){ opacity:0; }
	.burger.is-open span:nth-child(3){ top:15px; transform:rotate(-45deg); }





	/* Платформа мобильного меню: сразу под шапкой */
	.mobile{ display:none; position:static; background:#fff; }
	.mobile.is-open{ display:block;height: 100vh;overflow-y: scroll; }

	.mobile__inner{padding: 35px 10px 135px;MARGIN-TOP: 5px;border-top: 1px solid var(--c-border); }
	.mobile__list{
		list-style:none; margin:0; padding:0;
		display:flex; flex-direction:column; align-items:center; gap:22px;
	}
	.mobile__list a{
		text-decoration:none; color:var(--c-text); font-weight:500;
		letter-spacing:.02em; text-transform:uppercase; font-size:18px; line-height:1.4;
	}

	.mobile__divider{ height:1px; background:#E6EBF2; margin:26px 0; }

	.mobile__info{ text-align:center; color:#16324A; }
	.mobile__tel a{ color:var(--c-text); font-weight:500; font-size:18px; text-decoration:none; }
	.mobile__tel{ margin-bottom:16px; }
	.mobile__addr{ margin:8px 0 0; line-height:1.5; color: var(--c-text);font-size:17px; font-weight:400; }

	/* Не блокируем прокрутку страницы при открытом меню */
	body.mobile-open{ overflow:auto; }

	/* Десктоп: меню скрываем и не активируем */









} 

@media (max-width: 992px){
	.hero__chips{ flex-wrap: wrap; gap: 10px; }
	.hero-chip{ font-size: 15px; padding: 9px 16px; }
	.gift-why__grid{
		grid-template-columns: 1fr;
	}
	.gift-why__right{
		border-left: 0;
		padding-left: 0;
		margin-top: 8px;
	}

	.price-note__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

@media (max-width: 900px){
	.staff__title{font-size:36px}
	.faq__wrap{ grid-template-columns:1fr; gap:20px; }
	.faq__title{ font-size:40px; }
	.spec-brief__grid, .steps__grid{ grid-template-columns:1fr; }
	.steps__title{ font-size:38px; }
	.popular__row { grid-template-columns: 1fr; gap: 28px; }
	.popular__title { font-size: clamp(26px, 5vw, 42px); }
	.choose__row { grid-template-columns: 1fr; gap: 28px; }
	.choose__title { font-size: clamp(26px, 5vw, 42px); }
}

@media (max-width: 768px){
	.container{
		padding: 0 10px;
	}

	.hero__slide{min-height:520px}
	.hero__title{font-size:41px}
	.hero__note{font-size:18px}
	.hero__nav{ bottom:30px; }
	.hero__bullet{ width:72px; }
	.tm__text{ max-width:100%; }
	.tm__box{ width:100%; min-height:200px; }
	.place-card > img{
		object-position: 0px -260px;
	}
	.price-row{
		grid-template-columns: 1fr;      /* в столбик */
		gap: 10px;
		padding: 20px;
	}
	.price-row__btn{
		justify-self: start;
		background: var(--c-text);
		color: #fff;
		width: auto;
		padding: 13px 0 !important;
		text-align: center;
		margin: 10px 0;
	}
	
	.prices-page .price-row__btn{
		width: 100%;
		background: transparent;
		border: 1px solid var(--c-text);
		color: var(--c-text);
	}

	.price-row__chips{
		flex-direction: column;
		align-items: flex-start;
	}

	.price-row__sep{
		display: none;
	}



	.why-dark__grid{ grid-template-columns: repeat(2,1fr); }
	.why-dark__item{ padding:22px 18px; }
	.why-dark__kicker{ font-size:22px; }
	.why-dark__title{ font-size:34px; }
	.about-hero{
		height: 640px;                   /* разумное уменьшение высоты на мобилке */
	}
	.hero__in{ position:relative; z-index:1; padding:120px 15px 40px !important; }
	.about-hero__left,
	.about-hero__right{
		padding-bottom: 0px;
	}
	.thera__edu { width: 100%; }

	.certs__grid {
		grid-template-columns: 1fr;
	}
	.certs__item {
		min-height: 180px;
	}
	.hero__price-new{
		font-size: 27px;
	}
	.hero__price-old{
		font-size: 21px;
	}

	.why__title{
		line-height: 30px !important;
	}

	.main-page .subs{
		background:#fff;
		margin-top: 40px;
	}

	.main-page .hero__inner{
		height: 510px;
		min-height: auto;
	}

	.gift__content{
		margin: 0;
	}
	.footer__console .footer__col{
		width: 100%;
	}


	.svc-card__media{aspect-ratio: 332/315}

	.services-page .gift{padding: 0 0 50px;}
	.contacts {padding-top: 150px;}
	.contacts__media{
		display: none;
	}

	.location-page .hero__inner{
		height: 100%;
	}




	.bred {
		overflow: hidden;                  /* чтобы не торчал внутренний скролл */
	}

	/* сама «дорожка» крошек */
	.breadcrumbs {
		display: flex;
		flex-wrap: nowrap;                 /* не переносить на новую строку */
		align-items: center;
		gap: 10px;

		overflow-x: auto;                  /* горизонтальный скролл пальцем */
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch; /* инерция на iOS */

		white-space: nowrap;               /* на случай inline-элементов */
		scrollbar-width: none;             /* Firefox: скрыть полосу */
	}
	.breadcrumbs::-webkit-scrollbar {    /* Chrome/Safari: скрыть полосу */
		display: none;
	}

	/* каждый пункт не сжимать */
	.breadcrumbs > * {
		flex: 0 0 auto;                    /* не даём сжиматься/переноситься */
	}

	/* если разделитель ">" сделан псевдоэлементом у li, по желанию: */
	.breadcrumbs li {
		display: inline-flex;
		align-items: center;
	}
	.breadcrumbs li::after {
		content: "›";                      /* или ваш символ/иконка */
		margin: 0 6px;
		opacity: .6;
	}
	.breadcrumbs li:last-child::after { content: none; }

	
}

@media (max-width: 640px){
	.header-top__row{flex-direction:column;align-items:flex-start;gap:6px;min-height:unset;padding:10px !important;}

	.footer--pattern{ background-position: 120% 40%; background-size: 540px auto; }
	.footer__grid{ grid-template-columns: 1fr; }
	.footer__brand{ order:-1 }
	.footer__bottom_row{ flex-direction:column; align-items:flex-start }
	.footer--pattern::before{background-position: -35% 40%; background-size: 560px auto;}
	.footer__grid{grid-template-columns:1fr}
	.footer__bottom_row{flex-direction:column;align-items:flex-start}
	.why{padding:50px 0}


	.why__grid{grid-template-columns:1fr}
	.cards-grid{grid-template-columns:1fr}
	.massages__grid{grid-template-columns:1fr}
	.gift{ padding:25px 0 50px}



	.gift__title,.about__title,.faq__title,.prices-title,.sertificate-page .gift__title,.gift-why__title,.gift-why__title,.popular__title,.choose__title,.price-note__title,.why__title,.why__over, .why__brand{ font-size:30px }



	.gift__steps li::before{ width:24px; top:16px; font-size:20px }
	.subs__title,.staff__title{font-size:30px;max-width: 260px;margin-bottom: 10px;}
	.staff__title{
		margin-bottom: 20px;
	}
	.subs__grid{grid-template-columns:1fr}
	.studio-gallery__grid{
		grid-template-columns: 1fr;
		--row-h: clamp(200px, 62vw, 420px);
	}

	.subs__media{
		height: 62vw;
	}

	.branch,
	.staff{
		padding: 25px 0;
	}
	.branch__map {
		aspect-ratio: 4 / 3;
	}

	.sertificate-page .gift {
		padding-top: 88px;
	}
	.gift__steps li{
		padding-left: 0px;
		font-size: 17px;
	}
	.gift__steps li::before{
		width: 24px;
		height: 24px;
		font-size: 13px;
	}
	.gift {
		padding-top: 88px;
	}


	.about-hero__cta{
		position: absolute;
		bottom: 45px;
		left: 50%;
		transform: translateX(-50%);
		width: calc(100% - 85px);
		text-align: center;
	}

	.thera {
		padding-top: 24px;
	}
	.thera__title {
		font-size: 30px;
	}
	.thera__btn {
		width: 100%;
	}

	.why-item__title{
		font-size: 18px;
	}
	.why-item__text,
	.about__text p,
	.staff-card__role,
	.prices-page .price-row__note,
	.gift-why__lead,
	.reasons__text,
	.popular__right p,
	.choose__item-text,
	.price-note__content p,
	.sub-hero__lead,
	.chip,
	.edu-card__body p,
	.edu-item__title{
		font-size: 17px;
	}

	.massages__title{
		font-size: 30px;
	}

	.svc-card__body{
		min-height: auto;
	}


	.gift__media_desk,
	.sertificate-page .gift__media{
		display: none;
	}

	.gift__media_mob,
	.gift__mediamob{
		display: block  !important;
	}

	.sertificate-page .gift__mediamob{order: 2;}

	.sertificate-page .gift__wrap{padding:50px 10px;}

	.gift__media{
		min-height: auto;
	}

	.subs__head{
		flex-direction: column;
	}
	.btn{
		padding: 13px 0px;
		text-align: center;
		min-width: 165px;
	}

	.subs__pick{
		border: none;
		color: #fff;
		background:var(--c-text);
		width: 100%;
		text-align: center;
		margin: 0 auto;
		padding: 13px 0;
	}

	.plan__tier,
	.plan__discount,
	.place-card__addr,
	.staff-card__name,
	.price-row__name,
	.prices-page .price-chip,
	.choose__item-title,
	.edu-card__title{
		font-size: 18px;
	}
	.plan__title{
		font-size: 27px;
	}

	.about__cta{
		display: none;
	}

	.place-card__bar{
		align-items: flex-start;
		flex-direction: column;
	}

	.about__locations .place-card__bar .btn{

		text-align:center;
		padding: 13px 0;
	}

	.tm__title,.faq-item__q,.thera__subtitle{font-size: 14px;}

	.tm__text p,.faq-item__inner{font-size: 13px;}

	.footer__console{
		flex-direction: column;
		gap: 50px;
	}

	.footer__offer{
		margin: 0px 0 30px;
	}

	.services-page .hero,
	.prices-page .hero{
		height: 175px;

		min-height: auto;
	}
	.services-page .hero__title_srvices,
	.prices-page .hero__title_srvices{
		margin-top: 15px;
	}

	.services-page .hero .hero__bg,
	.prices-page .hero .hero__bg{

		height: 175px;
		object-position: unset; 
		top: auto;
		object-fit: unset;
	}

	.prices{padding-bottom: 10px;padding-top: 10px;}

	.prices-title{padding-top:20px;}

	.prices-page .prices-section{padding-bottom:20px;}

	.gift__actions .btn{width:48%;text-align:center;}




	.mobe-none{display: none !important;}

	.sertificate-page .gift__mediamob .btn{
		margin: 20px 0;
		width: 100%;
		text-align: center;
		padding: 13px 0;
	}

	.sertificate-page .gift-why{padding:0 0 25px;}

	.sertificate-page .gift-why-number,.sertificate-page .gift-why--benefits{padding:50px 0;}


	.for-mob{display: block;}
	.for-mob.btn{
		width: 100%;
		padding: 13px 0;
		text-align: center;
	}
	.logo.for-mob{
		max-width: 171px;
	}


	.abonement-page .sub-hero .sub-hero__title,.massage-master-page .sub-hero__title{font-size: 41px;}

	.abonement-page .sub-hero,.massage-master-page .sub-hero{height: 210px;}
	.abonement-page .sub-hero{height: 275px;display: flex;align-items: flex-end;}

	.header{
		position: relative;
		background:#fff !important;
		color: var(--c-text) !important;
		box-sizing: border-box;
	}

	.header-top .logo{
		display: none;
	}

	.header .header-top__socials img,
	.header .logo img{

	}


	.lang__toggle{
		color:  var(--c-text);
	}
	

	.header-top__info{
		gap: 5px;
		width: 100%;
		justify-content: space-between;
	}

	.about-page .about-hero__grid{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 20px;
		padding: 0;
	}

	.about-page .about__locations,.studio-gallery__grid{flex-direction: column;}
	.about-column .place-card,.studio-gallery__item--large,.studio-gallery__item--small{width: 100%;}
	.thera__role{border-bottom: 1px solid #0c274a45;padding-bottom: 25px;font-size:17px;}





	.subs{
		padding: 50px 0 0;
	}

	.subs__head{
		margin-bottom: 50px;
	}

	.plan__content{
		justify-content: flex-start;
	}

	.plan__tier{
		margin-bottom: 50px;
	}

	.subs__footer{
		margin: 50px auto;
	}

	.place-card > img{
		height: 363px;
		object-position: 0px -200px;
	}

	.hero .btn.btn--primary{
		width: -webkit-fill-available;
	}

	.steps__grid{
		margin-left: 0;
	}

	.my-singl-post .subs{
		background: #fff;
		margin: 20px 0 0;
		padding: 50px 0 0;
	}

	.my-singl-post .subs__title{margin-bottom: 30px;}

	.plan__infograf{height: 295px;}

	.about__locations{display:flex;flex-direction: column !important;}

	.services-page{padding-top: 105px;}



	#siteHeader.header--dark .logo img,#siteHeader.is-solid:hover a img{filter: invert(1) !important;}
	#siteHeader.header--dark a img{filter: unset;}

	.header .burger span {background:var(--c-text);}
	
	.pometka-v-cenah{   
	text-transform: math-auto;
    font-family: Raleway;
    font-weight: 400;
    font-size: 16px;
    line-height: 156%;
	padding-left: 10px;}
	
	
	.about-hero__right p{line-height:22px;}

}

@media (max-width: 480px){


	.about-hero__title{
		font-size: clamp(28px, 10vw, 40px);
	}
	.why-dark__grid{display: flex;flex-direction: column; border: none;}
	.why-dark__item{border:none;border-bottom: 1px solid rgba(255, 255, 255, .08);display: flex;flex-direction: row;}


	.hero__bg_desk{display: none;}
	.hero__bg_mob{display: block !important; }
	
	.hero__bg{object-fit: cover;}
	
	.main-page .hero__inner{height: 600px;}
	
	
	.hero--static::before{
		background-image:var(--hero-img-mob);
	}
	
	.hero__title {font-size: 30px;}
	
	.bred{    margin-bottom: 20px;}
	
	.hero__li{
		    line-height: normal;
	}
	
	.svc-card__name, .svc-card__name a{
		min-height: auto;
	}
	
	.step__name{font-size:14px;}
	.step__txt{font: 400 16px / 1.4 'Montserrat', sans-serif;}
	.mobr{display:block;}
	
	
	 .fab{ right: 16px; bottom: 16px; }
  :root{ --fab-size: 58px; --fab-item-size: 46px; --fab-gap: 10px; }
  
  .bwcrm-btn-widget-action{font-size: 14px !important;}
  
  #bwcrm-widget-action{bottom: 55px !important;}
}








/* ===== Bullets progress via animation ===== */
@keyframes heroFill { from { width:0 } to { width:100% } }

