/* ============================================================
   CRYSTAL 2 — слайды и страницы второй редакции (ТЗ 08.09.2026).

   Поверх базового слоя cr-ui.css (токены, шапка, бургер, кнопки) и
   модалки cr-booking.css. Принципы:
   · кадр во весь экран РЕЗКИЙ — размытия нет нигде (замечание клиента);
     читаемость даёт вуаль-градиент снизу и слева + лёгкое зерно;
   · листание классическое: трек translate3d, кривая --cr-ease, 0.9 c;
     стрелки, точки, счётчик; на телефоне свайп, точки остаются;
   · текст — Jost 200/300, разрядка только у надзаголовка и кнопок;
   · капс кириллицы запрещён (Л у Jost читается как П).
   Классы: .cr-sl (слайдер), .cr-pop (попапы), .cr-menu (карта меню),
   .cr-ct (контакты), .cr-bq (лендинг банкетов), .cr2-footer, .cr2-page.
   ============================================================ */

/* ---------- база второй редакции ---------- */
body.cr2{background:var(--cr-ink);color:var(--cr-stone)}
/* шапка на слайдах стоит всегда: вертикального скролла почти нет */
body.cr2-slides.cr-hdr-hidden .cr-header{transform:none;opacity:1;pointer-events:auto}
/* кнопка брони в шапке — стеклянная, только на широких экранах */
.cr-header__book{display:none;padding:9px 18px;font-size:11px;letter-spacing:.1em;border-radius:var(--t-btn-radius,12px)}
@media(min-width:1180px){.cr-header__book{display:inline-flex}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* «кнопка ждёт файла»: рабочая (открывает попап), но помечена */
.is-pending{position:relative}
body.cr2-marks .is-pending::after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--cr-ember);opacity:.75}

/* ============================================================
   СЛАЙДЕР
   ============================================================ */
.cr-sl{position:relative;height:100vh;height:100dvh;min-height:540px;overflow:hidden;
	margin-top:calc(-1 * var(--cr-hdr-full,88px));background:var(--cr-ink);
	touch-action:pan-y;user-select:none;-webkit-user-select:none}
/* пока слайдер не долистан — страница заперта: футера нет, жесты идут слайдеру */
body.cr2-lock .cr2-footer{display:none}
body.cr2-lock .cr-sl{touch-action:none}
body.cr2-lock{overflow:hidden}
.cr-sl__track{position:relative;height:100%}
/* слайды лежат стопкой; переход — направленная шторка (clip-path) поверх
   уходящего кадра, входящий кадр едет параллаксом навстречу шторке,
   уходящий уплывает и темнеет. Текст и вуаль — внутри слайда, режутся той
   же шторкой, поэтому появляются вместе с кадром, а не после него. */
.cr-sl__slide{position:absolute;inset:0;overflow:hidden;display:flex;align-items:flex-end;
	visibility:hidden;z-index:0}
