/* Сайт Bzzz Sushi. Тот же мир, что в приложении (тёмный фон, Prata + Onest), но ярче:
   золото стало мёдом, у акций свой цвет — как икра тобико, у «всё хорошо» — васаби. Главный образ — соты на первом экране. */
:root{
  --night:#0C0A07; --comb:#16130D; --comb-2:#221C12; --line:#2F2718; --line-2:#463A23; --dim:#8F846D;
  --cream:#FBF1DE; --sand:#BDB199;
  --honey:#FFBE2E; --honey-2:#FFD36B; --honey-ink:#1E1503;
  --tobiko:#FF6A3D; --tobiko-2:#FF9470; --wasabi:#B5DC5E;
  --f-display:"Prata",Georgia,"Times New Roman",serif;
  --f-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bar-h:72px; --strip-h:0px; --top-h:calc(var(--bar-h) + var(--strip-h)); --gutter:clamp(16px,3vw,40px); --ease:cubic-bezier(.2,.8,.2,1);
  --hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--top-h) + 70px);-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--night);color:var(--cream);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;font-variant-numeric:tabular-nums}
body.has-bar{padding-bottom:84px}
img,svg{display:block}
img{max-width:100%}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
a{color:inherit}
::selection{background:var(--honey);color:var(--honey-ink)}
input,textarea{caret-color:var(--honey)}
:focus-visible{outline:3px solid var(--honey-2);outline-offset:2px}
html{scrollbar-color:var(--line) var(--night)}
.ic{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.skip{position:absolute;left:-999px;top:8px;z-index:90;background:var(--honey);color:var(--honey-ink);padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{left:8px}

/* кнопки: одна главная форма на весь сайт */
.primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 24px;border-radius:14px;background:var(--honey);color:var(--honey-ink);font-weight:800;font-size:17px;text-decoration:none;text-align:center;transition:background-color .15s,transform .15s var(--ease)}
.primary:hover{background:var(--honey-2)}
.primary:active{transform:scale(.98)}
.primary:disabled{opacity:.6;cursor:progress}
.ghost{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 22px;border-radius:14px;border:1.5px solid var(--line);font-weight:700;color:var(--cream);text-decoration:none;transition:border-color .15s,color .15s}
.ghost:hover{border-color:var(--honey);color:var(--honey-2)}

/* шапка */
.top{position:sticky;top:0;z-index:30;height:var(--bar-h);display:flex;align-items:center;gap:16px;padding-inline:var(--gutter);background:var(--night);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-size:24px;color:var(--honey);white-space:nowrap}
.logo-bee{width:34px;height:27px;color:var(--honey)}
.status{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sand);white-space:nowrap}
.status::before{content:"";width:9px;height:10px;background:var(--tobiko);clip-path:var(--hex)}
.status.is-open{color:var(--wasabi)}
.status.is-open::before{background:var(--wasabi)}
.lang{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:12px;padding:3px}
.lang button{min-width:42px;min-height:36px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--sand)}
.lang button:hover{color:var(--cream)}
.lang button[aria-pressed="true"]{background:var(--comb-2);color:var(--honey-2)}
.top-cart{display:none;align-items:center;gap:9px;min-height:44px;padding:0 16px;border-radius:12px;background:var(--honey);color:var(--honey-ink);font-weight:800}
.top-cart:hover{background:var(--honey-2)}
.count{display:inline-grid;place-items:center;min-width:27px;height:30px;padding-inline:5px;font-size:13.5px;font-weight:800;background:var(--honey-ink);color:var(--honey-2);clip-path:var(--hex)}

