/* Shared storefront controls. This file intentionally loads after page styles. */
:root{--control-height:50px;--control-radius:12px;--control-font:400 15px/1.4 var(--body)}
.menu-section>.section-heading{align-items:center;gap:24px;margin-bottom:32px}
.menu-section>.section-heading .menu-tools{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:12px;align-items:stretch}
.menu-tools #menu-sort,.menu-tools .search{height:var(--control-height);min-height:var(--control-height);max-height:var(--control-height);width:100%;max-width:none;margin:0;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);box-sizing:border-box;font:var(--control-font);color:var(--ink)}
.menu-tools #menu-sort{padding:0 14px 0 16px;cursor:pointer}
.menu-tools .search{padding:0 16px;display:flex;align-items:center;gap:10px}
.menu-tools .search svg{flex:0 0 20px;width:20px;height:20px;color:var(--muted)}
.menu-tools .search input{height:100%;padding:0;margin:0;border:0;background:none;font:var(--control-font);color:var(--ink);outline:none}
.menu-tools .search input::placeholder{color:var(--muted);opacity:1}
.menu-tools .search:focus-within,.menu-tools #menu-sort:focus-visible{border-color:var(--action);outline:2px solid var(--action);outline-offset:3px}
.menu-tools #menu-sort:hover,.menu-tools .search:hover{border-color:var(--muted)}
#no-results:not([hidden]){margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--muted);line-height:1.6}
button.primary,a.primary,.cart-trigger{min-height:var(--control-height);border-radius:var(--control-radius);font:600 15px/1.4 var(--body)}
.product-title{line-height:1.25}.product-desc{line-height:1.6}.weight{line-height:1.5}.detail-copy p{line-height:1.65}.detail-copy .allergen{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font:400 12px/1.65 var(--body);color:var(--muted)}
#checkout-form input:not([type=radio]):not([type=checkbox]),#checkout-form select{height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);font:var(--control-font);padding:0 14px}
#checkout-form textarea{border-radius:var(--control-radius);font:var(--control-font);padding:14px;min-height:100px;resize:vertical}
#checkout-form label{font-family:var(--body);line-height:1.5}.choice-switch label>span{font:600 14px/1.4 var(--body)}.remove-item,.continue-shopping{min-height:44px}.breadcrumbs{line-height:1.6}
@media(max-width:1100px){.menu-section>.section-heading .menu-tools{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;flex-basis:100%}}
@media(max-width:700px){:root{--control-font:400 16px/1.4 var(--body)}.menu-section>.section-heading{gap:18px;margin-bottom:26px}.menu-section>.section-heading .menu-tools{grid-template-columns:minmax(0,1fr);gap:10px}.menu-tools .search{grid-row:1}.menu-tools #menu-sort{grid-row:2}.choice-switch label>span{font-size:14px}.checkout-dialog .dialog-heading{gap:16px}.checkout-dialog .dialog-heading h2{line-height:1.2}.full-product .detail-copy{padding:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


/* Location marker, shared by the catalog and product page. */
.location::before{content:none}
.location-icon{width:19px;height:19px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Hero: balanced copy, production grill and current branch conditions. */
.hero{grid-template-columns:1fr 1fr;padding-block:24px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:38px 40px}
.hero h1{font-size:clamp(34px,3.5vw,54px);line-height:1.08;letter-spacing:-1.6px;margin:0;max-width:600px;text-wrap:balance}
.hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:20px}
.hero-copy>p{font-size:15px;line-height:1.65;margin:20px 0 24px;max-width:480px}
.hero-copy>.primary{gap:20px;padding-inline:24px}
.hero-copy>.primary::after{content:'→';font-size:21px;font-weight:400}
.hero-note{display:block;margin-top:15px;max-width:460px;font-size:12px;line-height:1.6}
.hero-image{aspect-ratio:auto;min-height:440px}
.hero-image>img{object-position:54% center}
.hero-facts{display:flex;flex-wrap:wrap;gap:18px 32px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;width:100%}
.hero-fact{display:grid;gap:6px}
.hero-fact>span{font:400 12px/1.4 var(--body);color:var(--muted)}
.hero-fact>strong{font:700 19px/1.2 var(--heading);color:var(--ink)}
@media(max-width:1050px) and (min-width:701px){.hero-copy{padding:28px}.hero h1{font-size:36px}.hero-facts{gap:16px}.hero-image>img{object-position:45% center}}
@media(max-width:700px){.hero{grid-template-columns:1fr;padding:16px;gap:0}.hero-copy{padding:26px 24px}.hero h1{font-size:clamp(32px,8.5vw,44px);letter-spacing:-1px;max-width:500px;text-wrap:initial}.hero .eyebrow{font-size:9px;margin-bottom:16px}.hero-copy>p{font-size:14px;margin:16px 0 20px}.hero-note{display:block;font-size:11px;margin-top:13px}.hero-facts{margin-top:20px;padding-top:17px;gap:18px 25px}.hero-fact>span{font-size:11px}.hero-fact>strong{font-size:18px}.hero-image{min-height:0;aspect-ratio:4/3}.hero-image>img{object-position:center}}

/* Header navigation follows the rounded brand typography. */
.header .desktop-nav a,.mobile-navigation a{font-family:var(--heading);font-weight:800;font-size:17px;line-height:1.35;letter-spacing:0}
.header .location{font-family:var(--heading);font-weight:800;font-size:16px;line-height:1.35;letter-spacing:0;white-space:nowrap;gap:9px}
.header .desktop-nav a:hover,.mobile-navigation a:hover{color:var(--action)}
@media(max-width:1050px){.header .desktop-nav{gap:20px}.header .desktop-nav a{font-size:16px}}
@media(max-width:700px){.mobile-navigation{gap:24px}.mobile-navigation a{font-size:15px;min-height:32px}}

.night-dialog{width:min(460px,calc(100vw - 32px));padding:26px 30px 30px;text-align:center;border:0;border-radius:24px;background:var(--cream);color:var(--ink);max-height:calc(100dvh - 32px);overflow:auto}
.night-dialog::backdrop{background:rgb(27 23 21 / .55);backdrop-filter:blur(4px)}
.night-dialog .close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;font:400 28px/1 var(--body);padding:0}
.night-mascot{display:block;width:100%;height:235px;object-fit:contain;margin:8px auto 16px}
.night-dialog h2{font:800 32px/1.1 var(--heading);margin:0 0 12px}
.night-subtitle{font:800 18px/1.4 var(--heading);color:var(--action)}
.night-dialog p{font:400 14px/1.6 var(--body);color:var(--muted);margin:14px 0 22px}
.night-dialog .primary{width:100%;justify-content:center}.payment-section select{width:100%;border:1px solid var(--line);background:var(--paper);padding-inline:14px}
.preorder-notice{padding:12px 15px;background:var(--cream);border-left:3px solid var(--action);font-size:13px;line-height:1.5}
@media(max-width:500px){.night-dialog{padding:20px 22px 24px}.night-mascot{height:190px}.night-dialog h2{font-size:28px}}