.cr-sl__slide.is-on{visibility:visible;z-index:2}
.cr-sl__slide.is-out{visibility:visible;z-index:1}
.cr-sl__slide.is-anim{animation:crSlIn 1.15s cubic-bezier(.77,0,.18,1) both}
.cr-sl__slide.is-anim.dir-prev{animation-name:crSlInPrev}
@keyframes crSlIn{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes crSlInPrev{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.cr-sl__slide.is-anim .cr-sl__bg{animation:crSlInBg 1.15s cubic-bezier(.77,0,.18,1) both}
.cr-sl__slide.is-anim.dir-prev .cr-sl__bg{animation-name:crSlInBgPrev}
@keyframes crSlInBg{from{transform:translate3d(-14%,0,0) scale(1.1)}to{transform:none}}
@keyframes crSlInBgPrev{from{transform:translate3d(14%,0,0) scale(1.1)}to{transform:none}}
.cr-sl__slide.is-out .cr-sl__bg{animation:crSlOutBg 1.15s cubic-bezier(.77,0,.18,1) both}
.cr-sl__slide.is-out.dir-prev .cr-sl__bg{animation-name:crSlOutBgPrev}
@keyframes crSlOutBg{from{transform:none}to{transform:translate3d(9%,0,0) scale(1.06)}}
@keyframes crSlOutBgPrev{from{transform:none}to{transform:translate3d(-9%,0,0) scale(1.06)}}
.cr-sl__slide.is-out::after{content:"";position:absolute;inset:0;z-index:3;background:var(--cr-ink);
	animation:crSlOutDim 1.15s cubic-bezier(.77,0,.18,1) both}
@keyframes crSlOutDim{from{opacity:0}to{opacity:.6}}
.cr-sl__slide.is-out .cr-sl__text,.cr-sl__slide.is-out .cr-sl__cap{opacity:0;transition:opacity .35s ease}

/* ---- варианты перехода: data-cr-fx на .cr-sl (по умолчанию wipe — шторка) ----
   fade    — кроссфейд, новый кадр из лёгкого увеличения (самый спокойный);
   zoom    — новый кадр проявляется из глубокого зума, старый уходит в глубину;
   slide   — классический сдвиг с параллаксом: кадр едет медленнее рамки;
   curtain — вертикальная шторка снизу (назад — сверху). */
.cr-sl[data-cr-fx="fade"] .cr-sl__slide.is-anim{animation-name:crFxFadeIn;animation-duration:1.3s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
.cr-sl[data-cr-fx="fade"] .cr-sl__slide.is-anim .cr-sl__bg{animation-name:crFxFadeBg;animation-duration:1.6s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
.cr-sl[data-cr-fx="fade"] .cr-sl__slide.is-out .cr-sl__bg{animation-name:crFxFadeOutBg;animation-duration:1.3s}
@keyframes crFxFadeIn{from{opacity:0}to{opacity:1}}
@keyframes crFxFadeBg{from{transform:scale(1.08)}to{transform:none}}
@keyframes crFxFadeOutBg{from{transform:none}to{transform:scale(1.03)}}

.cr-sl[data-cr-fx="zoom"] .cr-sl__slide.is-anim{animation-name:crFxFadeIn;animation-duration:.9s;animation-timing-function:ease-out}
.cr-sl[data-cr-fx="zoom"] .cr-sl__slide.is-anim .cr-sl__bg{animation-name:crFxZoomBg;animation-duration:1.5s;animation-timing-function:cubic-bezier(.16,.84,.3,1)}
.cr-sl[data-cr-fx="zoom"] .cr-sl__slide.is-out .cr-sl__bg{animation-name:crFxZoomOutBg;animation-duration:1.2s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
.cr-sl[data-cr-fx="zoom"] .cr-sl__slide.is-out::after{animation-duration:1.2s}
@keyframes crFxZoomBg{from{transform:scale(1.22)}to{transform:none}}
@keyframes crFxZoomOutBg{from{transform:none}to{transform:scale(.94)}}

.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-anim{animation-name:crFxSlideIn;animation-duration:1.2s;animation-timing-function:cubic-bezier(.77,0,.18,1)}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-anim.dir-prev{animation-name:crFxSlideInPrev}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-anim .cr-sl__bg{animation-name:crFxSlideBg;animation-duration:1.2s;animation-timing-function:cubic-bezier(.77,0,.18,1)}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-anim.dir-prev .cr-sl__bg{animation-name:crFxSlideBgPrev}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-out{animation:crFxSlideOut 1.2s cubic-bezier(.77,0,.18,1) both}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-out.dir-prev{animation-name:crFxSlideOutPrev}
.cr-sl[data-cr-fx="slide"] .cr-sl__slide.is-out .cr-sl__bg{animation:none}
@keyframes crFxSlideIn{from{transform:translate3d(100%,0,0)}to{transform:none}}
@keyframes crFxSlideInPrev{from{transform:translate3d(-100%,0,0)}to{transform:none}}
@keyframes crFxSlideBg{from{transform:translate3d(-45%,0,0)}to{transform:none}}
@keyframes crFxSlideBgPrev{from{transform:translate3d(45%,0,0)}to{transform:none}}
@keyframes crFxSlideOut{from{transform:none}to{transform:translate3d(-38%,0,0)}}
@keyframes crFxSlideOutPrev{from{transform:none}to{transform:translate3d(38%,0,0)}}

.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-anim{animation-name:crFxCurtIn}
.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-anim.dir-prev{animation-name:crFxCurtInPrev}
.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-anim .cr-sl__bg{animation-name:crFxCurtBg}
.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-anim.dir-prev .cr-sl__bg{animation-name:crFxCurtBgPrev}
.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-out .cr-sl__bg{animation-name:crFxCurtOutBg}
.cr-sl[data-cr-fx="curtain"] .cr-sl__slide.is-out.dir-prev .cr-sl__bg{animation-name:crFxCurtOutBgPrev}
@keyframes crFxCurtIn{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes crFxCurtInPrev{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes crFxCurtBg{from{transform:translate3d(0,-12%,0) scale(1.1)}to{transform:none}}
@keyframes crFxCurtBgPrev{from{transform:translate3d(0,12%,0) scale(1.1)}to{transform:none}}
@keyframes crFxCurtOutBg{from{transform:none}to{transform:translate3d(0,7%,0) scale(1.06)}}
@keyframes crFxCurtOutBgPrev{from{transform:none}to{transform:translate3d(0,-7%,0) scale(1.06)}}

/* кадр */
.cr-sl__bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--cr-ink)}
.cr-sl__bg picture,.cr-sl__bg img,.cr-sl__bg video{width:100%;height:100%;display:block}
.cr-sl__bg img,.cr-sl__bg video{object-fit:cover;object-position:center}
/* кадр медленно приближается, пока гость читает: стартует ВМЕСТЕ со
   шторкой, без паузы — иначе читалось как второй, отдельный запуск */
.cr-sl__slide.is-on .cr-sl__bg img,.cr-sl__slide.is-on .cr-sl__bg video{
	animation:crSlKen 16s linear both}
@keyframes crSlKen{from{transform:scale(1)}to{transform:scale(1.06)}}
/* галерея: кадр показывается целиком — никакого дрейфа, только переход */
.cr-sl__bg--contain img{object-fit:contain}
.cr-sl--gallery .cr-sl__slide.is-on .cr-sl__bg img{animation:none}
.cr-sl__bg--grad{background:
	radial-gradient(70% 55% at 70% 30%,rgba(138,106,75,.35) 0%,rgba(138,106,75,0) 60%),
	linear-gradient(160deg,var(--cr-umber) 0%,var(--cr-ink) 70%)}
.cr-sl__bg--ink{background:
	radial-gradient(60% 70% at 78% 50%,rgba(138,106,75,.22) 0%,rgba(138,106,75,0) 62%),
	radial-gradient(50% 50% at 15% 90%,rgba(67,79,43,.28) 0%,rgba(67,79,43,0) 60%),
	linear-gradient(180deg,#1b1611 0%,var(--cr-ink) 100%)}

/* вуаль: читаемость текста без размытия кадра */
.cr-sl__veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:
	linear-gradient(90deg,rgba(22,18,14,.66) 0%,rgba(22,18,14,.42) 38%,rgba(22,18,14,.08) 68%,rgba(22,18,14,0) 100%),
	linear-gradient(180deg,rgba(22,18,14,.34) 0%,rgba(22,18,14,0) 26%,rgba(22,18,14,0) 56%,rgba(22,18,14,.62) 86%,rgba(22,18,14,.8) 100%)}
.cr-sl__veil--intro{background:
	linear-gradient(90deg,rgba(22,18,14,.58) 0%,rgba(22,18,14,.36) 40%,rgba(22,18,14,.1) 72%,rgba(22,18,14,0) 100%),
	linear-gradient(180deg,rgba(22,18,14,.36) 0%,rgba(22,18,14,0) 28%,rgba(22,18,14,0) 52%,rgba(22,18,14,.66) 86%,rgba(22,18,14,.84) 100%)}
.cr-sl__veil--person{background:linear-gradient(180deg,rgba(22,18,14,0) 0%,rgba(22,18,14,0) 70%,rgba(22,18,14,.55) 100%)}
.cr-sl__veil--shot{background:linear-gradient(180deg,rgba(22,18,14,0) 0%,rgba(22,18,14,0) 80%,rgba(22,18,14,.5) 100%)}
.cr-sl__grain{position:absolute;inset:0;z-index:1;pointer-events:none;
	background-image:var(--cr-grain);opacity:.045;mix-blend-mode:overlay}

/* текст слайда */
.cr-sl__text{position:relative;z-index:2;width:100%;max-width:640px;will-change:opacity;
	margin:0 0 0 var(--cr-edge);padding:0 var(--cr-gutter) var(--sl-bottom,clamp(112px,17vh,168px)) 0;
	color:var(--cr-stone)}
.cr-sl__text--wide{max-width:760px}
.cr-sl__text,.cr-sl__cap{opacity:0;transform:translateY(16px)}
.cr-sl__slide.is-on .cr-sl__text,.cr-sl__slide.is-on .cr-sl__cap{opacity:1;transform:none;
	transition:opacity .7s ease .5s,transform .8s cubic-bezier(.22,.61,.36,1) .5s}
.cr-sl__slide.is-on:not(.is-anim) .cr-sl__text,.cr-sl__slide.is-on:not(.is-anim) .cr-sl__cap{
	transition-delay:.15s}

.cr-sl__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 16px;
	font-size:var(--t-eyebrow-size,11.5px);font-weight:var(--t-eyebrow-weight,400);line-height:var(--t-eyebrow-lh,1.4);letter-spacing:var(--t-eyebrow-ls,.22em);color:var(--cr-ember)}
.cr-sl__eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.6;flex:none}
.cr-sl__eyebrow--center{justify-content:center}
.cr-sl__eyebrow--center::after{content:"";width:30px;height:1px;background:currentColor;opacity:.6;flex:none}
.cr-sl__h{margin:0 0 16px;font-weight:var(--t-h-weight,200);font-size:var(--t-h-size,clamp(30px,4.4vw,56px));line-height:var(--t-h-lh,1.08);
	letter-spacing:var(--t-h-ls,.01em);color:var(--cr-linen);text-wrap:balance}
.cr-sl__p{margin:0;font-size:var(--t-p-size,clamp(15px,1.15vw,17px));line-height:var(--t-p-lh,1.8);font-weight:var(--t-p-weight,300);letter-spacing:var(--t-p-ls,0);
	color:rgba(231,225,214,.84);max-width:54ch}
.cr-sl__p--dim{color:rgba(231,225,214,.62);font-size:var(--t-dim-size,clamp(13.5px,1vw,15px));font-weight:var(--t-dim-weight,300);line-height:var(--t-dim-lh,1.7);letter-spacing:var(--t-dim-ls,0);margin-top:10px}
.cr-sl__quote{margin:0 0 14px;font-family:var(--cr-serif);font-style:italic;font-weight:var(--t-quote-weight,300);letter-spacing:var(--t-quote-ls,0);
	font-size:var(--t-quote-size,clamp(17px,1.5vw,21px));line-height:var(--t-quote-lh,1.55);color:var(--cr-linen);max-width:46ch}
.cr-sl__phone{display:inline-block;margin:6px 0 14px;font-weight:var(--t-phone-weight,200);
	font-size:var(--t-phone-size,clamp(30px,4.2vw,54px));letter-spacing:var(--t-phone-ls,.02em);line-height:var(--t-phone-lh,1.1);color:var(--cr-linen);
	transition:color .3s}
.cr-sl__phone:hover{color:var(--cr-ember)}
.cr-sl__rows{margin:0;font-size:var(--t-rows-size,clamp(14px,1.05vw,16px));font-weight:var(--t-rows-weight,300);line-height:var(--t-rows-lh,1.9);letter-spacing:var(--t-rows-ls,0);color:rgba(231,225,214,.8)}

/* вход */
.cr-sl__word{margin:0 0 18px;line-height:0}
.cr-sl__word img{width:min(560px,72vw);height:auto}
.cr-sl__rule{display:block;width:64px;height:1px;background:rgba(231,225,214,.4);margin:0 0 18px}
.cr-sl__lead{margin:0;font-size:var(--t-lead-size,clamp(14px,1.2vw,17px));font-weight:var(--t-lead-weight,300);letter-spacing:var(--t-lead-ls,.14em);color:rgba(231,225,214,.88);line-height:var(--t-lead-lh,1.6)}
.cr-sl__usp{margin:10px 0 0;font-size:var(--t-usp-size,11.5px);font-weight:var(--t-usp-weight,300);line-height:var(--t-usp-lh,1.6);letter-spacing:var(--t-usp-ls,.14em);color:rgba(231,225,214,.6)}

/* действия */
.cr-sl__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:26px}
body.cr2-sec-ghost .cr-sl__acts,body.cr2-sec-solid .cr-sl__acts{gap:12px 14px}
.cr-sl__acts--btns{gap:12px 14px}
.cr-sl__acts--center{justify-content:center}
.cr-sl__lbtn{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;
	color:var(--cr-ember);font-size:var(--t-lbtn-size,13px);font-weight:var(--t-lbtn-weight,400);line-height:var(--t-lbtn-lh,1.4);letter-spacing:var(--t-lbtn-ls,.14em);border-bottom:1px solid currentColor;
	transition:color .3s ease,gap .3s ease}
.cr-sl__lbtn::after{content:"→";font-size:15px}
.cr-sl__lbtn:hover{color:var(--cr-linen);gap:14px}
.cr-sl__acts .cr-btn{border-radius:var(--t-btn-radius,12px)}
/* кнопки — глобальный тип «Кнопка» (значения макета из cr-ui.css) */
body.cr2 .cr-btn{border-radius:var(--t-btn-radius,12px);font-size:var(--t-btn-size,.82rem);font-weight:var(--t-btn-weight,400);line-height:var(--t-btn-lh,1.3);letter-spacing:var(--t-btn-ls,.12em)}
.cr-btn__n{margin-left:2px;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.14);font-size:10px;letter-spacing:.04em}

/* портрет (шеф, шеф-бармен) */
/* размытый кадр за портретом (компьютер): печь у шефа, бар у бармена */
.cr-sl__bgblur{position:absolute;inset:-6%;z-index:0;overflow:hidden;pointer-events:none;
	filter:blur(26px) saturate(.85);opacity:.5;transform:translateZ(0)}
.cr-sl__bgblur img{width:100%;height:100%;object-fit:cover;display:block}
.cr-sl__bgblur::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,14,.7) 0%,rgba(22,18,14,.35) 55%,rgba(22,18,14,.5) 100%)}
/* портрет чуть наклонён — живее; шеф влево, бармен вправо */
.cr-sl__portrait{--tilt:-5deg;position:absolute;z-index:1;right:calc(var(--cr-edge) + 12px);top:50%;transform:translateY(-50%) rotate(var(--tilt));
	width:min(30vw,400px);aspect-ratio:3/4;margin:0;overflow:hidden;border-radius:var(--cr-radius-frame);
	box-shadow:0 50px 90px -36px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.12);
	background:linear-gradient(160deg,var(--cr-umber),var(--cr-ink))}
.cr-sl__portrait--r{--tilt:5deg}
.cr-sl__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.cr-sl__portrait figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	padding:20px;text-align:center;font-size:11px;letter-spacing:.12em;color:rgba(231,225,214,.55)}
.cr-sl__slide--person .cr-sl__text{max-width:560px}

/* подпись галереи — в нижнем ряду, на линии счётчика */
/* подпись — на линии ряда навигации (ряд 54px, низ = clamp − 17) */
.cr-sl__cap{position:absolute;z-index:2;left:var(--cr-edge);right:auto;bottom:calc(clamp(26px,5vh,48px) - 17px);min-height:54px;
	max-width:min(60%,640px);margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:4px 14px}
.cr-sl__cap-album{font-size:var(--t-cap-size,11.5px);font-weight:var(--t-cap-weight,400);line-height:var(--t-cap-lh,1.6);letter-spacing:var(--t-cap-ls,.22em);color:var(--cr-ember)}
.cr-sl__cap-text{font-size:var(--t-dim-size,14px);font-weight:300;line-height:1.5;color:var(--cr-linen)}
.cr-sl__albums{position:absolute;z-index:5;left:var(--cr-edge);right:var(--cr-edge);
	top:calc(var(--cr-hdr-full,88px) + 18px);display:flex;flex-wrap:wrap;gap:8px 10px}
