/* ==========================================================================
   Парковка возле Аэропорта Уфа — СВЕТЛЫЙ GREENLANE-РЕДИЗАЙН
   ==========================================================================
   Тема: «Зелёная полоса». Белый воздушный фон, зелёно-лаймовый акцент
   (#76b72d), мягкие тени, модульная двухколоночная сетка hero, заметные
   CTA, верхняя плашка-маркер. Полностью переработанная визуальная
   идентичность при сохранении всех данных и блоков.

   Дизайн-токены:
     --bg        #ffffff   белый
     --surface   #ffffff   карточки
     --accent    #76b72d   зелёно-лаймовый
     --accent-2  #4d8a1c   тёмно-зелёный (градиентный партнёр)
     --grad      зелёный градиент CTA
   ========================================================================== */

:root{
  --bg:#ffffff;
  --bg-2:#f4f8ee;
  --surface:#ffffff;
  --surface-2:#f7faf2;
  --border:rgba(70,100,26,.14);
  --border-accent:rgba(118,183,45,.40);
  --ink:#10241a;
  --muted:#546658;
  --soft:#8d9d8f;
  --accent:#76b72d;
  --accent-2:#4d8a1c;
  --accent-soft:#8cc63f;
  --accent-deep:#3f7416;
  --danger:#ef4444;
  --radius:20px;
  --radius-sm:12px;
  --grad:linear-gradient(135deg,#9ad24a 0%,#76b72d 50%,#4d8a1c 100%);
  --grad-soft:linear-gradient(135deg,rgba(118,183,45,.14),rgba(77,138,28,.14));
  --glass:linear-gradient(160deg,#ffffff,#f7fbf1);
  --shadow-card:0 20px 44px rgba(60,90,25,.12);
  --shadow-glow:0 0 0 1px var(--border-accent),0 16px 34px rgba(118,183,45,.20);
  --font:'Unbounded','Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Manrope','Unbounded',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-spring:cubic-bezier(.3,1.4,.4,1);
}

/* ---------- База ---------- */
html{scroll-behavior:smooth;}
body{
	margin:0;
	font:100%/1.6 var(--font-body);
	color:var(--ink);
	background:var(--bg);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	overflow-x:hidden;
}
/* фоновые мягкие зелёные орбы */
body::before,body::after{
	content:"";
	position:fixed;
	z-index:-1;
	border-radius:50%;
	filter:blur(130px);
	opacity:.28;
	pointer-events:none;
}
body::before{
	width:560px;height:560px;
	top:-180px;right:-140px;
	background:radial-gradient(circle,#d9efb4,transparent 70%);
	animation:orbFloat 20s ease-in-out infinite alternate;
}
body::after{
	width:480px;height:480px;
	bottom:-160px;left:-120px;
	background:radial-gradient(circle,#e4f4c9,transparent 70%);
	animation:orbFloat 24s ease-in-out infinite alternate-reverse;
}
@keyframes orbFloat{
	0%{transform:translate(0,0) scale(1);}
	100%{transform:translate(34px,44px) scale(1.16);}
}

*{box-sizing:border-box;}
a{color:inherit;}

#vk_groups{width:100%;box-sizing:border-box;}
#vk_comments,#vk_comments iframe{width:100%!important;}
.fb-comments,.fb-comments span,.fb-comments iframe{width:100%!important;}

.clr:before,.clr:after{content:" ";display:table;}
.clr:after{clear:both;}

.wdth960{
	margin:0 auto;
	padding:0 32px;
	max-width:1180px;
	width:100%;
}

/* flex-хелперы */
.flex{display:flex;flex-wrap:wrap;}
.ai-c{align-items:center;}
.ai-fs{align-items:flex-start;}
.jc-sb{justify-content:space-between;}
.jc-c{justify-content:center;}

img{max-width:100%;height:auto;}

/* ---------- Верхняя плашка-маркер ---------- */
.topbar{
	background:linear-gradient(90deg,#f4f8ee,#eaf5d6,#f4f8ee);
	border-bottom:1px solid var(--border);
	padding:8px 0;
	font-size:.82em;
	color:var(--muted);
}
.topbar-mark{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.01em;}
.topbar-dot{
	width:9px;height:9px;border-radius:50%;
	background:var(--accent);
	box-shadow:0 0 12px 2px rgba(118,183,45,.55);
	animation:pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.7}}
.topbar-phone{
	color:var(--accent-deep);
	text-decoration:none;
	font-weight:700;
	letter-spacing:.02em;
	transition:color .2s;
}
.topbar-phone:hover{color:var(--accent);}

/* ---------- Разделы ---------- */
.section-alt{
	background:linear-gradient(180deg,transparent,rgba(118,183,45,.06) 50%,transparent);
}
.pd50{padding:84px 0;}

/* Заголовки секций */
h2{
	text-align:center;
	font-family:var(--font);
	font-size:clamp(1.7rem,3.4vw,2.4rem);
	color:var(--ink);
	letter-spacing:-.01em;
	font-weight:700;
	margin:0 0 10px;
	line-height:1.18;
}
.hero-left h2.reveal{
	text-align:left;
}
.hero-left h2.reveal:after{
	margin:18px 0 0;
}
/* декоративная линия-подчёркивание под заголовками */
h2::after{
	content:"";
	display:block;
	width:64px;height:4px;
	margin:18px auto 0;
	border-radius:999px;
	background:var(--grad);
	box-shadow:0 6px 18px rgba(118,183,45,.30);
}

/* ---------- Шапка ---------- */
header{
	padding:10px 0;
	background:rgba(255,255,255,.82);
	backdrop-filter:blur(16px) saturate(140%);
	-webkit-backdrop-filter:blur(16px) saturate(140%);
	border-bottom:1px solid var(--border);
	position:sticky;
	top:0;
	z-index:100;
}
header .wdth960{gap:16px;}

.logo{
	width:196px;
	height:auto;
	filter:drop-shadow(0 4px 14px rgba(118,183,45,.18));
}

.contacts{line-height:1.4;}
.contacts .adress,.contacts .headerphone{
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 16px;
	transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;
	border: 0;
    padding: 0;
	margin:0 0 0 10px;
	font-size: .875rem;
}
.contacts .adress:hover,.contacts .headerphone:hover{
	transform:translateY(-2px);
	border-color:var(--border-accent);
	box-shadow:0 8px 24px rgba(60,90,25,.12);
}
.contacts span{
	color:var(--muted);
	font-size:.72em;
	display:block;
	letter-spacing:.02em;
}
.contacts .adress div>span,.contacts .headerphone div>span{font-size:.68rem;}
.contacts .adress img,.contacts .headerphone img{
	width:20px;
	height:20px;
	flex:0 0 auto;
}
.contacts .adress{
	margin-right:14px;
}

.phone-box{
	color:var(--ink);
	text-decoration:none;
	font-family:var(--font);
	font-weight:500;
	font-size:1.14em;
	white-space:nowrap;
}
.phone-box:hover{color:var(--accent);}
/* ==========================================================================
   HERO — главный экран (двухколоночная сетка)
   ========================================================================== */
.lokomotiv{
	position:relative;
	padding:56px 0 0;
	overflow:hidden;
}
/* мягкое свечение за hero */
.lokomotiv::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(760px 380px at 50% -10%,rgba(118,183,45,.14),transparent 60%),
		radial-gradient(600px 300px at 85% 30%,rgba(77,138,28,.10),transparent 60%),
		radial-gradient(600px 300px at 8% 40%,rgba(140,198,63,.08),transparent 60%);
	pointer-events:none;
}
/* «взлётная полоса» из мягких штрихов внизу */
.lokomotiv::after{
	content:"";
	position:absolute;
	left:0;right:0;bottom:0;height:160px;
	background:
		repeating-linear-gradient(115deg,transparent 0 46px,rgba(118,183,45,.06) 46px 48px),
		linear-gradient(180deg,transparent,rgba(118,183,45,.04));
	pointer-events:none;
	mask-image:linear-gradient(180deg,transparent,#000);
	-webkit-mask-image:linear-gradient(180deg,transparent,#000);
}
.lokomotiv .wdth960{position:relative;z-index:2;}

/* двухколоночная сетка hero */
.hero-grid{
	display:grid;
	grid-template-columns:1.35fr .9fr;
	gap:34px;
	align-items:center;
	margin-bottom:44px;
}
.heroprice{
	grid-template-columns:.9fr 1.35fr;
}
.hero-left{min-width:0;}
.hero-right{min-width:0;}

/* eyebrow — мелкий акцент над H1 */
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:7px 16px;
	border-radius:999px;
	background:rgba(118,183,45,.10);
	border:1px solid var(--border-accent);
	color:var(--accent-deep);
	font-family:var(--font);
	font-size:.78em;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	box-shadow:0 4px 14px rgba(118,183,45,.12);
}
.eyebrow::before{
	content:"";
	width:8px;height:8px;
	border-radius:50%;
	background:var(--accent);
	box-shadow:0 0 10px 2px rgba(118,183,45,.45);
	animation:pulseDot 2s ease-in-out infinite;
}

h1{
	color:var(--ink);
	font-family:var(--font);
	font-weight:800;
	letter-spacing:-.02em;
	margin:22px 0 10px;
	font-size:clamp(2.2rem,5.2vw,3.7rem);
	line-height:1.08;
}
h1 .grad{
	background:var(--grad);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
}
.h1-sub{
	color:var(--muted);
	font-size:1.12em;
	max-width:560px;
	margin:4px 0 8px;
}

/* адрес/телефон под заголовком */
.locations2{gap:12px;justify-content:flex-start;margin:26px 0;flex-wrap:wrap;}
.locations2 a{
	color:var(--ink);
	padding:12px 22px;
	border-radius:999px;
	margin:0;
	border:1px solid var(--border);
	background:var(--surface);
	backdrop-filter:blur(8px);
	text-decoration:none;
	transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;
	font-weight: 100;
    font-size: .75em;
    font-family: var(--font);
}
.locations2 a:hover{
	transform:translateY(-3px);
	border-color:var(--border-accent);
	box-shadow:var(--shadow-glow);
}
.locations2 a.locphone{
	font-family:var(--font);
	font-weight: 500;
    font-size: 1em;
	background:var(--grad);
	color:#fff;
	border:none;
	box-shadow:0 12px 26px rgba(118,183,45,.34);
}
.locations2 a.doex{display:inline-flex;align-items:center;gap: 0px;
    justify-content: center;
    padding: 12px 15px;}
.locations2 a.doex img{width:18px;height:18px;flex:0 0 auto;margin: 0 5px 0 0;}

.doexfix{
	position:fixed;
	bottom:88px;
	right:20px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:var(--ink);
	padding:8px 22px;
	border-radius:999px;
	margin:0;
	border:1px solid var(--border);
	background:var(--surface);
	backdrop-filter:blur(8px);
	text-decoration:none;
	transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;
	font-weight: 100;
    font-size: .75em;
    z-index: 9;
    font-family: var(--font);
	min-width: 217px;
}
.doexfix:hover{
	transform:translateY(-3px);
	border-color:var(--border-accent);
	box-shadow:var(--shadow-glow);
}
.doexfix img{
	width:18px;
	height:18px;
	flex:0 0 auto;
}

/* ==========================================================================
   ФОРМА бронирования — выделенная карточка
   ========================================================================== */
.callform{
	padding:26px 26px;
	border-radius:var(--radius);
	background:var(--glass);
	backdrop-filter:blur(14px);
	border:1px solid var(--border-accent);
	color:var(--ink);
	display:flex;
	align-items:center;
	text-align:center;
	line-height:1.3;
	box-shadow:
		0 0 0 1px rgba(118,183,45,.18),
		0 24px 60px rgba(60,90,25,.14);
	position:relative;
	overflow:hidden;
}
.callform::before{
	content:"";
	position:absolute;
	inset:-2px;
	background:var(--grad);
	z-index:-1;
	filter:blur(24px);
	opacity:.16;
}
.callform::after{
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(320px 140px at 90% -20%,rgba(255,255,255,.7),transparent 60%);
	pointer-events:none;
}
.callform>*{position:relative;z-index:1;width:100%;}

.callform .h2{
	font-family:var(--font);
	font-size:1.55em;
	font-weight:700;
	line-height:1.18;
	margin:0 0 6px;
	letter-spacing:-.01em;
	color:var(--ink);
}
.callform .h2::after{display:none;}
.callform p{font-size:.92em;color:var(--muted);margin:0 0 14px;}

.forminputs{display:grid;gap:10px;}
.forminputs input{
	display:block;
	width:100%;
	margin:0;
	padding:13px 14px;
	color:var(--ink);
	outline:none;
	background:var(--surface);
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	text-align:center;
	font-family:var(--font-body);
	font-size:1em;
	transition:border-color .2s,box-shadow .2s;
}
.forminputs input::placeholder{color:var(--soft);}
.forminputs input:focus{
	border-color:var(--accent);
	box-shadow:0 0 0 4px rgba(118,183,45,.18);
}
.forminputs .confidlabel {
    display: flex;
    align-items: center;
    padding: 0 0 10px;
    font-size: .65em;
    color: #2B2E33;
	justify-content: center;
}
.confidlabel input{
	width: 16px;
    height: 16px;
    padding: 0;
    margin: 0 5px 0 0;
}
.errmsg {
    color: #FF5722;
    display: block;
    font-size: .75em;
    font-weight: 300;
}
.confidlabel.confiderr, .confidlabel.confiderr a {
    color: #FF5722;
}

/* ==========================================================================
   КНОПКИ — ГЛАВНЫЙ АКЦЕНТ.
   ========================================================================== */
.button{
	border:none;
	padding:16px 30px;
	color:#fff;
	cursor:pointer;
	line-height:1;
	position:relative;
	overflow:hidden;
	transition:transform .3s var(--ease-spring),box-shadow .3s;
	font-family:var(--font);
	font-size:1em;
	font-weight:700;
	letter-spacing:.01em;
	border-radius:999px;
	background:var(--grad);
	box-shadow:
		0 6px 0 rgba(60,90,25,.22),
		0 14px 30px rgba(118,183,45,.36);
	text-align:center;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
/* бегущий блик */
.button::before{
	content:"";
	position:absolute;
	top:0;
	left:-70%;
	width:45%;
	height:100%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
	transform:skewX(-20deg);
	transition:left .7s var(--ease);
	z-index:2;
}
.button:hover{transform:translateY(-4px) scale(1.02);}
.button:hover::before{left:130%;}
.button:active{transform:translateY(0) scale(.99);}
button.button{border:0;}
input.button{border:0;}

/* кнопка внутри формы */
.callform .button{
	width:100%;
	background:var(--grad);
	color:#fff;
	box-shadow:0 6px 0 rgba(60,90,25,.18),0 14px 30px rgba(118,183,45,.34);
}
.callform .button::before{
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
}
.callform .button:hover{box-shadow:0 10px 0 rgba(60,90,25,.14),0 20px 40px rgba(118,183,45,.42);}

/* ---------- Цены ---------- */
.priceset{margin:0 0 20px;}
.price-caption{
	font-family:var(--font);
	font-size:1.2em;
	font-weight:600;
	margin:0 0 18px;
	text-align:center;
	color:var(--accent-deep);
}
.price-caption::after{
	content:"";
	display:block;
	width:56px;height:3px;
	margin:12px auto 0;
	border-radius:3px;
	background:var(--grad);
}
.pricecontainer{gap:18px;flex-wrap:wrap;}
/* Открытая — 4 карточки в ряд */
.price-4 .price{flex:1 1 22%;min-width:160px;}
/* Крытая — 3 карточки в ряд */
.price-6 .price{flex:1 1 29%;min-width:200px;}
.price{
	flex:1 1 0;
	min-width:200px;
	padding:30px 20px;
	border-radius:var(--radius);
	background:var(--glass);
	backdrop-filter:blur(10px);
	border:1px solid var(--border);
	text-align:center;
	position:relative;
	transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;
	overflow:hidden;
}
/* верхняя зелёная полоска на каждом тарифе */
.price::before{
	content:"";
	position:absolute;
	top:0;left:20%;right:20%;height:4px;
	border-radius:0 0 8px 8px;
	background:var(--grad);
	box-shadow:0 6px 16px rgba(118,183,45,.36);
}
.price:hover{
	transform:translateY(-8px);
	border-color:var(--border-accent);
	box-shadow:var(--shadow-glow);
}
.price h2{
	font-family:var(--font-body);
	font-size:1.05em;
	color:var(--muted);
	font-weight:600;
	margin:18px 0 12px;
	letter-spacing:.01em;
	line-height:1.3;
}
.price h2::after{display:none;}
.price .cena{
	font-family:var(--font);
	font-size:clamp(2.5rem,4vw,3.2rem);
	font-weight:800;
	background:var(--grad);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	margin:6px 0;
	line-height:1;
	letter-spacing:-.02em;
}
.price .price-sub{color:var(--soft);font-size:.9em;}

.price-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-top:18px;
	padding:12px 22px;
	border-radius:999px;
	border:none;
	background:var(--grad);
	color:#fff;
	font-family:var(--font);
	font-weight:700;
	font-size:.95em;
	text-decoration:none;
	box-shadow:0 6px 0 rgba(60,90,25,.18),0 12px 24px rgba(118,183,45,.30);
	transition:transform .25s var(--ease-spring),box-shadow .25s;
}
.price-btn:hover{
	transform:translateY(-3px) scale(1.03);
	box-shadow:0 8px 0 rgba(60,90,25,.14),0 16px 30px rgba(118,183,45,.38);
}
.price-btn:active{transform:translateY(0);}

/* якорная прокрутка с отступом под липкую шапку */
#zakaz{scroll-margin-top:110px;}
#doehat{scroll-margin-top:110px;}

/* ---------- Преимущества (wwlist) ---------- */
.wwlist{
	padding:0;
	list-style:none;
	margin:32px 0 0;
	gap:12px;
	justify-content:center;
}
.ww{
	margin:0;
	color:var(--ink);
	display:flex;
	line-height:1.2;
	align-items:center;
	padding:12px 18px;
	border-radius:999px;
	background:var(--surface);
	backdrop-filter:blur(8px);
	border:1px solid var(--border);
	font-weight:600;
}
.ww::before{
	display:block;
	content:'';
	background:url(../images2/ok.svg) center/contain no-repeat;
	width:24px;
	height:24px;
	margin-right:10px;
	flex:0 0 auto;
}
.ww b{font-weight:800;color:var(--accent-deep);}

.weadres{
	font-family:var(--font);
	font-size:clamp(1.25rem,2.6vw,1.7rem);
	text-align:center;
	font-weight:600;
	margin:56px 0 26px;
	letter-spacing:-.01em;
	color:var(--ink);
}
.weadres b{color:var(--accent);}

/* ---------- Как доехать (символьные ссылки) ---------- */
.doexat{gap:16px;justify-content:center;}
.doexat a{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
	line-height:1.25;
	color:var(--ink);
	text-decoration:none;
	padding:16px 22px;
	background:var(--surface);
	backdrop-filter:blur(8px);
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;
	font-weight:600;
}
.doexat a img{width:34px;height:34px;object-fit:contain;}
.doexat a:hover{transform:translateY(-4px);border-color:var(--border-accent);box-shadow:var(--shadow-glow);}

/* ---------- Услуги / Как работаем ---------- */
.servbox{gap:20px;justify-content:center;}
.serv{
	padding:28px 20px;
	margin:0;
	line-height:1.35;
	font-size:.94em;
	color:var(--ink);
	width:22%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	gap:16px;
	transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;
	position:relative;
	overflow:hidden;
}
.serv::before{
	content:"";
	position:absolute;
	top:-40%;left:-40%;
	width:120%;height:120%;
	background:radial-gradient(circle,rgba(118,183,45,.10),transparent 60%);
	opacity:0;
	transition:opacity .4s;
	pointer-events:none;
}
.serv:hover{
	transform:translateY(-8px);
	border-color:var(--border-accent);
	box-shadow:var(--shadow-glow);
}
.serv:hover::before{opacity:1;}
.serv img{
	width:58px;
}
.serv p{margin:0;font-weight:600;color:var(--ink);}

/* ---------- Видео-блоки "Как доехать" ---------- */
.doex-box{
	width:49%;
	padding:16px;
	border-radius:var(--radius);
	background:var(--glass);
	backdrop-filter:blur(10px);
	border:1px solid var(--border);
	margin:16px 0;
	text-align:center;
	box-shadow:var(--shadow-card);
	transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
}
.doex-box:hover{transform:translateY(-4px);border-color:var(--border-accent);box-shadow:var(--shadow-glow);}
.doex-box h4{margin:6px 0 16px;font-family:var(--font);font-size:1.1em;font-weight:600;color:var(--ink);}
.doex-box video{width:100%;border-radius:12px;display:block;}
.doex-box iframe{border-radius:12px;}

.adaptive_youtube{position:relative;padding-bottom:56.25%;padding-top:25px;height:0;}
.adaptive_youtube iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/* ==========================================================================
   Слайдер фотографий парковки
   ========================================================================== */
.photo-slider{
	--photo-gap:16px;
	position:relative;
	margin:0 auto;
	width:100%;
	max-width:100%;
	overflow:hidden;
	border-radius:var(--radius);
	background:var(--glass);
	backdrop-filter:blur(10px);
	border:1px solid var(--border);
	box-shadow:var(--shadow-card);
}
.photo-track{
	display:flex;
	gap:var(--photo-gap);
	transition:transform .5s var(--ease);
}
.photo-slide{
	/* 1 слайд на любых разрешениях */
	flex:0 0 100%;
	max-width:100%;
	position:relative;
	cursor:zoom-in;
	overflow:hidden;
	border-radius:var(--radius-sm);
}
.photo-slide img{
	display:block;
	width:100%;
	height:auto;
	max-height:560px;
	object-fit:contain;
	background:#0f1d12;
	transition:transform .5s var(--ease);
}
/* подпись, появляющаяся при наведении и всегда внизу */
.photo-caption{
	position:absolute;
	left:0;right:0;bottom:0;
	padding:25px 18px 25px;
	font-size:1em;
	font-weight:600;
	color:#fff;
	background:linear-gradient(180deg,transparent,rgba(16,36,26,.82));
	letter-spacing:.01em;
	z-index:2;
	text-align:center;
}
.photo-slide:hover img{transform:scale(1.04);}

/* стрелки навигации */
.photo-nav{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:3;
	width:44px;height:44px;
	border:none;
	border-radius:50%;
	background:rgba(255,255,255,.85);
	color:var(--accent-deep);
	font-size:1.4em;
	line-height:1;
	cursor:pointer;
	backdrop-filter:blur(6px);
	box-shadow:0 6px 18px rgba(60,90,25,.18);
	transition:background .2s,transform .2s,color .2s;
	display:flex;align-items:center;justify-content:center;
}
.photo-nav:hover{background:var(--grad);color:#fff;transform:translateY(-50%) scale(1.08);}
.photo-prev{left:12px;}
.photo-next{right:12px;}

/* Лайтбокс — увеличение фото по клику */
.photo-lightbox{
	position:fixed;
	inset:0;
	z-index:1000;
	background:rgba(16,36,26,.90);
	display:none;
	align-items:center;
	justify-content:center;
	padding:32px;
	opacity:0;
	transition:opacity .3s var(--ease);
}
.photo-lightbox.open{display:flex;opacity:1;}
.photo-lightbox img{
	max-width:92vw;
	max-height:86vh;
	border-radius:12px;
	object-fit:contain;
	box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.photo-lightbox .lightbox-caption{
	position:absolute;
	bottom:24px;left:0;right:0;
	text-align:center;
	color:#fff;
	font-size:1.1em;
	font-weight:600;
}
.lightbox-close{
	position:absolute;
	top:18px;right:22px;
	z-index:2;
	background:none;
	border:none;
	color:#fff;
	font-size:2.4em;
	line-height:1;
	cursor:pointer;
	transition:transform .2s,opacity .2s;
}
.lightbox-close:hover{transform:scale(1.15);opacity:.8;}

/* Отключение навигации по клику в лайтбоксе */
.photo-lightbox{touch-action:manipulation;}

/* ==========================================================================
   Плавающая CTA-кнопка — «Забронировать место всегда на виду»
   ========================================================================== */
.fix-cb{
	position:fixed;
	bottom:26px;
	right:20px;
	display:flex;
	align-items:center;
	gap:12px;
	border-radius:999px;
	height:52px;
	padding:0 10px 0 20px;
	z-index:200;
	border:none;
	background:var(--grad);
	box-shadow:0 12px 30px rgba(118,183,45,.36),0 4px 14px rgba(60,90,25,.18);
	transition:transform .25s var(--ease-spring),box-shadow .25s;
}
.fix-cb:hover{transform:translateY(-4px) scale(1.03);}
.fixphone{color:#fff;text-decoration:none;line-height:1;font-family:var(--font);font-weight:500;padding: 0 14px 0 0;}
.fixphone span{display:block;}
.phead{
	color: rgba(255, 255, 255, .82);
    font-size: .6rem;
    font-weight: 100;
    letter-spacing: .03em;
    margin: 0 0 5px;
}
.ptext{font-size:1em;}

.fixmess {
    height: 36px;
    border-radius: 20px;
	position:fixed;
	right:20px;
	bottom:135px;
	font-family: var(--font);
	text-decoration:none;
}
.max {
    background: linear-gradient(45deg, #40bafd, #682ee4);
    display: flex;
    justify-content: center;
    align-items: center;
	color:#fff;
	font-size:.65em;
	padding:0 16px 0 10px;
	min-width: 217px;
}
.max:before {
    content: '';
    width: 17px;
    height: 17px;
    background: url(/images2/icon-max.svg) no-repeat center;
    background-size: contain;
	margin:0 5px 0 0;
}

/* ---------- Подвал ---------- */
.footer-wrap{
	background:linear-gradient(180deg,transparent,rgba(118,183,45,.06));
	border-top:1px solid var(--border);
	padding-bottom:120px;
}
.footer-wrap footer{
	color:var(--muted);
	font-size:.92em;
}
.footer-wrap a{color:var(--soft);}
.footer-wrap a:hover{color:var(--accent);}

/* ---------- Попап (скрыт по умолчанию) ---------- */
.popup{display:none;}

/* ==========================================================================
   Scroll-reveal (классы добавляются в JS)
   ========================================================================== */
.reveal{
	opacity:0;
	transform:translateY(40px);
	transition:opacity .7s var(--ease),transform .7s var(--ease);
	will-change:opacity,transform;
}
.reveal.in{
	opacity:1;
	transform:none;
}
@keyframes fadeUp{
	from{opacity:0;transform:translateY(30px);}
	to{opacity:1;transform:none;}
}

/* ---------- Адаптив ---------- */
@media screen and (max-width:960px){
	.price-4 .price,.price-6 .price{flex:1 1 45%;min-width:calc(50% - 18px);}
	.serv{width:48%;}
}
@media screen and (max-width:890px){
	.hero-grid{grid-template-columns:1fr;gap:26px;}
	.locations2{justify-content:center;}
	.doex-box{width:100%;}
	.photo-slide{flex:0 0 100%;max-width:100%;}
	.photo-slide img{max-height:460px;}
}
@media screen and (max-width:769px){
	h1{font-size:2.5rem;}
	.callform .h2{font-size:1.4em;}
	.contacts .headerphone{display:none;}
	.contacts .adress{padding:8px 12px;}
	.logo{width:150px;}
	.pd50{padding:60px 0;}
	.photo-slide img{max-height:360px;}
}
@media screen and (max-width:650px){
	header{padding:10px 0;}
	header .wdth960{gap:10px;}
	.logo{width:130px;}
	.contacts{min-width:0;flex:1;justify-content:flex-end;}
	.contacts .headerphone{display:none;}
	.contacts .adress{
		margin:0;
		padding:6px 12px;
		gap:7px;
		max-width:100%;
		white-space:nowrap;
		overflow:hidden;
	}
	.contacts .adress img{width:15px;height:15px;}
	.contacts .adress div>span{display:none;}
	.contacts .adress div{font-size:.86em;line-height:1.1;}
	h1{font-size:2.1rem;}
	.locations2{flex-direction:column;gap:10px;}
	.locations2 a{width:100%;text-align:center;justify-content:center;}
	.ww{width:calc(50% - 6px);padding:9px 12px;font-size:.84em;gap:6px;justify-content:flex-start;}
	.ww:last-child{width:100%;justify-content:center;}
	.ww::before{width:18px;height:18px;margin-right:7px;flex:0 0 auto;}
	.forminputs{display:block;}
	.forminputs input{width:100%;max-width:340px;margin:10px auto;}
	.callform .button{width:100%;max-width:340px;margin:10px auto;display:flex;}
	h2{font-size:1.6rem;}
	.serv{width:100%;margin-bottom:14px;}
	.lokomotiv{padding:44px 0 52px;}
	.doexat{flex-direction:column;}
	.doexat a{width:100%;justify-content:center;}
	.weadres{margin-top:40px;}
	.fix-cb{bottom:16px;right:16px;height:54px;padding-left:18px;}
	/* чтобы плавающие кнопки не перекрывали контент на узких экранах */
}
@media screen and (max-width:590px){
	.wdth960{padding:0 18px;}
	.servbox{justify-content:center;}
	.serv{width:100%;}
}
@media screen and (max-width:460px){
	.pricecontainer{gap:14px;}
	.price,.price-4 .price,.price-6 .price{flex:1 1 100%;width:100%;min-width:0;margin-bottom:14px;}
}

/* ---------- Доступность ---------- */
@media (prefers-reduced-motion:reduce){
	*{animation-duration:.001s!important;transition-duration:.001s!important;scroll-behavior:auto!important;}
}