/* Мобильная кнопка звонка рядом с языком, без дополнительной строки. */
.header-call{display:none}
@media(max-width:700px){
 .header-call{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;color:var(--action);border-radius:50%}
 .header-call svg{width:22px;height:22px;flex:none}
 .header-call:hover{background:var(--line)}
 .header-right{gap:6px}
}

.mobile-menu-toggle{display:none}
.mobile-site-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(340px,88vw);max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0 20px 20px 0;padding:24px 20px;background:var(--cream);color:var(--ink);box-shadow:8px 0 40px #0002}
.mobile-site-menu::backdrop{background:rgb(0 0 0 / .4)}
.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.mobile-menu-heading h2{font:800 24px/1.2 var(--heading);letter-spacing:0}
.mobile-menu-close{width:44px;height:44px;border-radius:50%;background:transparent;font:400 32px/1 var(--body)}
.mobile-site-menu nav{display:grid;gap:8px;padding-top:20px}
.mobile-site-menu nav a{display:flex;align-items:center;min-height:56px;padding:12px 16px;border-radius:12px;font:700 18px/1.35 var(--heading)}
.mobile-site-menu nav a[aria-current=page]{background:var(--ink);color:var(--cream)}
.mobile-site-menu nav a:hover:not([aria-current]){background:var(--line)}
html.mobile-menu-open{overflow:hidden}
@media(max-width:700px){
 .mobile-navigation{display:none}
 .header{gap:6px;padding-inline:12px}
 .header .brand img{width:52px;height:60px}
 .header-right{gap:2px}
 .header-call{width:40px}
 .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:44px;flex:none;padding:0;background:transparent;border-radius:8px}
 .mobile-menu-toggle svg{width:22px;height:22px}
 .header .cart-trigger{padding:10px 8px;gap:6px}
}