/* лента разделов */
.rail{position:sticky;top:var(--top-h);z-index:20;background:var(--night);border-block:1px solid var(--line);padding:10px var(--gutter)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;max-width:1480px;margin-inline:auto}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;border-radius:12px;font-weight:600;font-size:15px;color:var(--sand);transition:background-color .15s,color .15s}
.chip:hover{color:var(--cream);background:var(--comb)}
.chip[aria-pressed="true"]{background:var(--honey);color:var(--honey-ink)}
.chip .ic{width:18px;height:18px}
.chip.hot{color:var(--tobiko-2)}
.chip.hot[aria-pressed="true"]{background:var(--tobiko);color:#1C0A03}

/* магазин: меню + корзина сбоку */
.shop{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;max-width:1560px;margin-inline:auto;padding:0 var(--gutter) 64px}
.side{display:none}
.section{padding-top:36px}
.section h2{display:flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.15;margin-bottom:18px;color:var(--cream)}
.section h2::before{content:"";flex:none;width:.5em;height:.57em;background:var(--honey);clip-path:var(--hex)}
.deals h2{color:var(--tobiko-2)}
.deals h2::before{display:none}
.deals h2 .ic{width:30px;height:30px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid.wide{grid-template-columns:minmax(0,1fr)}

/* карточка блюда */
.card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--comb);border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--line);transition:box-shadow .15s}
.card.promo{box-shadow:0 0 0 1.5px rgba(255,106,61,.65)}
.card.in-cart{box-shadow:0 0 0 2px var(--honey)}
.ph{position:relative;display:block;width:100%;aspect-ratio:4/3;background:#000;overflow:hidden}
/* На части фото вверху остался тонкий след от обрезки: слегка увеличиваем от низа, чтобы он ушёл за край. */
.ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);transform-origin:50% 72%;transition:transform .35s var(--ease)}
.ph:hover img{transform:scale(1.2)}
.wide .ph{aspect-ratio:16/9}
.badge{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:62px;height:70px;font-size:17px;font-weight:800;background:var(--tobiko);color:#1C0A03;clip-path:var(--hex)}
.badge .ic{width:26px;height:26px}
.body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;padding:12px}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tag{font-size:12px;font-weight:700;padding:2px 8px;border-radius:7px;background:var(--comb-2);color:var(--honey-2)}
.tag.hot{background:rgba(255,106,61,.18);color:var(--tobiko-2)}
.body h3{font-family:var(--f-display);font-weight:400;font-size:20px;line-height:1.18}
.body h3 button{text-align:left;font:inherit}
.body h3 button:hover{color:var(--honey-2)}
.desc{font-size:14px;line-height:1.4;color:var(--sand);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.offer{font-size:14px;font-weight:700;color:var(--tobiko-2);line-height:1.3}
.w{font-size:13px;color:var(--sand)}
.row{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.price{font-weight:800;font-size:21px;line-height:1.1;color:var(--honey-2);white-space:nowrap}
.price.sale{color:var(--tobiko-2)}
.price s{font-size:14px;font-weight:600;color:var(--sand);margin-left:4px}
.add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 12px;border-radius:12px;background:var(--honey);color:var(--honey-ink);font-weight:800;transition:background-color .15s,transform .12s}
.add:hover{background:var(--honey-2)}
.add:active,.step button:active{transform:scale(.95)}
.add .ic{width:19px;height:19px;stroke-width:2.6}
.step{display:flex;align-items:center;justify-content:space-between;min-height:46px;border-radius:12px;background:var(--comb-2)}
.step button{display:grid;place-items:center;width:46px;height:46px;color:var(--honey-2);border-radius:12px}
.step button:hover{background:var(--line)}
.step .ic{stroke-width:2.6}
.step span{min-width:24px;text-align:center;font-weight:800;font-size:17px}
.soldout{display:block;text-align:center;padding:12px;border-radius:12px;font-size:14px;font-weight:700;color:var(--sand);background:var(--comb-2)}
.card.off .ph img{filter:grayscale(.9) brightness(.55)}
[data-slot]{display:block}

/* панель корзины */
.panel{background:var(--comb);border-radius:20px;padding:18px;box-shadow:0 0 0 1px var(--line)}
.panel-h{font-family:var(--f-display);font-weight:400;font-size:26px;margin-bottom:12px}
.lines{display:grid;gap:14px}
.line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start}
.thumb{width:56px;height:64px;object-fit:cover;background:var(--comb-2);clip-path:var(--hex);display:grid;place-items:center;color:var(--honey-2)}
.line .n{display:grid;gap:3px;min-width:0}
.line b{font-weight:600;font-size:15px;line-height:1.25}
.line small{font-size:13px;color:var(--sand)}
.line small.offer{color:var(--tobiko-2);font-weight:700}
.line.free small{color:var(--wasabi);font-weight:600}
.line .r{display:grid;justify-items:end;font-size:15px}
.line .r s{font-size:13px;color:var(--sand)}
.line .step{margin-top:4px;width:112px;min-height:36px}
.line .step button{width:36px;height:36px}
.line .step .ic{width:17px;height:17px}
.line .step span{font-size:15px}
.sum{display:grid;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:15px}
.sum>div{display:flex;justify-content:space-between;gap:12px}
.sum em{font-style:normal;color:var(--sand);text-align:right}
.sum .disc{color:var(--wasabi)}
.sum .total{align-items:baseline;font-weight:700;font-size:18px;margin-top:4px}
.sum .total span:last-child{font-weight:800;font-size:26px;color:var(--honey-2)}
.saved{margin-top:4px;padding:9px 12px;border-radius:10px;background:rgba(255,106,61,.13);color:var(--tobiko-2);font-weight:600;font-size:14.5px;text-align:center}
.saved b{color:var(--cream)}
.panel .primary{margin-top:14px;width:100%}
.empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:24px 12px;color:var(--sand)}
.empty .ic{width:40px;height:40px;color:var(--honey);stroke-width:1.5}
.empty h2{font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--cream)}
.empty .ghost{margin-top:10px}

/* кнопка корзины внизу на телефоне */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--night);border-top:1px solid var(--line)}
.bar button{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;padding:0 16px;border-radius:14px;background:var(--honey);color:var(--honey-ink);font-weight:800;font-size:17px}
.bar strong{margin-left:auto;font-weight:800;font-size:19px}

/* окна */
.dlg{padding:0;border:0;background:var(--comb);color:var(--cream);border-radius:22px;max-width:min(860px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.65)}
.dlg::backdrop{background:rgba(8,6,3,.72)}
.dlg[open]{animation:rise .24s var(--ease)}
@keyframes rise{from{transform:translateY(18px);opacity:.4}to{transform:none;opacity:1}}
.x{position:sticky;top:10px;float:right;margin:10px 10px -54px 0;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--night);color:var(--cream)}
.x:hover{color:var(--honey-2)}
#dishBody{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.dish-img{position:relative;background:#000;min-height:320px}
.dish-img img{width:100%;height:100%;object-fit:cover}
.dish-text{display:flex;flex-direction:column;gap:10px;padding:24px}
.dish-text h2{font-family:var(--f-display);font-weight:400;font-size:32px;line-height:1.12;padding-right:40px}
.dish-text p{color:var(--sand)}
.dish-text .offer{color:var(--tobiko-2)}
.dish-text .price{font-size:28px}
.sheet{max-width:520px;padding:18px}
#cartDlgBody .panel-h{padding-right:50px}

