/* ============================================================
   CRYSTAL — страница «Меню» (template-menu.php, владелец WE)
   Перенос макета «Crystal - Меню.dc.html»: тёмный пролог с
   sheen-заголовком и зерном → градиентный «мост» в лён →
   «Визитная карточка шефа» → карта меню из Woo (главы-категории,
   блюда-строки с hairline вместо карточек) → тёмный финал
   «Стол — по телефону» с телефоном-гигантом.

   Правила: без фото блюд; капс кириллицы запрещён (Л Jost ≈ П,
   «СТОЛ» капсом читается «СТОП») — все лейблы разреженным обычным
   регистром; sheen-градиенты из stone/sand не «подогревать» (золото
   запрещено). Токены и базовые классы — cr-ui.css.

   Хвост файла: секция меню-подборки на главной (.cr-home-menu*) —
   сохранена для текущего template-home.php, не трогать здесь.
   ============================================================ */

.cr-menu-page{
	/* пролог уходит под стеклянную плашку шапки: иначе над тёмной обложкой
	   оставалась светлая полоса в высоту шапки (фон body) */
	margin-top:calc(-1 * var(--cr-hdr-full,88px));
	/* локальные тона макета Меню (канон DESIGN-MAP §1.1) */
	--crm-umber:#2A231C;      /* текст на светлом */
	--crm-wood:#8A6A4B;       /* eyebrow и бейджи на светлом */
	--crm-stone:#E7E1D6;      /* светлый текст на тёмном */
	--crm-linen:#F1EBE1;      /* заголовки на тёмном */
	--crm-ember:#C2622E;      /* ховеры на тёмном */
	--crm-bordeaux:#6B2233;   /* акценты/ховеры на светлом */
	--crm-hairline:rgba(42,35,28,.14);
	--crm-hairline-dark:rgba(231,225,214,.12);
	--crm-ease:cubic-bezier(.22,.61,.36,1); /* «дорогая» кривая reveal */
}

/* ---- reveal в ритме макета: 1.15s + каскад задержек ----
   Механику (.is-in) ставит cr-ui.js; здесь только скорость/кривая. */
.cr-menu-page .cr-reveal{
	transform:translateY(14px);
	transition:opacity 1.15s var(--crm-ease),transform 1.15s var(--crm-ease);
}
.cr-menu-page .cr-reveal.is-in{opacity:1;transform:none}
.cr-menu-page .cr-rv-d1{transition-delay:.06s}
.cr-menu-page .cr-rv-d2{transition-delay:.12s}
.cr-menu-page .cr-rv-d3{transition-delay:.18s}
.cr-menu-page .cr-rv-d4{transition-delay:.24s}
.cr-menu-page .cr-rv-d5{transition-delay:.3s}

/* ---- eyebrow: 10px, трекинг .32em, линия-тире 34×1px ----
   Обычный регистр кириллицы — сознательно, вместо капса макета. */
.cr-menup-eyebrow{
	display:flex;
	align-items:center;
	gap:14px;
	margin:0;
	font-size:10px;
	font-weight:400;
	letter-spacing:.32em;
	line-height:1.6;
	color:var(--crm-wood);
}
.cr-menup-eyebrow::before{
	content:"";
	flex:none;
	width:34px;
	height:1px;
	background:rgba(138,106,75,.5);
}
.cr-menup-eyebrow--center{justify-content:center;text-align:center}
.cr-menup-eyebrow--center::after{
	content:"";
	flex:none;
	width:34px;
	height:1px;
	background:rgba(138,106,75,.5);
}

/* ============================================================
   Пролог: тёмная сцена 60svh, контент прижат к низу
   ============================================================ */