/* Компактные инструменты каталога: сортировка и раскрываемый поиск. */
.menu-section>.section-heading{display:block;margin:14px 0 18px}
.menu-section>.section-heading>div:first-child:not(.menu-tools){display:none}
.menu-section>.section-heading .menu-tools{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;width:min(100%,420px);margin-left:auto}
.menu-tools #menu-sort{grid-row:1;grid-column:1;min-width:0;height:44px;min-height:44px;max-height:44px;padding-block:8px;font-size:14px}
.search-toggle{grid-row:1;grid-column:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.search-toggle svg{width:21px;height:21px}
.search-toggle.is-open svg circle{display:none}
.search-toggle.is-open svg path{d:path('M6 6L18 18M18 6L6 18')}
.menu-tools .search[hidden]{display:none}
.menu-section>.section-heading .menu-tools .search:not([hidden]){display:flex;grid-row:2;grid-column:1 / -1;height:44px;min-height:44px;max-height:44px;margin:0}
.menu-tools .search input{font-size:16px;min-width:0}
@media(max-width:700px){.menu-section>.section-heading{margin:10px 0 14px}.menu-section>.section-heading .menu-tools{width:100%}}

/* На телефоне единая навигация в боковом меню вместо второй обрезанной ленты. */
@media(max-width:700px){
 .information-page #page-nav{display:none}
 .information-page .header #home-link{display:none}
 .information-page .info-layout{display:block;min-width:0}
 .information-page .info-article{min-width:0;width:100%}
}

.preview-bar{font-size:12px;position:sticky;top:0;z-index:45}.product .weight{font-size:12px}.product-desc{font-size:14px}.eyebrow{font-size:12px}.preview-note{font-size:13px}.mobile-menu-city{font-size:14px}.mobile-site-menu nav a{font-size:16px}#toast{z-index:10000}@media(max-width:600px){.header .brand img{width:76px;height:76px;object-fit:contain}.header{min-height:90px}.hero .eyebrow{font-size:12px}.product-desc{font-size:13px}.product .weight{font-size:12px}}

.hero-illustration{position:absolute;bottom:8px;left:12px;background:#fff;padding:4px 8px;font-size:12px;border-radius:4px}.hero-image{position:relative}

/* No reserved header gap after the mobile header scrolls away. */
.header{top:var(--preview-height,0px)}
.category-bar{top:calc(var(--preview-height,0px) + var(--sticky-header-height,0px))}
@media(max-width:600px){.header{top:auto}}

@media(max-width:600px){.location{display:inline-flex!important;font-size:12px!important;position:absolute;bottom:3px;left:50%;transform:translateX(-50%);white-space:nowrap}.header{position:relative;padding-bottom:18px}.preview-bar{line-height:1.35}}

.header-wordmark{display:none}#locale{display:none}@media(max-width:600px){.header .brand{display:flex;align-items:center;gap:4px}.header .brand img{width:54px!important;height:62px!important}.header-wordmark{display:block;font:800 20px Nunito,sans-serif;white-space:nowrap;color:var(--ink)}.header-right{gap:8px!important}.header{min-height:84px}}
@media(max-width:600px){.header .brand img{width:45px!important;height:58px!important}.header-wordmark{font-size:18px}.header-right{gap:6px!important}.header .cart-trigger{width:40px!important;min-width:40px!important;max-width:40px;padding:0!important;position:relative}.header .cart-trigger b{position:absolute;right:-4px;top:-4px}.header .cart-trigger>span{display:none}}