/* оформление */
.co-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;max-width:1160px;margin-inline:auto;padding:20px var(--gutter) 0}
.back{display:flex;align-items:center;gap:6px;min-height:44px;font-weight:600;color:var(--sand);text-decoration:none}
.back:hover{color:var(--honey-2)}
.stepper{list-style:none;display:flex;gap:6px;margin:0 0 0 auto;padding:0}
.stepper li,.stepper a{display:flex;align-items:center;gap:8px;color:var(--sand);font-weight:600;font-size:15px;text-decoration:none}
.stepper li+li::before{content:"";width:26px;height:2px;background:var(--line);margin-right:6px}
.stepper .dot{display:grid;place-items:center;width:32px;height:36px;font-weight:800;font-size:14px;background:var(--comb-2);clip-path:var(--hex)}
.stepper .dot .ic{width:16px;height:16px;stroke-width:3}
.stepper .is-now{color:var(--cream)}
.stepper .is-now .dot{background:var(--honey);color:var(--honey-ink)}
.stepper .is-done .dot{background:var(--wasabi);color:#172003}
.stepper a:hover .lab{color:var(--honey-2)}
.co{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;max-width:1160px;margin-inline:auto;padding:12px var(--gutter) 64px}
.step-count{display:none;color:var(--sand);font-size:14px;font-weight:600}
#stepBody{display:grid;gap:18px}
#stepBody h1{font-family:var(--f-display);font-weight:400;font-size:clamp(28px,4vw,40px);line-height:1.15;outline:none;text-wrap:balance}
.choice{display:grid;gap:10px}
.choice.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt{display:grid;justify-items:start;align-content:start;gap:3px;min-height:104px;padding:14px;border-radius:16px;text-align:left;background:var(--comb);box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .15s,background-color .15s}
.opt{position:relative}
.opt:hover:not(:disabled):not([aria-checked="true"]){box-shadow:inset 0 0 0 1.5px var(--honey-2)}
.opt .ic{width:28px;height:28px;color:var(--honey);margin-bottom:6px}
.opt b{font-weight:700;font-size:17px;line-height:1.2}
.opt small{font-size:14px;line-height:1.3;color:var(--sand)}
.opt[aria-checked="true"]{background:var(--comb-2);box-shadow:inset 0 0 0 3px var(--honey)}
.opt[aria-checked="true"]::after{content:"";position:absolute;right:12px;top:12px;width:24px;height:27px;clip-path:var(--hex);
  background:var(--honey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1503' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.opt:disabled{opacity:.45;cursor:not-allowed}
.f{display:grid;gap:6px;min-width:0}
.f label,.lab2{font-weight:600;font-size:15px}
.f label i{font-style:normal;font-weight:500;color:var(--sand);font-size:13.5px}
input,textarea{width:100%;min-height:54px;padding:13px 14px;font:inherit;font-size:17px;color:var(--cream);background:var(--comb);border:1.5px solid var(--line);border-radius:13px;transition:border-color .15s}
input:hover,textarea:hover{border-color:#57472C}
input:focus,textarea:focus{outline:none;border-color:var(--honey)}
input::placeholder,textarea::placeholder{color:#94896F}
textarea{resize:vertical;min-height:84px}
input.err{border-color:var(--tobiko)}
.ferr,.step-err{color:var(--tobiko-2);font-weight:600;font-size:15px}
.step-err{padding:12px 14px;border-radius:12px;background:rgba(255,106,61,.13)}
.hint{font-size:14px;line-height:1.35;color:var(--sand)}
.pair{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px}
#addrRes{display:grid;gap:10px}
#addrRes:empty{display:none}
.found,.pickup{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-radius:13px;background:rgba(181,220,94,.1)}
.found .ic,.pickup .ic{color:var(--wasabi)}
.found b,.pickup b{font-weight:600;display:block}
.found em{display:block;font-style:normal;color:var(--wasabi);font-weight:700}
.pickup{text-decoration:none;background:var(--comb);box-shadow:inset 0 0 0 1.5px var(--line)}
.pickup:hover{box-shadow:inset 0 0 0 1.5px var(--honey)}
.pickup small{display:block;color:var(--sand);font-size:14px}
.pickup em{display:block;font-style:normal;margin-top:2px;color:var(--honey-2);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.warn{padding:12px 14px;border-radius:12px;background:rgba(255,190,46,.12);color:var(--honey-2);font-size:15px;font-weight:500}
.note{font-size:14.5px;color:var(--sand)}
.picker{display:grid;gap:10px;margin-top:12px}
.days,.times{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.days button,.times button{flex:none;min-height:44px;padding:0 15px;border-radius:12px;font-weight:600;color:var(--sand);background:var(--comb)}
.days button:hover,.times button:hover{color:var(--cream)}
.days button[aria-pressed="true"]{background:var(--comb-2);color:var(--honey-2);box-shadow:inset 0 0 0 1.5px var(--honey)}
.times button[aria-pressed="true"]{background:var(--honey);color:var(--honey-ink);font-weight:800}
.promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.promo-ok{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;border-radius:13px;background:rgba(181,220,94,.1);color:var(--wasabi);font-weight:700}
.promo-ok button{color:var(--sand);font-weight:600;text-decoration:underline;text-underline-offset:3px;min-height:32px}
.co-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:22px}
.co-actions .primary{flex:1;max-width:360px;min-height:58px}
.sticky-total{display:none}

/* готово */
.done{display:grid;justify-items:center;gap:12px;max-width:560px;margin-inline:auto;padding:56px var(--gutter) 72px;text-align:center}
.done-mark{display:grid;place-items:center;width:96px;height:110px;background:var(--wasabi);color:#172003;clip-path:var(--hex);margin-bottom:8px}
.done-mark .ic{width:44px;height:44px;stroke-width:3}
.done h1{font-family:var(--f-display);font-weight:400;font-size:40px;line-height:1.15;outline:none}
.done-num{font-weight:700;font-size:19px;color:var(--honey-2)}
.done p{color:var(--sand)}
.done .done-num{color:var(--honey-2)}
.done p:empty{display:none}
.done .primary{margin-top:14px;min-width:240px}
.done .ghost{min-width:240px;min-height:48px}
.done p a{color:var(--honey-2)}
.done-mark.off{background:var(--sand)}
.track-time{font-size:21px;font-weight:600;line-height:1.3}
.done .track-time{color:var(--cream)}
.track-warn{padding:10px 14px;border-radius:12px;background:var(--comb-2)}
.done .track-warn{color:var(--cream)}
.track-steps{list-style:none;display:grid;width:min(100%,320px);margin:8px 0;padding:0;text-align:left}
.track-steps li{position:relative;display:flex;align-items:center;gap:12px;min-height:40px;color:var(--sand)}
.track-steps i{flex:none;width:20px;height:23px;background:var(--comb-2);clip-path:var(--hex)}
.track-steps li:not(:last-child)::after{content:"";position:absolute;left:9px;top:30px;width:2px;height:20px;background:var(--line)}
.track-steps .past i{background:var(--wasabi)}
.track-steps .past:not(:last-child)::after{background:var(--wasabi)}
.track-steps .now i{background:var(--honey)}
.track-steps .now{color:var(--cream);font-weight:600}
.track-items{width:100%;margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;text-align:left}
.track-items h2{margin-bottom:8px;font-size:15px;font-weight:600;color:var(--cream)}
.track-items ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.track-items li{display:flex;justify-content:space-between;gap:12px;color:var(--sand)}
.track-items b{flex:none;font-weight:600;color:var(--cream)}
.track-hint{margin-top:10px;font-size:14px}
.track-link{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--comb-2);color:var(--cream);font:inherit;font-size:14px}
/* Полоса «Ваш заказ»: под шапкой и прилипает вместе с ней. Высота входит в --top-h, поэтому меню и якоря сдвигаются сами. */
:root.has-order-strip{--strip-h:46px}
.order-strip{position:sticky;top:var(--bar-h);z-index:29;display:flex;align-items:center;justify-content:center;gap:12px;height:var(--strip-h);padding-inline:var(--gutter);background:linear-gradient(90deg,rgba(255,190,46,.2),rgba(255,190,46,.08) 50%,rgba(255,190,46,.2)),var(--night);border-bottom:1px solid rgba(255,190,46,.45);color:var(--cream);font-size:14px;text-decoration:none}
.order-strip[hidden]{display:none}
.order-strip .ic{flex:none;width:30px;height:24px;color:var(--honey);fill:none;stroke:none}
.strip-text{display:flex;align-items:baseline;gap:10px;min-width:0}
.strip-text b{font-weight:600;color:var(--honey-2)}
.strip-go{font-size:22px;line-height:1;color:var(--honey)}
.order-strip:focus-visible{outline:2px solid var(--honey);outline-offset:-3px}
@media(hover:hover) and (pointer:fine){.order-strip:hover b{text-decoration:underline}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* подвал */
.foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding:36px var(--gutter);border-top:1px solid var(--line);max-width:1560px;margin-inline:auto;font-size:15px;color:var(--sand)}
.foot h2{font-family:var(--f-display);font-weight:400;font-size:21px;color:var(--cream);margin-bottom:8px}
.hours{margin:0;display:grid;gap:2px;max-width:220px}
.hours div{display:flex;justify-content:space-between;gap:16px}
.hours dd{margin:0}
.foot-brand{display:grid;justify-items:start;align-content:start;gap:2px}
.foot-brand .ic{width:40px;height:32px;color:var(--honey);fill:none;stroke:none}
.foot-brand b{font-family:var(--f-display);font-weight:400;font-size:21px;color:var(--honey)}
body:not([data-screen="menu"]) .foot,body:not([data-screen="menu"]) .top-cart{display:none}

.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px;background:var(--comb-2);color:var(--cream);font-weight:600;box-shadow:0 12px 34px rgba(0,0,0,.55)}
.flybee{position:fixed;z-index:70;width:28px;height:28px;color:var(--honey);pointer-events:none}
.flybee .ic{width:28px;height:28px;fill:none;stroke:none}

.skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:36px}
.skeleton div{height:320px;border-radius:18px;background:linear-gradient(100deg,var(--comb) 30%,var(--comb-2) 50%,var(--comb) 70%);background-size:300% 100%}
@media (prefers-reduced-motion:no-preference){.skeleton div{animation:shine 1.4s linear infinite}@keyframes shine{from{background-position:100% 0}to{background-position:-50% 0}}}
@media (prefers-reduced-motion:reduce){.dlg[open]{animation:none}.ph img,.cell img{transition:none}}

/* планшет и шире */
@media (min-width:700px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skeleton{grid-template-columns:repeat(3,minmax(0,1fr))}
  .body{padding:14px}
  .row{flex-direction:row;align-items:center;justify-content:space-between}
  [data-slot]{min-width:0}
  .add{width:auto;padding-inline:16px}
  .step{width:128px}
}
/* компьютер: корзина всегда видна сбоку, нижней кнопки нет */
@media (min-width:1100px){
  .shop{grid-template-columns:minmax(0,1fr) 360px}
  .co{grid-template-columns:minmax(0,1fr) 380px}
  .side{display:block;position:sticky;top:calc(var(--top-h) + 76px);align-self:start;margin-top:36px;max-height:calc(100dvh - var(--top-h) - 96px);overflow:auto;border-radius:20px}
  .co-side{top:calc(var(--top-h) + 20px);margin-top:12px}
  .top-cart{display:flex}
  .bar{display:none}
  body.has-bar{padding-bottom:0}
}
@media (min-width:1100px) and (max-width:1340px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.wide{grid-template-columns:minmax(0,1fr)}
}
/* телефон: соты — зигзагом на всю ширину, чтобы меню было видно сразу */
@media (max-width:760px){
  :root.has-order-strip{--strip-h:58px}
  .order-strip{justify-content:flex-start;font-size:13px}
  .strip-text{flex-direction:column;align-items:flex-start;gap:1px}
  .strip-go{margin-left:auto}
  .top{gap:10px}
  .logo{font-size:20px}
  .logo-bee{width:28px;height:22px}
  .top .status{display:none}
  .status.in-hero{display:flex}
  .lang button{min-width:38px}
  .hero{grid-template-columns:minmax(0,1fr);gap:14px;padding-block:18px 8px}
  .hero h1{font-size:44px}
  .motto{font-size:19px;margin-top:4px}
  .lead{margin-top:8px;font-size:15.5px}
  .hero-btns{display:none}
  .comb{--w:min(24vw,100px);--g:2px;height:calc(var(--h)*1.82);min-height:0;margin-inline:calc(var(--gutter)*-1)}
  .c0{--x:-1.5;--y:-.5}.c1{--x:-1;--y:.5}.c2{--x:-.5;--y:-.5}.c3{--x:0;--y:.5}.c4{--x:.5;--y:-.5}.c5{--x:1;--y:.5}.c6{--x:1.5;--y:-.5}
  .section{padding-top:28px}
  #dishBody{grid-template-columns:minmax(0,1fr)}
  .dish-img{min-height:0;aspect-ratio:4/3}
  .dish-text{padding:18px}
  .dish-text h2{font-size:27px;padding-right:0}
  .dlg{max-width:100vw;width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
  .co-head{padding-top:10px}
  .stepper{margin:0;width:100%;justify-content:space-between}
  .stepper .lab{display:none}
  .stepper .is-now .lab{display:inline}
  .stepper li{flex:none}
  .stepper li+li::before{width:16px}
  .co{padding-bottom:110px}
  .step-count{display:none}
  .co-actions{position:fixed;left:0;right:0;bottom:0;z-index:25;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--night);border-top:1px solid var(--line)}
  .co-actions .primary{max-width:none}
  .sticky-total{display:grid;gap:0;flex:none;font-size:13px;line-height:1.2;color:var(--sand)}
  .sticky-total strong{font-size:20px;color:var(--honey-2);font-weight:800}
  .co-side{display:block;position:static;margin-top:8px;max-height:none}
  .choice.three{grid-template-columns:minmax(0,1fr)}
  .choice.three .opt{min-height:0}
}
@media (max-width:360px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .choice.two{grid-template-columns:minmax(0,1fr)}
  .opt{min-height:0}
}
/* Brand direction: a small studio theatre above a compact, readable menu. */
:root{--gutter:clamp(18px,3.4vw,52px)}
.top{max-width:1600px;margin:auto}.logo{font-size:22px}.lang button{min-height:44px}
.hero{max-width:1440px;min-height:510px;padding-block:34px;gap:12px;grid-template-columns:1fr 1.1fr}
.hero-place{color:var(--sand);font-size:14px;margin-bottom:24px}.hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.14;color:var(--cream);max-width:9ch;letter-spacing:-.025em}.lead{font-size:15px;line-height:1.7;max-width:36ch;margin-top:22px}.hero-btns{margin-top:26px}.primary,.ghost{font-size:14px;min-height:46px;border-radius:28px;padding:11px 22px}.ghost{border-color:var(--line-2)}
.stage{position:relative;min-width:0;height:430px;background:radial-gradient(ellipse at 50% 52%,#47321838,transparent 66%)}.orbit{position:absolute;inset:0;width:100%;height:100%;color:#ad7f2f;transform:rotate(-12deg)}.scene{position:absolute;inset:0;pointer-events:none}.scene canvas{width:100%;height:100%;display:block}.poster{position:absolute;inset:0;pointer-events:none;container-type:size;transition:opacity 240ms var(--ease)}.poster img{position:absolute;left:50%;top:50%;height:100%;width:auto;max-width:none;transform:translate(-50%,-50%)}@supports(width:1cqh){.poster img{width:min(100cqh,92.55cqw);height:auto}}.stage.is-live .poster{opacity:0}.scene-control{position:absolute;right:10px;bottom:4px;min-height:44px;color:var(--sand);font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:24px}
.rail{padding-block:7px}.chip{border-radius:24px;min-height:44px;font-size:13px}.menu-tools{max-width:1440px;margin:24px auto 0;padding-inline:var(--gutter);display:flex;align-items:center;gap:18px}.menu-tools label{font-size:14px;white-space:nowrap}.menu-tools input{max-width:310px;min-height:44px;font-size:14px;border-radius:24px}.menu-tools span{font-size:13px;color:var(--sand)}
.shop{max-width:1440px;gap:28px}.section{padding-top:30px}.section h2{font-size:30px;gap:10px;margin-bottom:20px}.section h2::before{width:8px;height:9px}.grid{gap:20px}.card{background:transparent;box-shadow:none;border-radius:0;overflow:visible;border-bottom:1px solid var(--line);padding-bottom:18px}.card.in-cart{box-shadow:none;border-color:var(--honey)}.card.promo{box-shadow:none}.ph{border-radius:14px;background:var(--comb);aspect-ratio:1.35}.ph img{mix-blend-mode:lighten;mask-image:radial-gradient(ellipse 64% 67% at 50% 52%,#000 40%,transparent 95%);object-fit:contain;transform:scale(1)}.ph:hover img{transform:scale(1.04)}.body{padding:14px 0 0;gap:7px}.body h3{font-size:20px}.body h3 button{min-height:44px}.desc{font-size:13px;line-height:1.6}.w{font-size:12px;color:var(--sand)}.row{flex-direction:row;align-items:center;gap:8px}.row>[data-slot]{margin-left:auto;min-width:100px}.price{font-size:18px}.add{border-radius:24px;background:var(--comb-2);color:var(--honey-2);font-size:13px;border:1px solid var(--line-2);min-height:44px}.add:hover{color:var(--honey-ink)}.step{border-radius:24px}.badge{width:auto;height:auto;min-height:30px;padding:5px 12px;clip-path:none;border-radius:20px;font-size:13px}.panel{border-radius:18px;padding:20px;box-shadow:none;border:1px solid var(--line)}.panel-h{font-size:23px}.empty{padding:24px 0}.empty h2{font-size:20px}.empty p{font-size:13px}.line .step button{width:44px;height:44px}.line .step{width:120px}.opt{min-height:104px;border-radius:14px}.co{padding-top:26px}.foot{border-top:1px solid var(--line)}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.top-cart{display:flex}.shop{grid-template-columns:minmax(0,1fr) 290px}.side{display:block}.side .panel{position:sticky;top:150px}.wide .ph{aspect-ratio:1.65}}
@media(min-width:1500px){.hero{min-height:560px}.stage{height:470px}}
@media(max-width:700px){:root{--bar-h:64px}.top{gap:8px}.logo{font-size:19px;gap:6px}.logo-bee{width:27px}.lang{padding:0}.lang button{min-width:34px}.hero{min-height:0;grid-template-columns:1fr;padding-top:28px;gap:0}.hero-place{margin-bottom:14px;font-size:12px}.hero h1{font-size:40px;max-width:12ch}.lead{margin-top:16px;font-size:14px;max-width:34ch}.hero-btns{margin-top:18px;gap:8px}.stage{height:240px;margin-top:8px}.menu-tools{flex-wrap:wrap;gap:8px;margin-top:18px}.menu-tools label{width:100%;font-size:13px}.menu-tools input{max-width:none}.section h2{font-size:27px}.grid{gap:14px}.body h3{font-size:17px}.row{flex-wrap:wrap}.row>[data-slot]{width:100%;margin-left:0}.desc{font-size:12px}.panel{padding:16px}.hero .status.in-hero{display:flex}.scene-control{font-size:11px;bottom:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:700px){.hero{position:relative;min-height:410px;padding-bottom:16px}.hero h1{font-size:36px;max-width:11ch}.hero-btns{display:flex}.stage{height:190px;margin-top:0}.hero-place{margin-bottom:10px}.hero .lead{max-width:33ch}.hero .primary{min-height:44px}.hero .hero-btns{margin-top:14px}.status.in-hero{margin-top:12px}.menu-tools{margin-top:16px}}
.hero{position:relative;display:grid;align-items:center;padding-inline:var(--gutter);margin-inline:auto;overflow:clip}.hero h1{font-family:var(--f-display);font-weight:400}.hero-btns{display:flex;flex-wrap:wrap;gap:12px}.status.in-hero{display:none}.scene-control{right:var(--gutter);bottom:12px}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr)}.hero .status.in-hero{display:flex}.hero{padding-bottom:50px}.scene-control{bottom:8px}}
@media(prefers-reduced-motion:no-preference){
 #stepBody{animation:step-open .25s var(--ease)}
 .done-mark{animation:accepted .7s var(--ease)}
 @supports(animation-timeline:view()){
  .section h2{animation:heading-in linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  .foot-brand .ic{animation:bee-home linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
 }
}
@keyframes step-open{from{opacity:.3;transform:translateX(10px)}to{opacity:1;transform:none}}
@keyframes accepted{0%{transform:scale(.8) rotate(-15deg)}65%{transform:scale(1.08) rotate(8deg)}100%{transform:none}}
@keyframes wingbeat{to{transform:scaleY(.8)}}
@keyframes heading-in{from{opacity:.45;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes bee-home{from{transform:translate(-50px,-20px) rotate(-20deg)}to{transform:none}}

@media(max-width:700px){.lang button{min-width:44px}}
.flybee img{position:absolute;width:30px;height:22px;object-fit:contain;top:22px;left:0;mix-blend-mode:lighten}.done-mark .ic{fill:none;stroke:none;color:var(--honey);width:48px;height:42px}

/* Широкие заголовки Onest — решение Максима. Prata остаётся только в подвале. */
h1,h2,h3,.panel-h,.empty h2,.dish-text h2,#stepBody h1,.done h1{
  font-family:var(--f-body);
  font-weight:600;
  letter-spacing:-.035em;
}
.hero{
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  column-gap:36px;
}
.hero h1{
  font-family:var(--f-body);
  font-weight:600;
  font-size:clamp(40px,4.5vw,64px);
  line-height:1.06;
  letter-spacing:-.055em;
  max-width:13ch;
  text-wrap:balance;
}
.section h2{font-family:var(--f-body);font-weight:500;letter-spacing:-.035em}
.body h3{font-family:var(--f-body);font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.025em}
.panel-h,.empty h2{font-weight:500;letter-spacing:-.03em}
@media(max-width:900px) and (min-width:701px){
  .hero{column-gap:18px}
  .hero h1{font-size:44px}
}
@media(max-width:700px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero h1{font-size:40px;max-width:13ch;letter-spacing:-.05em}
  .body h3{font-size:16px;letter-spacing:-.02em}
}
/* Two scales of type and small ingredient annotations give the hero its own rhythm. */
.hero{min-height:500px;column-gap:22px;padding-block:20px 30px}
.hero-place{display:flex;align-items:center;gap:10px;margin-bottom:23px}
.hero-place::before{content:"";width:19px;height:22px;flex:none;clip-path:var(--hex);background:var(--honey)}
.hero h1.hero-title{display:flex;flex-direction:column;gap:0;max-width:none;letter-spacing:-.055em;line-height:1}
.title-major{font-size:clamp(81px,9.15vw,131px);font-weight:600;letter-spacing:-.07em;line-height:.84;color:var(--cream)}
.title-minor{font-size:clamp(58px,6.44vw,91px);font-weight:500;letter-spacing:-.05em;line-height:.98;margin-top:-.04em;color:var(--honey)}
.stage{height:450px}
.stage .orbit{transform:rotate(-12deg) scale(.96)}
.scene-guides{position:absolute;inset:0;width:100%;height:100%;color:var(--line-2);pointer-events:none}
.ingredient{position:absolute;color:var(--sand);font-size:12px;letter-spacing:.01em}
.ingredient-rice{left:11%;top:15%}.ingredient-salmon{right:8%;top:21%}.ingredient-avocado{left:20%;bottom:12%}.ingredient-cucumber{right:21%;bottom:12%}
.scene-signature{position:absolute;right:6%;bottom:8%;width:66px;height:76px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;clip-path:var(--hex);background:var(--comb-2);color:var(--honey-2);font-size:12px;transform:rotate(10deg)}
.scene-signature svg{width:30px;height:24px}
@media(min-width:1500px){.hero{min-height:520px}}
@media(max-width:900px) and (min-width:701px){.title-major{font-size:clamp(78px,10.9vw,85px)}.title-minor{font-size:clamp(54px,7.5vw,60px)}.stage{height:390px}.ingredient{font-size:11px}.scene-signature{right:0}}
@media(max-width:700px){
 .hero{min-height:0;padding-top:20px;padding-bottom:50px}
 .hero-place{font-size:12px;margin-bottom:14px}.hero-place::before{width:13px;height:15px}
 .title-major{font-size:clamp(72px,20.7vw,92px);letter-spacing:-.065em}
 .title-minor{font-size:clamp(49px,14.43vw,61px)}
 .stage{height:225px;margin-top:4px}.ingredient{font-size:11px}
 .ingredient-rice{left:6%;top:12%}.ingredient-salmon{right:3%;top:18%}.ingredient-avocado{left:10%;bottom:9%}.ingredient-cucumber{right:17%;bottom:9%}
 .scene-signature{width:48px;height:55px;right:0;bottom:6%;font-size:10px}.scene-signature svg{width:23px;height:18px}
}

/* A compact brand marker and a focused headline-to-action rhythm. */
.top .logo{display:grid;place-items:center;flex:none;width:44px;min-height:44px;border-radius:50%}
.hero-text .hero-btns{margin-top:28px}
@media(max-width:700px){.hero-text .hero-btns{margin-top:18px}.hero .status.in-hero{margin-top:17px}}

/* A single local signature while a genuinely slow hero starts; never a curtain. */
.hero-arrival{position:absolute;right:8%;bottom:8%;width:180px;height:70px;color:var(--honey-2);pointer-events:none;animation:arrival-fade 900ms var(--ease) both}
.arrival-trail{position:absolute;inset:0;width:100%;height:100%;opacity:0;animation:arrival-ink 900ms var(--ease) both}
.arrival-bee{position:absolute;left:0;top:0;width:23px;height:18px;animation:arrival-arc 900ms cubic-bezier(.77,0,.175,1) both}
@keyframes arrival-arc{0%{opacity:0;transform:translate(0,50px) rotate(-25deg)}15%{opacity:.8}50%{transform:translate(65px,0) rotate(0)}80%{opacity:.8}100%{opacity:0;transform:translate(153px,23px) rotate(18deg)}}
@keyframes arrival-ink{15%,85%{opacity:0}40%,60%{opacity:.3}}
@keyframes arrival-fade{0%,100%{opacity:0}15%,80%{opacity:1}}
.stage.is-live .hero-arrival{display:none}
@media(max-width:700px){.hero-arrival{right:2%;bottom:3%;transform:scale(.75);transform-origin:right bottom}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.hero-arrival{display:none}}
/* Keep the final hero/menu geometry while store information is still arriving. */
.hero-btns .primary{min-height:46px}
.hero-btns #heroDeals[hidden]{display:inline-flex!important;visibility:hidden}
.rail{min-height:60px}
@media(max-width:700px){.hero #heroStatus{min-height:21px}.hero #heroStatus[hidden]{display:flex!important;visibility:hidden}}

/* A lost context cannot crossfade: restore the decoded poster immediately. */
.stage[data-fallback] .poster{transition:none}

/* Соусы, палочки, напитки и десерты в корзине */
.extras{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);min-width:0}
.extras h3{font-family:var(--f-body);font-weight:600;font-size:14px;letter-spacing:0;color:var(--sand)}
.x-list{display:grid}
.x-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:10px;row-gap:1px;align-items:center;padding:7px 0}
.x-row+.x-row{border-top:1px solid var(--line)}
.x-row>img{width:36px;height:36px;border-radius:8px;object-fit:cover;background:var(--comb-2)}
.x-row.off>img{opacity:.45}
.x-n{display:grid;gap:1px;min-width:0}
/* Подпись на всю ширину под названием и кнопками: в узкой боковой корзине она не ломается по словам. */
.x-row>.x-n{display:contents}
.x-row>img{grid-row:1/3}
.x-row>.x-n small{grid-column:2/4;grid-row:2}
.x-row>.x-step{grid-column:3;grid-row:1}
.x-n b{font-weight:600;font-size:14px;line-height:1.25}
.x-n small{font-size:12px;line-height:1.35;color:var(--sand)}
.x-free{color:var(--wasabi)}
.x-step{min-height:36px;border-radius:10px}
.x-step button{width:34px;height:36px;border-radius:10px}
.x-step button:disabled{opacity:.4;cursor:default}
.x-step button:disabled:hover{background:none}
.x-step .ic{width:15px;height:15px}
.x-step span{min-width:20px;font-size:14px}
.x-pills{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.x-pills::-webkit-scrollbar{display:none}
.x-pill{flex:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 6px 4px 4px;border:1px solid var(--line);border-radius:12px;background:var(--comb-2);text-align:left}
.x-pill:hover{border-color:var(--honey)}
.x-pill.on{border-color:var(--honey)}
.x-pill img{width:34px;height:34px;border-radius:8px;object-fit:cover}
.x-pill .x-n b,.x-pill .x-n small{white-space:nowrap}
.x-pill .x-n b{font-size:13px}
.x-plus{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:8px;background:var(--honey);color:var(--honey-ink);font-weight:800;font-size:13px}
.x-pill.on .x-plus{background:transparent;color:var(--honey-2)}
@media (pointer:coarse){.x-step button{width:44px;height:44px}.x-step{min-height:44px}}
/* Итог и кнопка заказа всегда видны, даже если список длинный. */
.cart-foot{position:sticky;bottom:0;z-index:1;display:grid;gap:12px;margin-top:4px;padding-bottom:2px;background:var(--comb)}
#cartDlgBody .panel-h{margin-bottom:24px}

/* Окно блюда: снимок целиком, без обрезки. Снимки на чёрном фоне, поэтому lighten и мягкие края
   растворяют прямоугольник в панели, и блюдо лежит прямо на ней. */
.dish-img{display:grid;place-items:center;min-height:340px;padding:22px 8px 22px 22px;background:none;isolation:isolate}
.dish-img img{width:100%;height:auto;max-height:min(60vh,440px);object-fit:contain;mix-blend-mode:lighten;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.dish-text{justify-content:center}
@media (max-width:760px){
  .dish-img{min-height:0;aspect-ratio:auto;padding:52px 12px 0}
  .dish-img img{max-height:44vh}
}

/* Главная кнопка в окне блюда — медовая. */
.dish-text .add{background:var(--honey);color:var(--honey-ink);border:0;font-weight:800}
.dish-text .add:hover{background:var(--honey-2)}
/* Заголовок корзины стоит на месте, а список уходит под него: крестик не закрывает цены. */
#cartDlgBody .panel-h{position:sticky;top:-18px;z-index:1;margin:-18px -18px 14px;padding:18px 64px 12px 18px;background:var(--comb);border-bottom:1px solid var(--line)}

/* Правовая строка внизу и страницы документов */
.foot-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;justify-content:space-between;margin-top:4px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--dim,#8F846D)}
.foot-allergens{flex-basis:100%;color:var(--cream)}
.foot-legal .foot-allergens a{padding:6px 0;color:var(--honey-2);text-decoration:underline}
.foot-legal nav{display:flex;flex-wrap:wrap;gap:4px 16px}
.foot-legal a{color:var(--sand);text-decoration:none;padding:6px 0}
.foot-legal a:hover{color:var(--honey-2);text-decoration:underline}
.legal{max-width:760px;margin-inline:auto;padding:28px var(--gutter) 64px}
.legal h1{font-size:clamp(30px,5vw,44px);line-height:1.15;margin:20px 0 8px;outline:none}
.legal .legal-date{font-size:13px;color:var(--sand);margin-bottom:28px}
.legal h2{font-size:22px;line-height:1.25;margin:30px 0 10px}
.legal p,.legal li{color:var(--sand);font-size:16px;line-height:1.6}
.legal p+p{margin-top:12px}
.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}
.legal nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
.legal nav a{color:var(--honey-2);padding:6px 0}
/* Три колонки на всю ширину: строка реквизитов растянута, поэтому auto-fit их не растягивает. */
@media (min-width:761px){.foot{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Карточка на всю строку: последнее блюдо в разделе не оставляет рядом чёрную пустоту. */
#menu .card.row-fill{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-items:center}
#menu .card.row-fill .ph{aspect-ratio:1.5}
#menu .card.row-fill .body{padding:12px 12px 8px 0;align-self:stretch;justify-content:center}
#menu .card.row-fill .row{margin-top:8px}
#menu .card.row-fill .desc{-webkit-line-clamp:4}
@media(max-width:700px){
  #menu .card.row-fill{column-gap:12px}
  #menu .card.row-fill .ph{aspect-ratio:1.3}
  #menu .card.row-fill .body{padding:8px 8px 8px 0}
}

/* Когда корзина пуста, в боковой колонке — полезные данные заведения. */
.side-info{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--sand);text-align:left;justify-items:stretch;width:100%}
.side-info div{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start}
.side-info .ic{width:18px;height:18px;margin-top:2px;color:var(--honey);stroke-width:1.8}
.side-info b{display:block;font-weight:600;color:var(--cream)}
.side-info a{color:inherit}
.side-info a:hover{color:var(--honey-2)}
.terms-note{margin-top:16px;font-size:13px;line-height:1.5;color:var(--sand)}
.terms-note a{color:var(--honey-2)}
#menu .grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}
#menu .grid.six>.card{grid-column:span 2}
#menu .grid.six>.card.half{grid-column:span 3}
#menu .grid.six>.card.half .ph{aspect-ratio:2}

/* Название соуса в корзине открывает его карточку */
.x-name{font:inherit;color:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.x-name:hover{color:var(--honey-2)}