.cr-sl__album{padding:8px 14px;min-width:96px;text-align:center;border-radius:var(--t-btn-radius,12px);font-size:11px;letter-spacing:.1em;
	color:rgba(231,225,214,.7);border:1px solid rgba(255,255,255,.16);
	background:rgba(22,18,14,.35);transition:color .25s,border-color .25s,background .25s}
.cr-sl__album:hover{color:var(--cr-linen);border-color:rgba(255,255,255,.35)}
.cr-sl__album.is-on{color:var(--cr-ink);background:var(--cr-linen);border-color:var(--cr-linen)}
.cr-sl__progress{position:absolute;left:0;right:0;top:-1px;height:1px;background:rgba(231,225,214,.14)}
.cr-sl__progress span{display:block;height:100%;width:0;background:var(--cr-ember);transition:width .6s var(--cr-ease)}
.cr-sl__nav--gallery{justify-content:flex-end}

/* навигация */
/* ряд ростом с плавающую кнопку (54px), его низ — на её низу: центры совпадают точно */
.cr-sl__nav{position:absolute;z-index:5;left:var(--cr-edge);right:var(--cr-edge);height:54px;
	bottom:calc(clamp(26px,5vh,48px) - 17px);display:flex;align-items:center;justify-content:space-between;gap:20px;
	pointer-events:none}
.cr-sl__nav>*{pointer-events:auto}
.cr-sl__dots{display:flex;align-items:center;gap:10px}
.cr-sl__dot{display:inline-flex;align-items:center;height:20px;padding:0 2px}
.cr-sl__dot span{display:block;width:22px;height:1px;background:rgba(231,225,214,.35);
	transition:width .45s var(--cr-ease),background .3s}
.cr-sl__dot:hover span{background:rgba(231,225,214,.8)}
.cr-sl__dot.is-on span{width:44px;background:var(--cr-linen)}
.cr-sl__ctl{display:flex;align-items:center;gap:22px;height:100%}
.cr-sl__count{font-size:11.5px;letter-spacing:.14em;color:rgba(231,225,214,.62);appearance:none;background:none;border:0;padding:0 4px;
	font-family:inherit;line-height:1;cursor:pointer;display:inline-flex;align-items:center;height:100%;transition:color .3s}
.cr-sl__count:hover{color:var(--cr-linen)}
.cr-sl__count-sep{margin:0 6px;opacity:.5}
.cr-sl__count [data-cr-sl-count]{color:var(--cr-linen)}
.cr-sl__arrows{display:flex;gap:14px}
/* стрелка — тонкая галочка без кружка; на ховере чуть уезжает по ходу */
.cr-sl__arrow{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;height:100%;min-width:32px;
	color:var(--cr-linen);opacity:.8;transition:opacity .3s,transform .4s var(--cr-ease)}
.cr-sl__arrow svg{width:9px;height:15px;display:block}
.cr-sl__arrow:hover{opacity:1;transform:translateX(3px)}
.cr-sl__arrow[data-cr-sl-prev]:hover{transform:translateX(-3px)}
.cr-sl__arrow:disabled{opacity:.25;pointer-events:none}
.cr-bq__strip-nav .cr-sl__arrow{height:44px}
/* галерея: градиента почти нет — подпись, счётчик и стрелки держит тёмный ореол,
   иначе на светлом кадре (белая скатерть) они пропадают */
.cr-sl--gallery .cr-sl__cap,.cr-sl--gallery .cr-sl__count{text-shadow:0 1px 2px rgba(22,18,14,.85),0 2px 16px rgba(22,18,14,.6)}
.cr-sl--gallery .cr-sl__arrow svg,.cr-sl--gallery .cr-sl__album{filter:drop-shadow(0 1px 2px rgba(22,18,14,.7)) drop-shadow(0 2px 10px rgba(22,18,14,.45))}
/* галерея: стрелки на компьютере — по краям на середине высоты, счётчик справа внизу */
.cr-sl__nav--gallery{position:static}
.cr-sl__nav--gallery .cr-sl__ctl{position:absolute;right:var(--cr-edge);bottom:calc(clamp(26px,5vh,48px) - 17px);height:54px;z-index:6;gap:14px}
.cr-sl__nav--gallery .cr-sl__progress{position:absolute;left:0;right:0;bottom:0;top:auto;z-index:5}
/* один рисунок навигации на всех слайдерах: «← 02 / 04 →» справа внизу;
   справа оставлено место под плавающую кнопку, которая стоит на той же линии */
.cr-sl__ctl{gap:12px}
@media(min-width:900px){body.cr2-slides .cr-sl__ctl{margin-right:72px}}
.cr-sl__ctl .cr-sl__arrows{display:contents}
@media(hover:hover) and (min-width:900px){
	.cr-sl__arrow{-webkit-backdrop-filter:blur(calc(10px * var(--cr-blur-k,1)));backdrop-filter:blur(calc(10px * var(--cr-blur-k,1)))}
}

/* телефон */
@media(max-width:899px){
	.cr-sl{min-height:520px}
	.cr-sl__text{margin-left:0;padding:0 var(--cr-gutter) var(--slm-bottom,84px);max-width:none}
	.cr-sl__cap{left:var(--cr-gutter);bottom:calc(clamp(18px,3.5vh,30px) - 12px);min-height:44px;max-width:50%;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}
	.cr-sl__veil{background:
		linear-gradient(180deg,rgba(22,18,14,.5) 0%,rgba(22,18,14,.16) 22%,rgba(22,18,14,.22) 48%,rgba(22,18,14,.7) 74%,rgba(22,18,14,.92) 100%)}
	.cr-sl__veil--intro{background:
		linear-gradient(180deg,rgba(22,18,14,.5) 0%,rgba(22,18,14,.18) 24%,rgba(22,18,14,.24) 50%,rgba(22,18,14,.72) 76%,rgba(22,18,14,.92) 100%)}
	/* подбор Константина 31.08: разрядку убрать, кегль поднять, вес — обычный */
	.cr-sl__eyebrow{gap:8px;margin-bottom:10px;font-size:var(--tm-eyebrow-size,14px);font-weight:var(--tm-eyebrow-weight,500);line-height:var(--tm-eyebrow-lh,1.4);letter-spacing:var(--tm-eyebrow-ls,.02em)}
	.cr-sl__eyebrow::before{width:18px}
	.cr-sl__h{font-weight:var(--tm-h-weight,300);font-size:var(--tm-h-size,clamp(28px,7.6vw,36px));line-height:var(--tm-h-lh,1.08);letter-spacing:var(--tm-h-ls,0)}
	.cr-sl__p{font-size:var(--tm-p-size,16px);line-height:var(--tm-p-lh,1.45);font-weight:var(--tm-p-weight,400);letter-spacing:var(--tm-p-ls,0)}
	.cr-sl__p--dim{font-size:var(--tm-dim-size,14px);font-weight:var(--tm-dim-weight,400);line-height:var(--tm-dim-lh,1.5);letter-spacing:var(--tm-dim-ls,0)}
	.cr-sl__lead{font-size:var(--tm-lead-size,16px);line-height:var(--tm-lead-lh,1.35);font-weight:var(--tm-lead-weight,400);letter-spacing:var(--tm-lead-ls,0)}
	.cr-sl__usp{font-size:var(--tm-usp-size,13px);font-weight:var(--tm-usp-weight,400);letter-spacing:var(--tm-usp-ls,0);line-height:var(--tm-usp-lh,1.4)}
	.cr-sl__rows{font-size:var(--tm-rows-size,16px);font-weight:var(--tm-rows-weight,400);line-height:var(--tm-rows-lh,1.5);letter-spacing:var(--tm-rows-ls,0)}
	.cr-sl__phone{font-size:var(--tm-phone-size,clamp(28px,8.5vw,40px));font-weight:var(--tm-phone-weight,200);line-height:var(--tm-phone-lh,1.1);letter-spacing:var(--tm-phone-ls,.02em)}
	.cr-sl__lbtn{font-size:var(--tm-lbtn-size,13px);font-weight:var(--tm-lbtn-weight,400);line-height:var(--tm-lbtn-lh,1.4);letter-spacing:var(--tm-lbtn-ls,.1em)}
	body.cr2 .cr-btn{font-size:var(--tm-btn-size,12px);font-weight:var(--tm-btn-weight,400);line-height:var(--tm-btn-lh,1.25);letter-spacing:var(--tm-btn-ls,.08em)}
	.cr-sl__cap-album{font-size:var(--tm-cap-size,11px);font-weight:var(--tm-cap-weight,400);line-height:1.3;letter-spacing:var(--tm-cap-ls,.16em)}
	.cr-sl__cap-text{font-size:var(--tm-dim-size,13px);line-height:1.3}
	.cr-sl__acts{gap:12px 22px;margin-top:20px}
	.cr-sl__acts--btns{gap:10px}
	.cr-sl__acts--btns .cr-btn{padding:12px 18px;white-space:normal;text-align:center}
	.cr-sl__text,.cr-sl__cap{text-shadow:0 1px 2px rgba(22,18,14,.5),0 2px 14px rgba(22,18,14,.34)}
	.cr-sl__text .cr-btn{text-shadow:none}
	.cr-sl__word img{filter:drop-shadow(0 1px 2px rgba(22,18,14,.45)) drop-shadow(0 3px 16px rgba(22,18,14,.3))}

	/* портрет — во весь экран, текст внизу поверх вуали */
	.cr-sl__bgblur{display:none}
	.cr-sl__portrait{inset:0;top:0;right:auto;transform:none;width:100%;height:100%;aspect-ratio:auto;
		border-radius:0;box-shadow:none}
	.cr-sl__veil--person{background:
		linear-gradient(180deg,rgba(22,18,14,.35) 0%,rgba(22,18,14,0) 25%,rgba(22,18,14,.2) 50%,rgba(22,18,14,.78) 74%,rgba(22,18,14,.94) 100%)}
	.cr-sl__quote{font-size:var(--tm-quote-size,16px);font-weight:var(--tm-quote-weight,300);line-height:var(--tm-quote-lh,1.55);letter-spacing:var(--tm-quote-ls,0)}

	.cr-sl__nav{left:var(--cr-gutter);right:var(--cr-gutter);height:44px;bottom:calc(clamp(18px,3.5vh,30px) - 12px)}
	.cr-sl__arrows{display:none}
	.cr-sl__dot span{width:18px}
	.cr-sl__dot.is-on span{width:34px}
	.cr-sl__albums{top:calc(var(--cr-hdr-full,88px) + 8px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
		padding-bottom:4px;right:0;padding-right:var(--cr-gutter)}
	.cr-sl__albums::-webkit-scrollbar{display:none}
	.cr-sl__album{flex:none}
	.cr-sl__nav--gallery .cr-sl__ctl{right:var(--cr-gutter);bottom:calc(clamp(18px,3.5vh,30px) - 12px);height:44px}
	.cr-sl__ctl{gap:4px}
	.cr-sl__arrows{display:contents}
	.cr-sl__arrow{padding:0 10px;min-width:36px}
	.cr-sl__count{padding:0 6px}
	.cr-sl__arrow svg{width:8px;height:13px}
}
@media(max-width:899px) and (max-height:640px){
	.cr-sl__p{display:none}
}
@media(prefers-reduced-motion:reduce){
	.cr-sl__slide,.cr-sl__bg,.cr-sl__bg img,.cr-sl__bg video,.cr-sl__slide.is-out::after{animation:none!important}
	.cr-sl__text,.cr-sl__cap{transition:none}
}

/* ============================================================
   ПОПАПЫ: правила, схема проезда, юр-документы, меню
   ============================================================ */
.cr-pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;
	padding:clamp(12px,3vh,32px) clamp(10px,2vw,24px);overflow-y:auto;
	background:rgba(22,18,14,.55);
	-webkit-backdrop-filter:blur(calc(18px * var(--cr-blur-k,1))) saturate(1.15);backdrop-filter:blur(calc(18px * var(--cr-blur-k,1))) saturate(1.15);
	opacity:0;visibility:hidden;transition:opacity .45s var(--cr-ease),visibility 0s linear .45s}