.cr-menup-hero{
	position:relative;
	min-height:60svh;
	display:flex;
	align-items:flex-end;
	overflow:hidden;
	color:var(--crm-stone);
	background:
		radial-gradient(90% 70% at 70% 78%,rgba(194,98,46,.5) 0%,rgba(194,98,46,0) 55%),
		linear-gradient(165deg,#2A231C 0%,#1d150e 55%,#16100a 100%);
	padding:clamp(110px,15vh,160px) 0 clamp(50px,7vh,80px);
}
/* фрост-вуаль макета (blur 10) */
.cr-menup-hero::before{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(231,225,214,.04);
	-webkit-backdrop-filter:blur(10px) saturate(.97);
	backdrop-filter:blur(10px) saturate(.97);
	pointer-events:none;
}
/* зерно пролога даёт общая дизер-плёнка из cr-ui.css */
.cr-menup-hero .cr-container{position:relative;z-index:1}
.cr-menup-hero__in{max-width:900px}

.cr-menup-hero .cr-menup-eyebrow{color:rgba(231,225,214,.55)}
.cr-menup-hero .cr-menup-eyebrow::before{background:rgba(231,225,214,.4)}

/* H1: w200, sheen-перелив жемчуга (stone/sand — НЕ теплить к золоту) */
.cr-menup-h1{
	margin:22px 0 0;
	font-weight:200;
	font-size:clamp(40px,6.4vw,88px);
	letter-spacing:.05em;
	line-height:1.02;
	text-wrap:balance;
	color:var(--crm-linen);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
	.cr-menup-h1{
		background:linear-gradient(112deg,#f5efe4 0%,#c9bda6 26%,#fffdf6 44%,#b3a488 62%,#ece4d2 80%,#cfc4b2 100%);
		background-size:220% 100%;
		-webkit-background-clip:text;
		background-clip:text;
		color:transparent;
		-webkit-text-stroke:1px rgba(255,255,255,.14);
		filter:drop-shadow(0 18px 40px rgba(0,0,0,.35));
		animation:crmSheen 8s linear infinite;
	}
}
@keyframes crmSheen{
	0%{background-position:0% 0}
	100%{background-position:200% 0}
}

.cr-menup-lead{
	margin:22px 0 0;
	font-weight:300;
	font-size:15.5px;
	line-height:1.85;
	color:rgba(231,225,214,.72);
	max-width:56ch;
}

/* ---- мост тьма → лён: общая рампа темы (--cr-ramp-dawn) + дизер ---- */
.cr-menup-bridge{
	height:34vh;
	min-height:220px;
	background-image:var(--cr-ramp-dawn);
}

/* ============================================================
   Визитная карточка шефа: строки с hairline (макет §5.1-3)
   ============================================================ */
.cr-menup-sig{padding:clamp(48px,7vh,80px) 0 0}
.cr-menup-sig__list{margin-top:26px}

/* шеф в лицо: портрет + короткая справка со ссылкой на его секцию */
.cr-menup-chef{
	margin-top:26px;
	display:flex;
	gap:clamp(18px,2.6vw,30px);
	align-items:flex-start;
}
.cr-menup-chef__media{flex:none;width:clamp(96px,12vw,148px);display:block}
.cr-menup-chef__frame{
	position:relative;
	margin:0;
	aspect-ratio:4/5;
	overflow:hidden;
	border-radius:var(--cr-radius-frame);
	display:flex;
	align-items:flex-end;
	justify-content:center;
	background:radial-gradient(80% 60% at 60% 26%,rgba(194,98,46,.42) 0%,rgba(194,98,46,0) 62%),
		linear-gradient(165deg,#4a3a28 0%,#2A231C 60%,#1b1611 100%);
	box-shadow:0 20px 38px -24px rgba(42,35,28,.5);
}
.cr-menup-chef__frame img{width:100%;height:100%;object-fit:cover;display:block}
.cr-menup-chef__frame .cr-ab-chef__cap{
	margin:0 0 10px;font-size:9px;letter-spacing:.2em;color:rgba(231,225,214,.5);
}
.cr-menup-chef__body{flex:1 1 auto;min-width:0}
.cr-menup-chef__name{
	margin:0;font-weight:250;font-size:clamp(19px,2.2vw,25px);
	letter-spacing:.01em;color:var(--crm-umber);
}
.cr-menup-chef__text{
	margin:10px 0 0;font-weight:300;font-size:14.5px;line-height:1.8;
	color:rgba(42,35,28,.72);max-width:56ch;
}
.cr-menup-chef .cr-menup-linebtn{margin-top:16px}

.cr-menup-sig__item{
	padding:24px 0;
	border-bottom:1px solid var(--crm-hairline);
}
.cr-menup-sig__row{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:18px;
	flex-wrap:wrap;
}
.cr-menup-sig__name{
	margin:0;
	font-weight:250;
	font-size:clamp(22px,2.6vw,30px);
	letter-spacing:.02em;
	line-height:1.15;
	color:var(--crm-umber);
}
/* бейдж времени: разреженный обычный регистр вместо капса макета */
.cr-menup-sig__badge{
	font-size:10.5px;
	font-weight:400;
	letter-spacing:.24em;
	white-space:nowrap;
	color:var(--crm-wood);
}
.cr-menup-sig__text{
	margin:10px 0 0;
	font-weight:300;
	font-size:14.5px;
	line-height:1.8;
	color:rgba(42,35,28,.62);
	max-width:60ch;
}

/* ============================================================
   Липкая навигация по главам карты
   top = высота гласс-шапки (--cr-hdr-h из cr-ui.css)
   ============================================================ */
.cr-menup-nav{
	position:sticky;
	top:var(--cr-hdr-h,0px);
	transition:top .35s ease; /* шапка прячется — полоса плавно доезжает вверх */
	z-index:40;
	margin-top:clamp(48px,7vh,80px);
	background:rgba(241,235,225,.86);
	-webkit-backdrop-filter:blur(14px) saturate(1.1);
	backdrop-filter:blur(14px) saturate(1.1);
	border-top:1px solid var(--crm-hairline);
	border-bottom:1px solid var(--crm-hairline);
}
body.admin-bar .cr-menup-nav{top:calc(var(--cr-hdr-h,0px) + 46px)}
@media (min-width:783px){
	body.admin-bar .cr-menup-nav{top:calc(var(--cr-hdr-h,0px) + 32px)}
}

/* на мобиле — горизонтальная лента без скроллбара */
.cr-menup-nav__track{
	display:flex;
	gap:clamp(18px,3vw,34px);
	padding:14px 0;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
}
.cr-menup-nav__track::-webkit-scrollbar{display:none}

.cr-menup-nav__link{
	position:relative;
	flex:none;
	padding:3px 0;
	font-size:10.5px;
	font-weight:400;
	letter-spacing:.22em;
	white-space:nowrap;
	text-decoration:none;
	color:rgba(42,35,28,.55);
	transition:color .25s ease;
}
.cr-menup-nav__link::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-3px;
	width:0;
	height:1px;
	background:currentColor;
	transition:width .35s var(--crm-ease);
}
.cr-menup-nav__link:hover{color:var(--crm-umber)}
.cr-menup-nav__link.is-active{color:var(--crm-bordeaux)}
.cr-menup-nav__link.is-active::after{width:100%}

/* ============================================================
   Карта меню: глава-категория + блюда-строки
   ============================================================ */
.cr-menup-card{padding:clamp(48px,7vh,80px) 0 0}

.cr-menup-chap{
	margin-top:40px;
	/* якорь #cat-… не прячется под шапкой и липкой навигацией */
	scroll-margin-top:calc(var(--cr-hdr-h,0px) + 76px);
}
.cr-menup-card .cr-menup-eyebrow + .cr-menup-chap{margin-top:26px}

/* шапка главы: название слева, описание категории справа (строка макета) */
.cr-menup-chap__head{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:18px;
	flex-wrap:wrap;
	padding:19px 0;
	border-bottom:1px solid rgba(42,35,28,.28);
}
.cr-menup-chap__title{
	margin:0;
	font-weight:250;
	font-size:clamp(22px,2.6vw,30px);
	letter-spacing:.02em;
	line-height:1.15;
	color:var(--crm-umber);
}
.cr-menup-chap__desc{
	margin:0;
	flex:1 1 280px;
	font-weight:300;
	font-size:14px;
	line-height:1.6;
	text-align:right;
	color:rgba(42,35,28,.58);
}

/* блюдо = строка «название · цена», hairline между */
.cr-menup-dish{
	padding:18px 0;
	border-bottom:1px solid var(--crm-hairline);
	scroll-margin-top:calc(var(--cr-hdr-h,0px) + 76px);
}
.cr-menup-dish__row{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:16px;
}
.cr-menup-dish__name{
	margin:0;
	min-width:0;
	font-weight:400;
	font-size:17px;
	letter-spacing:.01em;
	line-height:1.5;
	color:var(--crm-umber);
}
.cr-menup-dish__price{
	font-weight:300;
	font-size:15.5px;
	letter-spacing:.02em;
	line-height:1.5;
	white-space:nowrap;
	color:var(--crm-umber);
}

/* метки блюда: крошечные разреженные слова в тонах палитры */
.cr-menup-dish__tags{
	display:inline-flex;
	gap:12px;
	margin-left:12px;
	white-space:nowrap;
	vertical-align:1px;
}
.cr-menup-tag{
	font-size:9.5px;
	font-weight:400;
	letter-spacing:.2em;
}
.cr-menup-tag--veg{color:var(--cr-forest)}
.cr-menup-tag--hot{color:var(--cr-fire)}
.cr-menup-tag--season{color:var(--cr-water)}
.cr-menup-tag--new{color:var(--crm-bordeaux)}

.cr-menup-dish__desc{
	margin:7px 0 0;
	font-weight:300;
	font-size:14.5px;
	line-height:1.8;
	color:rgba(42,35,28,.62);
	max-width:60ch;
}
.cr-menup-dish__allerg{
	margin:6px 0 0;
	font-size:12px;
	font-weight:300;
	letter-spacing:.04em;
	color:rgba(42,35,28,.45);
}

/* винная глава: тихий бордо-акцент */
.cr-menup-chap--wine .cr-menup-chap__head{border-bottom-color:rgba(107,34,51,.3)}
.cr-menup-chap--wine .cr-menup-chap__title{color:var(--crm-bordeaux)}
.cr-menup-chap--wine .cr-menup-dish__price{color:var(--crm-bordeaux)}

/* примечание о сезонности/КБЖУ под картой */
.cr-menup-note{
	margin:30px 0 0;
	font-weight:300;
	font-size:14px;
	line-height:1.8;
	color:rgba(42,35,28,.6);
	max-width:64ch;
}

/* PDF-версии: кнопки-линии макета (рост линии 44→66px по Зайцу) */
.cr-menup-pdfs{
	display:flex;
	flex-wrap:wrap;
	gap:18px 38px;
	margin-top:30px;
}
.cr-menup-linebtn{
	display:inline-block;
	font-size:11px;
	font-weight:400;
	letter-spacing:.24em;
	text-decoration:none;
	color:var(--crm-umber);
	transition:color .3s ease;
}
.cr-menup-linebtn::after{
	content:"";
	display:block;
	width:44px;
	height:1px;
	margin-top:9px;
	background:currentColor;
	opacity:.6;
	transition:width .45s var(--crm-ease);
}
.cr-menup-linebtn:hover{color:var(--crm-bordeaux)}
.cr-menup-linebtn:hover::after{width:66px}

/* ---- заглушка «Меню наполняется» ---- */
.cr-menup-empty{
	text-align:center;
	padding:56px 22px;
	background:var(--cr-white);
	border:1px dashed var(--cr-sand);
	border-radius:10px;
}
.cr-menup-empty .cr-lead{max-width:520px;margin:14px auto 26px}

/* ============================================================
   Финал: градиент лён → ink в верхней половине секции,
   «Стол — по телефону», телефон-гигант, бронь
   ============================================================ */
.cr-menup-final{
	margin-top:clamp(48px,7vh,80px);
	padding:clamp(80px,12vh,140px) 0 clamp(50px,7vh,80px);
	text-align:center;
	color:var(--crm-stone);
	background-image:var(--cr-ramp-dusk-fast);
}
.cr-menup-final__in{
	position:relative;z-index:1;
	max-width:var(--cr-narrow);
	margin:0 auto;
	padding-top:12vh;
}
.cr-menup-final .cr-menup-eyebrow{color:rgba(231,225,214,.55)}
.cr-menup-final .cr-menup-eyebrow::before,
.cr-menup-final .cr-menup-eyebrow::after{background:rgba(231,225,214,.4)}

.cr-menup-final__phone{
	display:inline-block;
	margin-top:22px;
	font-weight:200;
	font-size:clamp(32px,5vw,60px);
	letter-spacing:.06em;
	line-height:1.1;
	text-decoration:none;
	color:var(--crm-linen);
	transition:color .3s ease;
}
.cr-menup-final__phone:hover{color:var(--crm-ember)}

.cr-menup-final__hours{
	margin:16px 0 0;
	font-size:11px;
	font-weight:400;
	letter-spacing:.22em;
	line-height:2.1;
	color:rgba(231,225,214,.5);
}

.cr-menup-final__cta{
	margin-top:44px;
	padding-top:26px;
	border-top:1px solid var(--crm-hairline-dark);
}
.cr-menup-final__title{
	margin:0;
	font-weight:250;
	font-size:clamp(24px,3vw,34px);
	letter-spacing:.02em;
	line-height:1.15;
	color:var(--crm-linen);
}
.cr-menup-final__text{
	margin:14px auto 24px;
	font-weight:300;
	font-size:14.5px;
	line-height:1.8;
	color:rgba(231,225,214,.65);
	max-width:56ch;
}
.cr-menup-final__legal{
	margin:36px auto 0;
	font-size:11.5px;
	font-weight:300;
	letter-spacing:.02em;
	line-height:1.7;
	color:rgba(231,225,214,.42);
	max-width:640px;
}

/* ============================================================
   Мобильная производительность и адаптив
   ============================================================ */
@media (max-width:760px){
	/* урок заглушки: полноэкранный backdrop-filter и зерно на мобиле дороги */
	.cr-menup-hero::before{-webkit-backdrop-filter:none;backdrop-filter:none}
	.cr-menup-hero::after{display:none}
	/* описание категории — под названием, слева */
	.cr-menup-chap__desc{flex-basis:100%;text-align:left}
}

/* ---- бережно к prefers-reduced-motion ---- */
@media (prefers-reduced-motion:reduce){
	.cr-menu-page .cr-reveal{opacity:1;transform:none;transition:none}
	.cr-menup-h1{animation:none}
	.cr-menup-nav__link,
	.cr-menup-nav__link::after,
	.cr-menup-linebtn,
	.cr-menup-linebtn::after,
	.cr-menup-final__phone{transition:none}
}

/* ============================================================
   Главная, секция меню-подборки (.cr-home-menu*):
   вместо фото-карусели — «страница из карты», текстовый лист.
   Заголовочная часть секции (.cr-home-head) — в cr-home.css.
   Оставлено для текущего template-home.php (владелец — другой воркер).
   ============================================================ */

.cr-home-menu{--cr-wine:#5E2B38}

.cr-home-menu__sheet{
	position:relative;
	max-width:680px;
	margin:0 auto;
	background:var(--cr-white);
	border:1px solid var(--cr-line);
	border-radius:16px;
	padding:28px 20px 26px;
	box-shadow:0 28px 60px -48px rgba(58,46,36,.45);
}
.cr-home-menu__sheet::after{
	content:"";
	position:absolute;
	inset:8px;
	border:1px solid rgba(207,196,178,.35);
	border-radius:10px;
	pointer-events:none;
}
@media (min-width:640px){
	.cr-home-menu__sheet{padding:38px 44px 34px}
}
@media (min-width:900px){
	.cr-home-menu__sheet{padding:46px 56px 40px}
}

.cr-home-menu__eyebrow{
	margin:0 0 22px;
	text-align:center;
	font-size:.66rem;
	font-weight:400;
	letter-spacing:.22em;
	text-transform:none;
	color:var(--cr-fire);
}

.cr-home-menu__list{margin:0;padding:0;list-style:none}
.cr-home-menu__item + .cr-home-menu__item{margin-top:16px}
@media (min-width:900px){
	.cr-home-menu__item + .cr-home-menu__item{margin-top:18px}
}

.cr-home-menu__row{
	display:flex;
	align-items:flex-end;
	gap:10px;
	color:var(--cr-ink);
	text-decoration:none;
}
.cr-home-menu__name{
	min-width:0;
	font-size:1rem;
	font-weight:400;
	letter-spacing:.01em;
	line-height:1.45;
	transition:color .25s ease;
}
.cr-home-menu__row:hover .cr-home-menu__name{color:var(--cr-bordeaux)}
.cr-home-menu__dots{
	flex:1 1 28px;
	min-width:28px;
	height:2px;
	margin-bottom:.44em;
	background-image:radial-gradient(circle, var(--cr-sand) 1px, rgba(0,0,0,0) 1.4px);
	background-size:8px 2px;
	background-position:left bottom;
	background-repeat:repeat-x;
}
.cr-home-menu__price{
	font-size:.98rem;
	font-weight:400;
	font-variant-numeric:tabular-nums;
	letter-spacing:.02em;
	line-height:1.45;
	white-space:nowrap;
	color:var(--cr-ink);
}
.cr-home-menu__cat{
	margin:3px 0 0;
	font-size:.64rem;
	font-weight:400;
	letter-spacing:.16em;
	text-transform:none;
	color:var(--cr-ink-soft);
}

.cr-home-menu__sheetnote{
	margin:26px auto 0;
	max-width:46ch;
	text-align:center;
	font-family:var(--cr-serif);
	font-style:italic;
	font-size:.9rem;
	line-height:1.6;
	color:var(--cr-ink-soft);
}

.cr-home-menu__more{margin-top:30px;text-align:center}

@media (prefers-reduced-motion: reduce){
	.cr-home-menu__name{transition:none}
}