.cr-pop.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--cr-ease)}
.cr-pop__panel{position:relative;width:100%;max-width:720px;color:var(--cr-stone);
	background-color:rgba(28,22,15,.72);background-image:var(--cr-glass-dark-grad);
	border:var(--cr-glass-dark-border);box-shadow:var(--cr-glass-dark-shadow);border-radius:16px;
	padding:clamp(24px,4vw,44px) clamp(20px,4vw,48px) clamp(28px,4vw,44px);
	transform:translateY(16px);transition:transform .5s var(--cr-ease)}
.cr-pop.is-open .cr-pop__panel{transform:none}
.cr-pop--wide .cr-pop__panel{max-width:960px}
.cr-pop__x{position:absolute;z-index:3;top:14px;right:14px;width:42px;height:42px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;color:var(--cr-linen);
	border:1px solid rgba(255,255,255,.16);transition:border-color .25s,color .25s,transform .35s var(--cr-ease)}
.cr-pop__x svg{width:16px;height:16px}
.cr-pop__x:hover{color:var(--cr-ember);border-color:var(--cr-ember);transform:rotate(90deg)}
.cr-pop__head{margin:0 44px 22px 0}
.cr-pop__title{margin:0;font-weight:200;font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:.01em;color:var(--cr-linen)}
.cr-pop__body{font-size:var(--t-p-size,15.5px);line-height:var(--t-p-lh,1.75);font-weight:var(--t-p-weight,300);letter-spacing:var(--t-p-ls,0);color:rgba(231,225,214,.84)}
.cr-pop__body p{margin:0 0 12px}
.cr-pop__lead{font-size:16.5px;color:var(--cr-linen)}
.cr-pop__note{margin-top:18px;font-size:13.5px;color:rgba(231,225,214,.6)}
.cr-pop__h3{margin:24px 0 8px;font-weight:300;font-size:19px;color:var(--cr-linen)}
.cr-pop__act{margin-top:22px}
.cr-pop__prose p{margin:0 0 14px}
.cr-steps{margin:0 0 14px;padding:0 0 0 22px}
.cr-steps li{margin:0 0 8px;padding-left:6px}
.cr-rules{margin:0;padding:0;list-style:none;border-top:1px solid var(--cr-line-dark)}
.cr-rules__item{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--cr-line-dark)}
.cr-rules__n{font-weight:200;font-size:18px;color:var(--cr-wood);line-height:1.5}
.cr-rules__item h3{margin:0 0 4px;font-weight:var(--t-card-weight,300);font-size:var(--t-card-size,17px);line-height:var(--t-card-lh,1.35);letter-spacing:var(--t-card-ls,0);color:var(--cr-linen)}
.cr-rules__item p{margin:0;font-size:14.5px;color:rgba(231,225,214,.74)}
@media(max-width:640px){
	.cr-pop{padding:0;align-items:stretch}
	.cr-pop__panel{max-width:none;min-height:100%;border-radius:0;border-left:0;border-right:0;padding:22px 18px 40px}
	.cr-pop__x{top:10px;right:10px}
}

/* меню в попапе: экран целиком, шапка с вкладками и крестиком не скроллится */
.cr-pop--menu{padding:0;align-items:stretch}
.cr-pop--menu .cr-pop__panel{max-width:none;width:100%;height:100%;display:flex;flex-direction:column;
	border-radius:0;border:0;padding:0;transform:none;background-color:rgba(24,19,14,.9)}
.cr-pop__head--tabs{flex:none;margin:0;padding:clamp(16px,2.4vh,26px) calc(var(--cr-gutter) + 64px) clamp(14px,2vh,20px) var(--cr-gutter);
	display:flex;align-items:center;gap:14px 34px;flex-wrap:wrap;
	border-bottom:1px solid var(--cr-line-dark);background:rgba(24,19,14,.98)}
.cr-pop--menu .cr-pop__title{font-size:clamp(22px,2.4vw,30px)}
.cr-pop--menu .cr-pop__x{top:50%;right:var(--cr-gutter);transform:translateY(-50%);position:absolute}
.cr-pop--menu .cr-pop__head--tabs{position:relative}
.cr-pop--menu .cr-pop__body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
	padding:clamp(20px,3vh,32px) var(--cr-gutter) 56px}
/* шапка попапа (заголовок + лента разделов) — по той же колонке, что и позиции
   меню: на широких экранах она шире контента и «выпирала» (Константин, 12.09).
   Крестик остаётся у правого края окна. */
.cr-pop--menu .cr-pop__head--tabs{
	padding-left:max(var(--cr-gutter),calc((100% - var(--cr-content)) / 2));
	padding-right:calc(max(var(--cr-gutter),(100% - var(--cr-content)) / 2) + 64px)}
.cr-pop--menu .cr-pop__body>*{max-width:var(--cr-content);margin-left:auto;margin-right:auto}
.cr-mtabs{display:flex;gap:6px;flex-wrap:wrap}
.cr-mtabs__b{padding:9px 16px;min-width:112px;text-align:center;border-radius:var(--t-btn-radius,12px);font-size:11.5px;letter-spacing:.12em;color:rgba(231,225,214,.7);
	border:1px solid rgba(255,255,255,.14);transition:color .25s,border-color .25s,background .25s}
.cr-mtabs__b:hover{color:var(--cr-linen);border-color:rgba(255,255,255,.34)}
.cr-mtabs__b.is-on{color:var(--cr-ink);background:var(--cr-linen);border-color:var(--cr-linen)}
/* лента разделов внутри попапа группы (бар — 25+ разделов): одна строка с прокруткой */
.cr-mtabs--scroll{flex:1 1 0;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
	-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.cr-mtabs--scroll::-webkit-scrollbar{display:none}
.cr-mtabs--scroll .cr-mtabs__b{flex:none;min-width:0;white-space:nowrap;letter-spacing:.06em}
/* объём/вес у цены, история коктейля, подпись главы */
.cr-menu__portion{flex:none;font-size:12.5px;color:rgba(231,225,214,.5);white-space:nowrap}
.cr-menu__story{margin:6px 0 0;font-size:12.5px;line-height:1.6;color:rgba(231,225,214,.5)}
.cr-menu__cd--lead{margin:-12px 0 16px}
.cr-menu__cat--plain{margin-top:18px}
/* реквизиты юрлица в футере — мелко и приглушённо */
.cr2-footer__legal{margin:10px 0 0;font-size:11.5px;line-height:1.6;color:rgba(231,225,214,.42);text-align:center}
/* Карта меню (кухня · бар · винотека) — Montserrat, остальной сайт на Jost
   (Константин, 11.09). Самохостинг, вариативный 200–500, те же поднаборы, что у Jost. */
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-cyrillic.woff2') format('woff2');font-weight:200 500;font-style:normal;font-display:swap;
	unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-latin-ext.woff2') format('woff2');font-weight:200 500;font-style:normal;font-display:swap;
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-latin.woff2') format('woff2');font-weight:200 500;font-style:normal;font-display:swap;
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.cr-menu{font-family:'Montserrat',var(--cr-font)}
.cr-menu__group{padding:6px 0 26px}
.cr-menu__group+.cr-menu__group{border-top:1px solid var(--cr-line-dark);padding-top:30px}
.cr-menu__gt{margin:0 0 20px;font-weight:200;font-size:clamp(24px,2.6vw,32px);color:var(--cr-linen);letter-spacing:.01em}
.cr-menu__cat{margin:0 0 26px}
.cr-menu__ct{margin:0 0 6px;font-size:var(--t-cap-size,11.5px);font-weight:var(--t-cap-weight,400);line-height:var(--t-cap-lh,1.6);letter-spacing:var(--t-cap-ls,.2em);color:var(--cr-ember);display:flex;align-items:center;gap:12px}
.cr-menu__ct::after{content:"";flex:1;height:1px;background:var(--cr-line-dark)}
.cr-menu__cd{margin:0 0 12px;font-size:13.5px;color:rgba(231,225,214,.6)}
.cr-menu__dish{padding:10px 0}
.cr-menu__row{display:flex;align-items:baseline;gap:10px}
.cr-menu__name{font-size:var(--t-mname-size,16px);font-weight:var(--t-mname-weight,300);line-height:var(--t-mname-lh,1.5);letter-spacing:var(--t-mname-ls,0);color:var(--cr-linen)}
.cr-menu__tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:9.5px;letter-spacing:.08em;
	color:rgba(231,225,214,.7);border:1px solid rgba(255,255,255,.16);vertical-align:middle}
.cr-menu__dots{flex:1;min-width:24px;border-bottom:1px dotted rgba(231,225,214,.26);transform:translateY(-4px)}
.cr-menu__price{flex:none;font-size:var(--t-mname-size,15px);font-weight:var(--t-mname-weight,300);color:var(--cr-linen);white-space:nowrap}
.cr-menu__desc{margin:3px 0 0;font-size:var(--t-mdesc-size,13.5px);font-weight:var(--t-mdesc-weight,300);line-height:var(--t-mdesc-lh,1.6);letter-spacing:var(--t-mdesc-ls,0);color:rgba(231,225,214,.62);max-width:60ch}
.cr-menu__legal{margin-top:20px;font-size:12px;line-height:1.7;color:rgba(231,225,214,.5)}
@media(min-width:900px){
	.cr-menu__cat{columns:2;column-gap:44px}
	.cr-menu__ct,.cr-menu__cd{column-span:all}
	.cr-menu__dish{break-inside:avoid}
}
@media(min-width:1280px){.cr-menu__cat{columns:3;column-gap:48px}}
/* раздел с плитками — не в колонках: лента на всю ширину */
.cr-menu__cat--tiles{columns:auto}
@media(max-width:640px){
	.cr-pop--menu .cr-pop__head--tabs{padding-right:calc(var(--cr-gutter) + 52px)}
	/* телефон: лента разделов уходит под заголовок, крестик — в строку заголовка */
	.cr-mtabs--scroll{flex-basis:100%}
	.cr-pop--menu .cr-pop__head--tabs:has(.cr-mtabs--scroll) .cr-pop__x{top:clamp(12px,2vh,20px);transform:none}
	.cr-mtabs__b{min-width:0;flex:1 1 auto;padding:9px 10px}
	.cr-pop--menu .cr-pop__x{width:38px;height:38px}
}

/* ============================================================
   КОНТАКТЫ — один экран на статичной карте
   ============================================================ */
.cr-ct{position:relative;min-height:100svh;margin-top:calc(-1 * var(--cr-hdr-full,88px));
	display:flex;align-items:center;overflow:hidden;background:var(--cr-ink)}
.cr-ct__map{position:absolute;inset:0;z-index:0}
.cr-ct__map img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:.9}
.cr-ct__pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
	border-radius:50%;background:var(--cr-ember);box-shadow:0 0 0 6px rgba(169,188,127,.22),0 10px 30px rgba(0,0,0,.6)}
.cr-ct__pin span{position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(169,188,127,.6);
	animation:crPin 2.6s ease-out infinite}
@keyframes crPin{from{transform:scale(.5);opacity:.9}to{transform:scale(2.2);opacity:0}}
.cr-ct__veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:
	linear-gradient(90deg,rgba(22,18,14,.78) 0%,rgba(22,18,14,.5) 42%,rgba(22,18,14,.15) 70%,rgba(22,18,14,.25) 100%),
	linear-gradient(180deg,rgba(22,18,14,.5) 0%,rgba(22,18,14,0) 30%,rgba(22,18,14,0) 70%,rgba(22,18,14,.7) 100%)}
.cr-ct__in{position:relative;z-index:2;width:100%;max-width:var(--cr-frame);margin:0 auto;
	padding:calc(var(--cr-hdr-full,88px) + 24px) var(--cr-gutter) clamp(40px,6vh,64px)}
.cr-ct__card{max-width:560px;padding:clamp(26px,3.6vw,44px) clamp(22px,3.4vw,42px);
	border-radius:16px;background-color:rgba(28,22,15,.62)}
@media(hover:hover) and (min-width:900px){.cr-ct__card{-webkit-backdrop-filter:var(--cr-glass-dark-blur);backdrop-filter:var(--cr-glass-dark-blur)}}
.cr-ct__h{margin:0 0 10px;font-weight:var(--t-h-weight,200);font-size:var(--t-h-size,clamp(28px,3.4vw,42px));line-height:var(--t-h-lh,1.1);letter-spacing:var(--t-h-ls,0);color:var(--cr-linen)}
.cr-ct__lead{margin:0 0 18px;font-size:var(--t-p-size,15px);font-weight:var(--t-p-weight,300);line-height:var(--t-p-lh,1.7);letter-spacing:var(--t-p-ls,0);color:rgba(231,225,214,.72)}
.cr-ct__phone{display:inline-block;margin:6px 0 18px;font-weight:var(--t-phone-weight,200);font-size:var(--t-phone-size,clamp(30px,3.6vw,46px));
	letter-spacing:var(--t-phone-ls,.02em);line-height:var(--t-phone-lh,1.1);color:var(--cr-linen);transition:color .3s}
.cr-ct__phone:hover{color:var(--cr-ember)}
.cr-ct__rows{margin:0;display:grid;gap:12px;border-top:1px solid var(--cr-line-dark);padding-top:16px}
.cr-ct__rows>div{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:baseline}
.cr-ct__rows dt{font-size:10.5px;letter-spacing:.16em;color:rgba(231,225,214,.5)}
.cr-ct__rows dd{margin:0;font-size:var(--t-rows-size,15.5px);font-weight:var(--t-rows-weight,300);line-height:var(--t-rows-lh,1.6);letter-spacing:var(--t-rows-ls,0);color:var(--cr-stone)}
.cr-ct__rows dd a{color:inherit}
.cr-ct__dim{display:block;font-size:var(--t-dim-size,13px);font-weight:var(--t-dim-weight,300);line-height:var(--t-dim-lh,1.6);color:rgba(231,225,214,.55)}
.cr-ct__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cr-ct__acts .cr-btn{border-radius:var(--t-btn-radius,12px)}
.cr-ct__links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px}
.cr-ct__soc{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.cr-ct__soc>a,.cr-ct__soc .cr-soc a{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
	color:rgba(241,235,225,.8);border:1px solid rgba(255,255,255,.22);transition:color .25s,border-color .25s}
.cr-ct__soc>a:hover,.cr-ct__soc .cr-soc a:hover{color:var(--cr-ember);border-color:var(--cr-ember)}
.cr-ct__soc svg{width:19px;height:19px}
.cr-ct__soc .cr-soc{margin:0}
@media(max-width:899px){
	.cr-ct{align-items:flex-end}
	.cr-ct__map img{object-position:60% 40%}
	.cr-ct__pin{top:36%}
	.cr-ct__veil{background:linear-gradient(180deg,rgba(22,18,14,.55) 0%,rgba(22,18,14,.25) 30%,rgba(22,18,14,.6) 55%,rgba(22,18,14,.92) 100%)}
	.cr-ct__in{padding-top:calc(var(--cr-hdr-full,88px) + 34vh)}
	.cr-ct__card{max-width:none;padding:22px 18px 26px;background-color:rgba(28,22,15,.5)}
	.cr-ct__acts .cr-btn{flex:1 1 150px;padding:12px 14px;font-size:12px;letter-spacing:.08em;white-space:normal;text-align:center}
}

/* ============================================================
   БАНКЕТЫ — лендинг
   ============================================================ */
.cr-bq{margin-top:calc(-1 * var(--cr-hdr-full,88px))}
.cr-bq__hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--cr-ink)}
.cr-bq__hero .cr-sl__bg img{transform:none}
.cr-bq__hero-in{position:relative;z-index:2;width:100%;max-width:var(--cr-frame);margin:0 auto;
	padding:calc(var(--cr-hdr-full,88px) + 60px) var(--cr-gutter) clamp(56px,9vh,96px)}
.cr-bq__hero-in .cr-sl__h{max-width:16ch}
.cr-bq__hero-in .cr-sl__p{max-width:56ch}
.cr-bq__sec{padding:clamp(64px,10vh,120px) 0;background:var(--cr-ink)}
.cr-bq__sec--tight{padding-top:0}
.cr-bq__in{max-width:var(--cr-frame);margin:0 auto;padding:0 var(--cr-gutter)}
.cr-bq__in--narrow>*{max-width:var(--cr-narrow)}
.cr-bq__head{margin-bottom:clamp(26px,4vh,40px)}
.cr-bq__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.cr-bq__h2{margin:0;font-weight:var(--t-h-weight,200);font-size:var(--t-h-size,clamp(26px,3.4vw,44px));line-height:var(--t-h-lh,1.1);letter-spacing:var(--t-h-ls,0);color:var(--cr-linen);text-wrap:balance}
.cr-bq__p{margin:0 0 20px;font-size:var(--t-p-size,clamp(15px,1.15vw,17px));font-weight:var(--t-p-weight,300);line-height:var(--t-p-lh,1.8);letter-spacing:var(--t-p-ls,0);color:rgba(231,225,214,.8);max-width:54ch}
.cr-bq__note,.cr-bq__dim{margin:18px 0 0;font-size:var(--t-dim-size,13.5px);font-weight:var(--t-dim-weight,300);line-height:var(--t-dim-lh,1.7);letter-spacing:var(--t-dim-ls,0);color:rgba(231,225,214,.55)}

.cr-bq__halls{display:grid;gap:22px}
.cr-bq__hall{position:relative;display:flex;flex-direction:column;gap:10px}
/* кадр зала: название и вместимость лежат на фото поверх градиента */
.cr-bq__hall-ph{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--cr-radius-frame);
	background:linear-gradient(160deg,var(--cr-umber),var(--cr-ink));box-shadow:0 30px 60px -40px rgba(0,0,0,.7)}
.cr-bq__hall-ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.2s var(--cr-ease)}
.cr-bq__hall:hover .cr-bq__hall-ph img{transform:scale(1.06)}
.cr-bq__hall-n{position:absolute;z-index:2;top:12px;left:12px;font-size:11px;letter-spacing:.14em;color:var(--cr-linen);
	padding:4px 9px;border-radius:999px;background:rgba(22,18,14,.55)}
.cr-bq__hall-ov{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;
	padding:56px 18px 16px;background:linear-gradient(180deg,rgba(22,18,14,0) 0%,rgba(22,18,14,.55) 45%,rgba(22,18,14,.86) 100%)}
.cr-bq__hall-t{margin:0;font-weight:var(--t-card-weight,300);font-size:var(--t-card-size,19px);line-height:var(--t-card-lh,1.35);letter-spacing:var(--t-card-ls,0);color:var(--cr-linen)}
.cr-bq__hall-cap{margin:0;font-size:var(--t-cap-size,12px);font-weight:var(--t-cap-weight,400);line-height:var(--t-cap-lh,1.6);letter-spacing:var(--t-cap-ls,.1em);color:var(--cr-ember)}
.cr-bq__hall-d{margin:4px 0 8px;font-size:var(--t-dim-size,14px);font-weight:var(--t-dim-weight,300);line-height:var(--t-dim-lh,1.65);letter-spacing:var(--t-dim-ls,0);color:rgba(231,225,214,.66)}
@media(min-width:640px){.cr-bq__halls{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cr-bq__halls{grid-template-columns:repeat(3,1fr);gap:28px}}

.cr-bq__rows{border-top:1px solid var(--cr-line-dark)}
.cr-bq__row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--cr-line-dark)}
.cr-bq__row-t{font-size:var(--t-card-size,clamp(16px,1.3vw,19px));font-weight:var(--t-card-weight,300);line-height:var(--t-card-lh,1.35);letter-spacing:var(--t-card-ls,0);color:var(--cr-linen)}
.cr-bq__row-cap{flex:none;font-size:var(--t-cap-size,12.5px);font-weight:var(--t-cap-weight,400);letter-spacing:var(--t-cap-ls,.08em);color:rgba(231,225,214,.62);text-align:right}
@media(max-width:640px){.cr-bq__row{flex-direction:column;gap:4px}.cr-bq__row-cap{text-align:left}}

.cr-bq__menu{display:grid;gap:24px}
@media(min-width:900px){.cr-bq__menu{grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}}

.cr-bq__sec--photos{padding-bottom:clamp(48px,8vh,96px)}
.cr-bq__strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--cr-edge);scrollbar-width:none;
	padding:0 var(--cr-edge) 8px;-webkit-overflow-scrolling:touch}
.cr-bq__strip::-webkit-scrollbar{display:none}
.cr-bq__shot{flex:0 0 min(78vw,640px);aspect-ratio:3/2;margin:0;overflow:hidden;border-radius:var(--cr-radius-frame);
	scroll-snap-align:start;background:var(--cr-umber);box-shadow:0 30px 60px -40px rgba(0,0,0,.7)}
.cr-bq__shot img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:899px){.cr-bq__strip-nav{display:none}.cr-bq__shot{flex-basis:84vw}}

.cr-bq__sec--final{text-align:center;background:
	radial-gradient(70% 60% at 50% 110%,rgba(138,106,75,.22) 0%,rgba(138,106,75,0) 62%),var(--cr-ink)}
.cr-bq__final>*{margin-left:auto;margin-right:auto}
.cr-bq__final .cr-bq__h2{margin-top:14px}
.cr-bq__final .cr-bq__p{margin-top:14px;text-align:center}
.cr-bq__phone{display:inline-block;margin:10px 0 4px;font-weight:var(--t-phone-weight,200);font-size:var(--t-phone-size,clamp(30px,4.4vw,56px));
	letter-spacing:var(--t-phone-ls,.02em);line-height:var(--t-phone-lh,1.1);color:var(--cr-linen);transition:color .3s}
.cr-bq__phone:hover{color:var(--cr-ember)}
.cr-bq .cr-sl__acts--btns{margin-top:22px}
.cr-bq .cr-btn{border-radius:var(--t-btn-radius,12px)}

/* ============================================================
   ПРОСТАЯ СТРАНИЦА (этикет как адрес, юр-документы)
   ============================================================ */
.cr2-page{padding:clamp(40px,8vh,96px) 0 clamp(48px,8vh,96px)}
.cr2-page__in{max-width:var(--cr-frame);margin:0 auto;padding:0 var(--cr-gutter)}
.cr2-page__in>*{max-width:var(--cr-narrow)}
.cr2-page .cr-sl__h{margin-bottom:26px}
.cr-pop__body--page,.cr-pop__prose--page{font-size:16px;line-height:1.8;color:rgba(231,225,214,.84)}
.cr-pop__prose--page p{margin:0 0 14px}
.cr2-page .cr-sl__acts--btns{margin-top:30px}
.cr2-page .cr-btn{border-radius:var(--t-btn-radius,12px)}

/* ============================================================
   ФУТЕР — компактная вечерняя плита
   ============================================================ */
.cr2-footer{position:relative;z-index:6;padding:clamp(28px,5vh,56px) var(--cr-gutter) calc(22px + env(safe-area-inset-bottom,0px));
	background:var(--cr-ink);color:rgba(231,225,214,.7)}
.cr2-footer__in{max-width:var(--cr-content);margin:0 auto;padding-top:clamp(22px,3vh,32px);border-top:1px solid var(--cr-line-dark)}
.cr2-footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 30px}
.cr2-footer__logo .cr-logo{height:14px;width:auto;opacity:.92}
.cr2-footer__nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.cr2-footer__nav a{font-size:11.5px;letter-spacing:.14em;color:rgba(231,225,214,.75);transition:color .22s}
.cr2-footer__nav a:hover{color:var(--cr-ember)}
.cr2-footer .cr-soc{margin:0}
.cr2-footer .cr-soc a{width:38px;height:38px;border-color:rgba(255,255,255,.2);color:rgba(241,235,225,.75)}
.cr2-footer .cr-soc a:hover{color:var(--cr-ember);border-color:var(--cr-ember)}
.cr2-footer__mid{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:22px;font-size:14px;line-height:1.7}
.cr2-footer__mid a{color:rgba(231,225,214,.8);transition:color .22s}
.cr2-footer__mid a:hover{color:var(--cr-ember)}
.cr2-footer__phone{font-size:17px;font-weight:300;color:var(--cr-linen)!important}
.cr2-footer__sep{width:4px;height:4px;transform:rotate(45deg);background:var(--cr-ember);opacity:.7}
.cr2-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;
	margin-top:22px;padding-top:16px;border-top:1px solid var(--cr-line-dark);font-size:11.5px;letter-spacing:.06em;color:rgba(231,225,214,.5)}
.cr2-footer__links{display:flex;flex-wrap:wrap;gap:8px 18px}
.cr2-footer__links a{color:rgba(231,225,214,.62);transition:color .22s}
.cr2-footer__links a:hover{color:var(--cr-ember)}
@media(max-width:899px){
	.cr2-footer__mid{flex-direction:column;align-items:flex-start;gap:4px}
	.cr2-footer__sep{display:none}
	.cr2-footer__bottom{flex-direction:column;align-items:flex-start}
}

/* плавающая кнопка и cookie-баннер — на слайдах не перекрывают навигацию */
/* плавающая кнопка на слайдах стоит на линии нижнего ряда: её центр (54/2)
   совпадает с центром точек и счётчика (ряд ≈ 20px, центр = низ ряда + 10) */
body.cr2-slides .cr-fab{bottom:calc(clamp(26px,5vh,48px) + 10px - 27px)}
/* на телефоне на слайдах быстрая кнопка стоит в нижнем ряду справа — на линии
   точек и счётчика, а не на кнопках текста; счётчик сдвигается левее */
@media(max-width:899px){
	body.cr2-slides .cr-fab{bottom:calc(clamp(18px,3.5vh,30px) - 12px);right:var(--cr-gutter);z-index:7}
	body.cr2-slides .cr-fab__toggle{width:44px;height:44px}
	body.cr2-slides .cr-sl__ctl{margin-right:58px}
}

/* ============================================================
   ТИПОГРАФИКА — глобальные настройки («Ресторан → Главное → Типографика»).
   Переменные --t-* (компьютер) и --tm-* (телефон) печатает cr2_typo_css()
   в <head>; правила выше берут их с запасным значением макета.
   Ниже — типы вне слайдов на телефоне и пункты бургера.
   ============================================================ */
body.cr2 .cr-burger__link{font-size:var(--t-nav-size,clamp(1.31rem,2.9vw,2.25rem));font-weight:var(--t-nav-weight,250);line-height:var(--t-nav-lh,1.2);letter-spacing:var(--t-nav-ls,.02em)}
@media(max-width:899px){
	body.cr2 .cr-burger__link{font-size:var(--tm-nav-size,1.6rem);font-weight:var(--tm-nav-weight,250);line-height:var(--tm-nav-lh,1.2);letter-spacing:var(--tm-nav-ls,.02em)}
	.cr-bq__h2,.cr-ct__h{font-weight:var(--tm-h-weight,300);font-size:var(--tm-h-size,clamp(26px,7vw,34px));line-height:var(--tm-h-lh,1.1);letter-spacing:var(--tm-h-ls,0)}
	.cr-bq__p,.cr-ct__lead,.cr-pop__body{font-size:var(--tm-p-size,16px);font-weight:var(--tm-p-weight,400);line-height:var(--tm-p-lh,1.5);letter-spacing:var(--tm-p-ls,0)}
	.cr-bq__note,.cr-bq__dim,.cr-bq__hall-d,.cr-ct__dim{font-size:var(--tm-dim-size,14px);font-weight:var(--tm-dim-weight,400);line-height:var(--tm-dim-lh,1.5);letter-spacing:var(--tm-dim-ls,0)}
	.cr-bq__hall-t,.cr-bq__row-t,.cr-rules__item h3{font-size:var(--tm-card-size,18px);font-weight:var(--tm-card-weight,300);line-height:var(--tm-card-lh,1.35);letter-spacing:var(--tm-card-ls,0)}
	.cr-bq__hall-cap,.cr-bq__row-cap,.cr-menu__ct{font-size:var(--tm-cap-size,12px);font-weight:var(--tm-cap-weight,400);letter-spacing:var(--tm-cap-ls,.08em)}
	.cr-ct__phone,.cr-bq__phone{font-size:var(--tm-phone-size,clamp(28px,8.5vw,40px));font-weight:var(--tm-phone-weight,200);line-height:var(--tm-phone-lh,1.1);letter-spacing:var(--tm-phone-ls,.02em)}
	.cr-ct__rows dd{font-size:var(--tm-rows-size,16px);font-weight:var(--tm-rows-weight,400);line-height:var(--tm-rows-lh,1.5)}
	.cr-menu__name,.cr-menu__price{font-size:var(--tm-mname-size,16px);font-weight:var(--tm-mname-weight,300);line-height:var(--tm-mname-lh,1.45)}
	.cr-menu__desc{font-size:var(--tm-mdesc-size,13.5px);font-weight:var(--tm-mdesc-weight,300);line-height:var(--tm-mdesc-lh,1.55)}
}

/* ============================================================
   Меню: плитки коктейлей (фото — изображение товара Woo).
   Везде лента со снапом: компьютер — 3 в ряд (4 от 1280px) и стрелки
   у названия раздела, телефон — свайп.
   ============================================================ */
.cr-menu__ch{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cr-menu__ch .cr-menu__ct{flex:1 1 auto}
.cr-menu__tiles-nav{display:flex;gap:4px;flex:none}
.cr-menu__tiles-nav .cr-sl__arrow{height:36px;min-width:32px;padding:0 8px}
.cr-menu__tiles{--tile-gap:20px;display:flex;gap:var(--tile-gap);margin:6px 0 10px;padding-bottom:6px;overflow-x:auto;
	scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cr-menu__tiles::-webkit-scrollbar{display:none}
.cr-menu__tile{flex:0 0 calc((100% - 2 * var(--tile-gap)) / 3);scroll-snap-align:start}
.cr-menu__tile{display:flex;flex-direction:column;gap:6px}
.cr-menu__tile-ph{margin:0 0 6px;aspect-ratio:3/4;overflow:hidden;border-radius:var(--cr-radius-frame);
	background:linear-gradient(160deg,var(--cr-umber),var(--cr-ink));display:flex;align-items:center;justify-content:center}
.cr-menu__tile-ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.2s var(--cr-ease)}
.cr-menu__tile:hover .cr-menu__tile-ph img{transform:scale(1.06)}
.cr-menu__tile-ph figcaption{padding:20px;text-align:center;font-size:11px;letter-spacing:.12em;color:rgba(231,225,214,.5)}
.cr-menu__tile .cr-menu__row{align-items:baseline}
.cr-menu__tile .cr-menu__desc{max-width:none}
@media(min-width:1280px){.cr-menu__tile{flex-basis:calc((100% - 3 * var(--tile-gap)) / 4)}}
@media(max-width:899px){
	.cr-menu__tiles-nav{display:none}
	.cr-menu__tiles{--tile-gap:14px;scroll-padding-left:var(--cr-gutter);margin:6px calc(-1 * var(--cr-gutter)) 12px;padding:0 var(--cr-gutter) 6px}
	.cr-menu__tile{flex:0 0 72%}
}

/* ============================================================
   Банкеты: залы — на телефоне лента со снапом; окно зала — лента кадров.
   ============================================================ */
.cr-bq__hall-ph{cursor:pointer}
.cr-bq__hall-more{align-self:flex-start;display:inline-flex}
@media(max-width:899px){
	.cr-bq__halls{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--cr-gutter);scrollbar-width:none;
		margin:0 calc(-1 * var(--cr-gutter));padding:0 var(--cr-gutter) 8px;-webkit-overflow-scrolling:touch;
		overscroll-behavior-x:contain;touch-action:pan-x pan-y}
	.cr-bq__halls::-webkit-scrollbar{display:none}
	.cr-bq__hall{flex:0 0 78%;scroll-snap-align:start}
	.cr-bq__hall-ph{aspect-ratio:4/5}
}
/* окно зала: кадры крупно, на телефоне — во всю ширину окна и выше */
.cr-bq__hstrip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
	margin:0 0 18px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.cr-bq__hstrip::-webkit-scrollbar{display:none}
.cr-bq__hshot{flex:0 0 min(86%,560px);aspect-ratio:3/2;margin:0;overflow:hidden;border-radius:var(--cr-radius-frame);scroll-snap-align:start;background:var(--cr-umber)}
.cr-bq__hshot:only-child{flex-basis:100%}
.cr-bq__hshot img{width:100%;height:100%;object-fit:cover;display:block}
.cr-pop .cr-bq__hall-cap{margin:0 0 10px}
@media(max-width:640px){
	.cr-bq__hstrip{margin:-22px -18px 18px;padding:0 18px 6px;gap:10px;scroll-padding-left:18px}
	.cr-bq__hshot{flex-basis:88%;aspect-ratio:4/5;border-radius:0 0 var(--cr-radius-frame) var(--cr-radius-frame)}
	.cr-bq__hshot:only-child{flex-basis:calc(100% - 0px)}
	.cr-pop .cr-pop__head{margin-top:0}
}

/* ============================================================
   Попап-афиша: картинка слева (3:4 / 2:3), текст справа; телефон — столбик.
   ============================================================ */
.cr-pop--promo{align-items:center}
.cr-pop--promo .cr-pop__panel{max-width:880px;padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.cr-pop--promo-noimg .cr-pop__panel{max-width:600px;grid-template-columns:1fr}
.cr-promo2__ph{margin:0;overflow:hidden;background:var(--cr-umber);aspect-ratio:3/4;min-height:100%}
.cr-promo2__ph--2-3{aspect-ratio:2/3}
.cr-promo2__ph img{width:100%;height:100%;object-fit:cover;display:block}
.cr-promo2__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,52px) clamp(24px,4vw,48px) clamp(28px,4vw,44px)}
.cr-promo2__body .cr-sl__eyebrow{margin-bottom:12px}
.cr-promo2__body .cr-pop__title{margin:0 0 14px;padding-right:36px}
.cr-promo2__p{margin:0 0 12px;font-size:var(--t-p-size,16px);line-height:var(--t-p-lh,1.7);font-weight:var(--t-p-weight,300);color:rgba(231,225,214,.84)}
.cr-promo2__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:16px}
.cr-promo2__acts .cr-btn{border-radius:var(--t-btn-radius,12px)}
.cr-promo2__acts button.cr-sl__lbtn{cursor:pointer}
@media(max-width:640px){
	/* телефон: окно 90 % экрана с воздухом 12 px по бокам и снизу — видно, что это
	   отдельная карточка над страницей; афиша — доля высоты (--promo-share, по
	   умолчанию 66 %) во всю ширину карточки, кадр по центру; текст — в остатке,
	   со своей прокруткой */
	.cr-pop--promo{align-items:flex-end;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px))}
	.cr-pop--promo .cr-pop__panel{display:flex;flex-direction:column;height:88vh;height:88dvh;min-height:0;max-height:none;
		overflow:hidden;border-radius:16px}
	.cr-pop--promo-noimg .cr-pop__panel{height:auto;max-height:90dvh}
	.cr-promo2__ph,.cr-promo2__ph--2-3{flex:0 0 var(--promo-share,66%);aspect-ratio:auto;min-height:0;max-height:none}
	.cr-promo2__ph img{object-position:center center}
	.cr-promo2__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;padding:20px 18px 28px}
	.cr-promo2__acts .cr-btn{width:100%;justify-content:center}
	.cr-promo2__p{font-size:var(--tm-p-size,16px);line-height:var(--tm-p-lh,1.5);font-weight:var(--tm-p-weight,400)}
}

/* ---- появление попапа-афиши: одно движение. Фон мягко темнеет, окно
   целиком поднимается и проявляется на медленной кривой; внутри ничего
   отдельно не едет (решение Константина 08.09: просто, а не «технично»). ---- */
.cr-pop--promo{transition:opacity .8s cubic-bezier(.22,.61,.36,1),visibility 0s linear .8s}
.cr-pop--promo.is-open{transition:opacity .8s cubic-bezier(.22,.61,.36,1)}
.cr-pop--promo .cr-pop__panel{opacity:0;transform:translateY(22px);
	transition:transform 1.1s cubic-bezier(.22,.61,.36,1),opacity .9s cubic-bezier(.22,.61,.36,1)}
.cr-pop--promo.is-open .cr-pop__panel{opacity:1;transform:none}
/* крестик проявляется через полторы секунды после окна — гость сначала видит
   афишу, а не кнопку закрытия (закрыть по фону и Esc можно сразу) */
.cr-pop--promo .cr-pop__x{opacity:0;pointer-events:none;
	transition:opacity .6s ease,border-color .25s,color .25s,transform .35s var(--cr-ease)}
.cr-pop--promo.is-open .cr-pop__x{opacity:1;pointer-events:auto;transition-delay:1.5s,0s,0s,0s}
@media(max-width:640px){
	.cr-pop--promo .cr-pop__panel{transform:translateY(100%);opacity:1;transition:transform 1s cubic-bezier(.22,.61,.36,1)}
	.cr-pop--promo.is-open .cr-pop__panel{transform:none}
}
@media(prefers-reduced-motion:reduce){
	.cr-pop--promo .cr-pop__panel{transition:none;opacity:1;transform:none}
	.cr-pop--promo .cr-pop__x{transition:none;opacity:1;pointer-events:auto}
}
}

/* окно цитаты (шеф, шеф-бармен) */
.cr-quote-pop{margin:8px 0 0;max-width:none;font-size:clamp(19px,2vw,24px)}

/* пульсирующая точка у имени — открывает окно с цитатой */
/* размеры в em от кегля имени: точка сидит как статус — вплотную к имени,
   центр круга на линии верха букв (у Jost верх прописных ≈ .26em от верха строки) */
.cr-sl__qdot{position:relative;display:inline-block;vertical-align:top;width:.5em;height:.5em;margin:.01em 0 0 .12em;
	cursor:pointer;color:var(--cr-ember);transition:transform .3s var(--cr-ease)}
.cr-sl__qdot::before{content:"";position:absolute;left:50%;top:50%;width:.15em;height:.15em;margin:-.075em 0 0 -.075em;border-radius:50%;background:currentColor;
	box-shadow:0 0 0 0 rgba(169,188,127,.55);animation:crQdot 2.4s ease-out infinite}
.cr-sl__qdot span{position:absolute;inset:0;border-radius:50%;border:1px solid currentColor;opacity:0;
	animation:crQring 2.4s ease-out infinite}
.cr-sl__qdot:hover{transform:scale(1.12)}
@keyframes crQdot{0%{box-shadow:0 0 0 0 rgba(169,188,127,.55)}70%{box-shadow:0 0 0 .18em rgba(169,188,127,0)}100%{box-shadow:0 0 0 0 rgba(169,188,127,0)}}
@keyframes crQring{0%{transform:scale(.4);opacity:.8}80%{transform:scale(1);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cr-sl__qdot::before,.cr-sl__qdot span{animation:none}.cr-sl__qdot span{opacity:.5}}

/* ============================================================
   Меню ресторана — светлая инверсия (10.09).
   Карта блюд открывается на весь экран, и вечернее стекло поверх
   тёмного кадра читалось вяло: длинные списки на светлом держат
   внимание лучше и ближе к печатному меню. Инвертируем ТОЛЬКО
   .cr-pop--menu: остальные попапы (правила, проезд, юр-документы,
   афиша) и навигация остаются тёмными.
   Лён вместо угля, умбра вместо льна, акцент — тёмная олива
   (--cr-bordeaux) вместо светлой (--cr-ember). Геометрия и анимации
   не трогаются — переопределяем только цвет.
   ============================================================ */
body.cr2 .cr-pop--menu{background:rgba(241,235,225,.55)}
body.cr2 .cr-pop--menu .cr-pop__panel{color:var(--cr-ink-soft);
	background-color:rgba(247,243,236,.97);
	background-image:linear-gradient(180deg,rgba(251,248,243,.97),rgba(238,232,221,.97))}
body.cr2 .cr-pop--menu .cr-pop__head--tabs{background:rgba(251,248,243,.98);border-bottom-color:var(--cr-line)}
body.cr2 .cr-pop--menu .cr-pop__title{color:var(--cr-umber)}
body.cr2 .cr-pop--menu .cr-pop__body{color:var(--cr-ink-soft)}
body.cr2 .cr-pop--menu .cr-pop__x{color:var(--cr-umber);border-color:rgba(42,35,28,.18)}
body.cr2 .cr-pop--menu .cr-pop__x:hover{color:var(--cr-bordeaux);border-color:var(--cr-bordeaux)}

/* вкладки разделов: активная — оливковая плашка со светлым текстом */
body.cr2 .cr-pop--menu .cr-mtabs__b{color:var(--cr-ink-soft);border-color:rgba(42,35,28,.16)}
body.cr2 .cr-pop--menu .cr-mtabs__b:hover{color:var(--cr-umber);border-color:rgba(42,35,28,.34)}
body.cr2 .cr-pop--menu .cr-mtabs__b.is-on{color:var(--cr-white);background:var(--cr-bordeaux);border-color:var(--cr-bordeaux)}

/* списки блюд */
body.cr2 .cr-pop--menu .cr-menu__group+.cr-menu__group{border-top-color:var(--cr-line)}
body.cr2 .cr-pop--menu .cr-menu__gt{color:var(--cr-umber)}
body.cr2 .cr-pop--menu .cr-menu__ct{color:var(--cr-bordeaux)}
body.cr2 .cr-pop--menu .cr-menu__ct::after{background:var(--cr-line)}
body.cr2 .cr-pop--menu .cr-menu__cd{color:rgba(42,35,28,.58)}
body.cr2 .cr-pop--menu .cr-menu__name,
body.cr2 .cr-pop--menu .cr-menu__price{color:var(--cr-umber)}
body.cr2 .cr-pop--menu .cr-menu__tag{color:var(--cr-ink-soft);border-color:rgba(42,35,28,.2)}
body.cr2 .cr-pop--menu .cr-menu__dots{border-bottom-color:rgba(42,35,28,.3)}
body.cr2 .cr-pop--menu .cr-menu__desc{color:rgba(42,35,28,.62)}
body.cr2 .cr-pop--menu .cr-menu__portion,
body.cr2 .cr-pop--menu .cr-menu__story{color:rgba(42,35,28,.5)}
body.cr2 .cr-pop--menu .cr-menu__legal{color:rgba(42,35,28,.5)}

/* лента коктейлей: стрелки и подложка плитки без фото */
body.cr2 .cr-pop--menu .cr-sl__arrow{color:var(--cr-umber)}
body.cr2 .cr-pop--menu .cr-menu__tile-ph{background:linear-gradient(160deg,var(--cr-linen-2),var(--cr-sand))}
body.cr2 .cr-pop--menu .cr-menu__tile-ph figcaption{color:rgba(42,35,28,.5)}

/* ============================================================
   Слайды без надзаголовков (10.09, просьба Константина).
   Убираем на всех слайдах eyebrow вместе с чёрточкой перед ним
   (.cr-sl__eyebrow::before / --center::after) и чёрточку-разделитель
   .cr-sl__rule на входе. Прячем стилями, а не разметкой: поля в
   редакторе остаются заполненными, вернуть — снять этот блок.
   Область — только слайдер (.cr-sl): лендинг банкетов, попап-афиша
   и обычные страницы свои надзаголовки сохраняют; «Контакты» (.cr-ct)
   — тот же полноэкранный кадр, поэтому попали в правило.
   ============================================================ */
body.cr2 .cr-sl .cr-sl__eyebrow,
body.cr2 .cr-sl .cr-sl__rule,
body.cr2 .cr-ct .cr-sl__eyebrow{display:none}

/* ============================================================
   Контакты на телефоне: четыре кнопки в два ряда (10.09).
   Было четыре ряда по одной кнопке — карточка уезжала за экран.
   Обе группы кладём в сетку 2×N и приводим к ОДНОМУ размеру:
   одинаковая ширина (колонка 1fr) и высота 56px у всех четырёх.
   Вид второй пары задаёт настройка «Второстепенные кнопки»
   (cr2_secondary_class(): сейчас cr-btn--light, но может быть и
   вариант-ссылка cr-sl__lbtn), поэтому правим по детям контейнера,
   а для ссылочного варианта добавляем рамку и убираем стрелку.
   Пятая ссылка (поле «ct_link3»), если её заполнят, встанет
   новым рядом такими же плашками.
   ============================================================ */
@media(max-width:899px){
	body.cr2 .cr-ct__acts,
	body.cr2 .cr-ct__links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
	body.cr2 .cr-ct__links{margin-top:10px}
	body.cr2 .cr-ct__acts>*,
	body.cr2 .cr-ct__links>*{flex:none;width:100%;min-width:0;height:56px;padding:8px 10px;
		display:inline-flex;align-items:center;justify-content:center;text-align:center;
		font-size:12px;line-height:1.25;letter-spacing:.06em;white-space:normal;
		border-radius:var(--t-btn-radius,12px)}
	/* ссылочный вариант второстепенной кнопки — под ту же плашку */
	body.cr2 .cr-ct__links>.cr-sl__lbtn{gap:0;color:var(--cr-linen);
		border:1px solid rgba(241,235,225,.45)}
	body.cr2 .cr-ct__links>.cr-sl__lbtn::after{content:none}
	body.cr2 .cr-ct__links>.cr-sl__lbtn:hover{gap:0;border-color:var(--cr-linen)}
}

/* ============================================================
   Шапка на телефоне (10.09): три правки по просьбе Константина.
   1. MAX из ряда мессенджеров убран — остаются WhatsApp и Telegram
      (ссылка остаётся в бургере и на «Контактах»).
   2. У бургера только линии, слово «Меню» снято — кнопка подписана
      для скринридера через aria-label, читаемость не теряется.
   3. Под логотипом — место: правая часть подписи шапки после «·»
      («Новая Рига»), правится в том же поле header_label.
   Капса нет намеренно: в Jost кириллическая «Л» почти равна «П».
   ============================================================ */
body.cr2 .cr-header__sub{display:none} /* на большом экране место есть в подписи слева */
@media(max-width:879px){
	body.cr2 .cr-header__msg-i--max{display:none}
	body.cr2 .cr-header__btxt{display:none}
	body.cr2 .cr-header__burger{gap:0}
	body.cr2 .cr-header__logo{flex-direction:column;align-items:flex-start;gap:3px}
	body.cr2 .cr-header__sub{display:block;font-size:9px;font-weight:400;letter-spacing:.2em;
		line-height:1;white-space:nowrap;opacity:.62;text-transform:none}
}

/* ============================================================
   Кнопки слайдов на телефоне: все одного размера (10.09).
   Раньше ширина шла от длины подписи — «Меню» 93px рядом с
   «Забронировать стол» 181px, да ещё высота гуляла 41/45px.
   Кладём действия слайда в сетку 2×N: ширина = колонка (примерно
   как у кнопки брони, две встают в ряд), высота у всех 48px,
   длинная подпись переносится внутри кнопки. Потолок 230px —
   чтобы на планшете кнопки не растягивались во всю колонку текста.
   Правило по детям .cr-sl__acts: под настройку «Второстепенные
   кнопки» подпадают и .cr-btn, и вариант-ссылка .cr-sl__lbtn.
   ============================================================ */
@media(max-width:899px){
	body.cr2 .cr-sl .cr-sl__acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;
		align-items:stretch;justify-items:start}
	body.cr2 .cr-sl .cr-sl__acts>*{width:100%;max-width:230px;min-width:0;height:48px;
		padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;
		text-align:center;font-size:12px;line-height:1.25;letter-spacing:.06em;
		white-space:normal;border-radius:var(--t-btn-radius,12px)}
	/* ссылочный вариант второстепенной кнопки — под ту же плашку */
	body.cr2 .cr-sl .cr-sl__acts>.cr-sl__lbtn{gap:0;color:var(--cr-linen);
		border:1px solid rgba(241,235,225,.45)}
	body.cr2 .cr-sl .cr-sl__acts>.cr-sl__lbtn::after{content:none}
}
