:root{--accent:#f20d18;--bg:#050505;--card:#202020;--card2:#292929;--text:#f7f7f7;--muted:#999;--line:#2a2a2a}*{box-sizing:border-box}html{scroll-behavior:auto;background:#000}body{margin:0;background:#000;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}.app{width:100%;max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:78px;background:#050505;position:relative}.statusAccent{height:5px;background:var(--accent);position:sticky;top:0;z-index:60}.topbar{height:84px;display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;padding:8px 16px;background:#050505;position:sticky;top:5px;z-index:55;border-bottom:1px solid #252525}.menuBtn,.profileBtn{border:0;background:none;color:#fff}.menuBtn{width:44px;display:grid;gap:5px;padding:7px 2px}.menuBtn span{display:block;height:3px;border-radius:4px;background:#ddd}.profileBtn{font-size:20px;color:var(--accent);padding:0}.brand{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;padding:0 4px}.brand b{font-size:clamp(20px,5.4vw,25px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.brandmark{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:22px;font-weight:900;overflow:hidden;border:3px solid #fff}.brandmark img{width:100%;height:100%;object-fit:cover}.workline{text-align:center;color:#8f8f94;font-size:12px;padding:7px 16px 10px;background:#050505}.categoryDock{position:sticky;top:89px;z-index:50;background:#050505;display:flex;align-items:center;border-bottom:1px solid #242424;padding:8px 12px}.searchIcon{flex:0 0 44px;width:44px;height:40px;border:0;background:none;position:relative}.searchIcon:before{content:"";position:absolute;width:18px;height:18px;border:3px solid var(--accent);border-radius:50%;left:7px;top:7px}.searchIcon:after{content:"";position:absolute;width:12px;height:3px;background:var(--accent);transform:rotate(45deg);left:24px;top:26px;border-radius:2px}.categories{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;padding-right:10px}.categories::-webkit-scrollbar{display:none}.category{border:0;background:none;color:#d7d7d7;font-weight:800;font-size:16px;white-space:nowrap;padding:10px 0;position:relative}.category.active{color:#fff}.category.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--accent);border-radius:3px}.heroSlider{padding:14px 14px 6px}.heroCard{height:260px;border-radius:22px;overflow:hidden;position:relative;background:radial-gradient(circle at 82% 55%,#83191e 0,#321517 34%,#141414 75%);box-shadow:0 14px 38px #000}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#111 0,rgba(15,15,15,.9) 48%,transparent 78%)}.heroCopy{position:relative;z-index:2;padding:24px 20px;max-width:68%}.heroCopy span{font-weight:900;letter-spacing:.12em;color:#bbb;font-size:10px}.heroCopy h1{font-size:clamp(30px,8vw,38px);line-height:.98;margin:13px 0 10px;text-transform:uppercase;letter-spacing:-.02em}.heroCopy p{color:#ccc;font-size:13px;line-height:1.3;margin:0}.heroCopy button{margin-top:15px;border:0;background:var(--accent);color:#fff;font-weight:900;border-radius:9px;padding:11px 15px;font-size:13px}.heroFood{position:absolute;right:14px;bottom:28px;font-size:76px;filter:drop-shadow(0 15px 14px #000);transform:rotate(-7deg)}.sliderDots{display:flex;justify-content:center;gap:8px;padding:12px}.sliderDots i{width:7px;height:7px;border-radius:50%;background:#484848}.sliderDots .active{background:var(--accent)}.promoRail,.popularRail{display:flex;gap:12px;overflow-x:auto;padding:8px 14px 16px;scrollbar-width:none}.promoRail::-webkit-scrollbar,.popularRail::-webkit-scrollbar{display:none}.promoRail article{flex:0 0 138px;height:120px;border:3px solid var(--accent);border-radius:24px;background:linear-gradient(145deg,#2d1214,#121212);padding:16px;display:flex;flex-direction:column;justify-content:flex-end}.promoRail b{font-size:22px}.promoRail span{font-size:11px;color:#ddd;margin-top:5px}.infoStrip{margin:2px 14px 18px;border:1px solid #282828;border-radius:18px;background:#131313;display:grid;grid-template-columns:repeat(3,1fr);padding:13px 3px}.infoStrip div{text-align:center;border-right:1px solid #303030}.infoStrip div:last-child{border-right:0}.infoStrip b{display:block;font-size:13px}.infoStrip span{display:block;font-size:9px;color:#8f8f94;margin-top:4px;line-height:1.2}.section{padding:10px 0 2px}.sectionHead{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.sectionHead h2{font-size:25px;margin:5px 0 13px}.clear{border:0;background:none;color:var(--accent);font-weight:800}.popularCard{flex:0 0 264px;height:142px;background:#222;border-radius:20px;padding:12px;display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center}.popularImage,.productImage,.modalVisual{background:linear-gradient(135deg,#191919,#303030);display:grid;place-items:center;overflow:hidden}.popularImage{height:118px;border-radius:13px;font-size:48px}.popularImage img,.productImage img,.modalVisual img{width:100%;height:100%;object-fit:cover}.popularCard h3{font-size:16px;margin:0 0 12px;line-height:1.2}.popularCard b{font-size:20px}.categoryBlock{padding:2px 14px 15px}.categoryTitle{font-size:25px;margin:10px 2px 14px}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{background:#1e1e1e;border-radius:18px;overflow:hidden;min-width:0;position:relative}.productImage{height:145px;font-size:54px}.productBadge{position:absolute;left:8px;top:8px;background:var(--accent);color:#fff;padding:4px 8px;border-radius:8px;font-size:9px;font-weight:900}.productBody{padding:11px}.product h3{margin:0 0 6px;font-size:15px;line-height:1.18}.product p{margin:0;color:#939393;font-size:11px;line-height:1.3;min-height:29px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.productMeta{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:8px}.productPrice b{font-size:17px}.productPrice span{display:block;font-size:9px;color:#888;margin-top:2px}.addButton{width:36px;height:36px;border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:22px}.quickControlSlot{display:flex;align-items:center;justify-content:flex-end}.quickControlSlot--meta{min-width:34px;min-height:34px;flex:0 0 auto}.quickControlSlot--overlay{position:absolute;right:7px;bottom:7px;z-index:6}.quickQtyControl{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 2px;border-radius:999px;background:rgba(255,255,255,.97);border:1px solid rgba(0,0,0,.08);box-shadow:0 5px 14px rgba(0,0,0,.24);color:#111;overflow:hidden}.quickQtyBtn{border:0;background:transparent;color:#111;width:30px;height:34px;padding:0;display:grid;place-items:center;font-size:22px;font-weight:900;line-height:1}.quickQtyCount{display:grid;place-items:center;min-width:22px;padding:0 2px;font-size:15px;font-weight:900;line-height:1}.quickQtyControl--popular,.quickQtyControl--recommend{min-height:34px}.quickQtyControl--popular .quickQtyBtn,.quickQtyControl--recommend .quickQtyBtn{width:28px;height:32px;font-size:20px}.quickQtyControl--popular .quickQtyCount,.quickQtyControl--recommend .quickQtyCount{font-size:14px}.recommendImage .productServingsBadge{top:7px;bottom:auto;left:7px}.recommendImage .quickControlSlot--overlay{right:7px;bottom:7px}.recommendImage .quickQtyControl{max-width:92px}.recommendCard .quickQtyControl{background:rgba(255,255,255,.98)}#productModal .sheetClose{position:absolute!important;right:12px!important;top:12px!important;left:auto!important}.multibrandRestaurant .productImage .quickControlSlot--overlay{right:8px!important;bottom:8px!important}.multibrandRestaurant .productMeta>.quickControlSlot{display:none!important}@media(max-width:390px){.quickQtyControl{min-height:34px}.quickQtyBtn{width:28px;height:32px;font-size:20px}.quickQtyCount{font-size:14px}.quickControlSlot--overlay{right:6px;bottom:6px}}.floatingCart{position:fixed;z-index:70;right:max(16px,calc((100vw - 480px)/2 + 16px));bottom:84px;width:64px;height:64px;border:0;border-radius:50%;background:#202020;color:var(--accent);box-shadow:0 12px 30px #000;border:1px solid #333;font-size:24px}.floatingCart b{position:absolute;right:-2px;top:-4px;width:25px;height:25px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;display:grid;place-items:center}.floatingCart strong{display:none}.bottomNav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:60;width:min(480px,100%);height:72px;background:rgba(12,12,12,.97);backdrop-filter:blur(18px);border-top:1px solid #282828;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottomNav button{border:0;background:none;color:#818187;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottomNav i{font-style:normal;font-size:20px}.bottomNav span{font-size:10px}.bottomNav .active{color:var(--accent)}.hidden{display:none!important}.empty{text-align:center;padding:35px 15px}.empty div{font-size:45px}.empty b{display:block;margin-top:10px}.empty span{font-size:12px;color:#888}.drawerOverlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:89;opacity:0;pointer-events:none;transition:.25s}.drawerOverlay.open{opacity:1;pointer-events:auto}.sideDrawer{position:fixed;z-index:90;left:0;top:0;bottom:0;width:min(84vw,360px);background:#fff;color:#111;transform:translateX(-102%);transition:.28s ease;overflow-y:auto;padding:22px 20px 28px;box-shadow:18px 0 45px rgba(0,0,0,.35)}.sideDrawer.open{transform:translateX(0)}.drawerTop{display:grid;grid-template-columns:46px 1fr 34px;gap:12px;align-items:center;margin:8px 0 22px}.drawerAvatar{font-size:34px}.drawerUser{font-size:21px;font-weight:900}.drawerHint{font-size:11px;color:#777;margin-top:2px}.drawerClose{border:0;background:none;font-size:32px;color:#111}.bonusCard{background:var(--accent);color:#fff;border-radius:20px;padding:18px;margin-bottom:20px;box-shadow:0 10px 25px rgba(242,13,24,.2)}.bonusCard>div{display:flex;align-items:center;gap:10px}.bonusCard>div span{width:34px;height:34px;background:#fff;color:var(--accent);border-radius:50%;display:grid;place-items:center;font-weight:900}.bonusCard b{font-size:20px}.bonusCard p{font-size:17px;font-weight:900;margin:14px 0 4px}.bonusCard small{opacity:.8}.drawerNav{display:grid;gap:4px}.drawerNav button{border:0;background:none;text-align:left;padding:13px 2px;font-size:18px;font-weight:800;display:flex;align-items:center;gap:12px;color:#111}.drawerNavSmall button{font-size:15px;justify-content:space-between}.drawerRestaurant{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:18px 0;margin:14px 0}.drawerRestaurant b{display:block;color:var(--accent);font-size:19px}.drawerRestaurant span{display:block;color:#666;font-size:13px;margin-top:3px}.drawerSectionTitle{color:var(--accent);font-weight:900;margin:18px 0 6px}.drawerContact{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-top:16px;padding:18px 0}.drawerContact span{display:block;color:#777;font-size:12px}.drawerContact b{display:block;margin-top:7px;font-size:18px}.drawerFooter{margin-top:24px;color:#777;font-size:12px}.sheet{border:0;padding:0;background:transparent;max-width:none;width:100%}.sheet::backdrop{background:rgba(0,0,0,.72)}.sheetCard{width:min(480px,100%);margin:auto;background:#181818;color:#fff;border-radius:26px 26px 0 0;padding:20px;position:fixed;left:50%;transform:translateX(-50%);bottom:0;max-height:88vh;overflow:auto}.sheetClose{position:absolute;right:14px;top:10px;border:0;background:#2b2b2b;color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px}.modalVisual{height:250px;border-radius:18px;font-size:80px}.modalTitle{font-size:25px;margin:18px 0 8px}.modalDesc{color:#aaa}.modalFoot{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.modalPrice{font-size:24px;font-weight:900}.primary{border:0;background:var(--accent);color:#fff;padding:13px 18px;border-radius:12px;font-weight:900}.full{width:100%}.cartTitle{font-size:25px;margin:0 0 16px}.cartItem{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #303030}.cartThumb{width:58px;height:58px;border-radius:12px;overflow:hidden;background:#292929;display:grid;place-items:center}.cartThumb img{width:100%;height:100%;object-fit:cover}.cartItem small{display:block;color:#888;margin-top:4px}.qty{display:flex;align-items:center;gap:7px}.qty button{width:29px;height:29px;border:0;border-radius:50%;background:#303030;color:#fff}.summary{padding:15px 0}.summaryRow{display:flex;justify-content:space-between;margin:8px 0}.summaryRow.total{font-size:19px}.checkout{display:grid;gap:12px}.checkout label{display:grid;gap:6px;font-size:12px;color:#aaa}.checkout input,.checkout select,.checkout textarea{width:100%;border:1px solid #363636;background:#222;color:#fff;padding:12px;border-radius:10px}.typeSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.typeSwitch button{padding:11px;border:1px solid #363636;background:#222;color:#fff;border-radius:10px}.typeSwitch button.active{background:var(--accent);border-color:var(--accent)}.success{text-align:center}.successIcon{width:70px;height:70px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:10px auto;font-size:34px}.toast{position:fixed;z-index:100;left:50%;bottom:92px;transform:translate(-50%,20px);background:#fff;color:#111;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:80%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:360px){.brand b{font-size:19px}.brandmark{width:46px;height:46px;flex-basis:46px}.topbar{grid-template-columns:42px minmax(0,1fr) 28px;padding-inline:12px}.category{font-size:15px}.heroCard{height:238px}.heroCopy{padding:20px 16px;max-width:70%}.heroCopy h1{font-size:28px}.heroFood{font-size:65px}.products{gap:9px}.productImage{height:128px}.productBody{padding:9px}.product h3{font-size:14px}.promoRail article{flex-basis:128px;height:112px}}

/* Client checkout v2 */
.clearCart{display:block;margin:14px 0 4px auto;border:0;background:none;color:#ddd;text-decoration:underline;font-size:14px}.checkoutNext,.checkoutSubmit{font-size:17px;padding:17px;border-radius:18px}.backToCart{border:0;background:none;color:#bbb;padding:0 0 14px;font-weight:700}.checkoutModern{gap:15px}.checkoutModern label{font-size:14px}.checkoutModern input,.checkoutModern select,.checkoutModern textarea{padding:15px;border-radius:14px;font-size:16px}.timeSelect{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid #363636;background:#222;color:#fff;border-radius:14px;text-align:left}.timeSelect span{font-size:26px;color:#aaa}.summary.compact{border-top:1px solid #303030;border-bottom:1px solid #303030}.checkoutSectionTitle{margin:8px 0 0}.paymentList{display:grid;gap:10px}.payOption{display:flex!important;align-items:center;gap:12px;border:1px solid #383838;background:#232323;padding:15px;border-radius:16px;color:#fff!important;font-size:16px!important}.payOption:has(input:checked){border:2px solid var(--accent)}.payOption input{width:20px!important;height:20px;accent-color:var(--accent);padding:0!important}.switchRow{display:flex!important;align-items:center;gap:12px;color:#fff!important;font-size:16px!important}.switchRow input{width:22px!important;height:22px;padding:0!important;accent-color:var(--accent)}.timePicker{padding-top:4px}.timeHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeHead h2{font-size:25px}.timeHead button{border:0;background:none;color:#fff;font-size:40px}.asapButton{width:100%;padding:14px;border:1px solid #444;border-radius:14px;background:#222;color:#fff;margin-bottom:14px}.asapButton.selected{border-color:var(--accent);color:var(--accent)}.dayTabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.dayTabs button{border:0;border-radius:18px;background:#2a2a2a;color:#fff;padding:13px 4px;display:grid;gap:4px}.dayTabs button.active{background:#050505}.dayTabs b{text-transform:lowercase}.dayTabs span{font-size:20px}.timeSlots{display:grid;gap:9px;max-height:48vh;overflow:auto;margin-bottom:16px}.timeSlots label{display:block}.timeSlots input{position:absolute;opacity:0}.timeSlots span{display:block;padding:17px 16px;border:1px solid #3d3d3d;border-radius:16px;font-weight:800}.timeSlots input:checked+span{border:2px solid var(--accent);color:var(--accent)}.profileHint{color:#999;line-height:1.4}.profileSheet{padding-bottom:36px}
.optionGroup{margin:18px 0}.optionGroup h3{font-size:18px;margin:0 0 10px}.optionRow{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:14px 12px;border:1px solid #383838;border-radius:14px;margin-bottom:9px;background:#202020}.optionRow:has(input:checked){border:2px solid var(--accent)}.optionRow input{width:20px;height:20px;accent-color:var(--accent)}.optionRow span{display:grid;gap:3px}.optionRow small{color:#8f8f94}.productStickers{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.productStickers span{background:var(--sticker);color:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}
.addonProductGroup{margin-top:22px}.addonProductGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.addonProductCard{position:relative;border:1px solid #3b3b3b;background:#222;color:#fff;border-radius:16px;padding:8px;text-align:left;display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;cursor:pointer;min-width:0}.addonProductCard.selected{border:2px solid var(--accent);padding:7px;background:#291719}.addonProductImage{width:64px;height:64px;border-radius:12px;overflow:hidden;background:#333;display:grid;place-items:center}.addonProductImage .productImage,.addonProductImage img{width:100%;height:100%;object-fit:cover}.addonProductInfo{min-width:0}.addonProductInfo b{display:block;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.addonProductInfo strong{display:block;color:#fff;margin-top:7px;font-size:14px}.addonProductCheck{position:absolute;right:6px;top:6px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#333;color:#fff;font-size:18px;font-weight:900}.addonProductCard.selected .addonProductCheck{background:var(--accent)}@media(max-width:370px){.addonProductGrid{grid-template-columns:1fr}}

.dynamicInfoBlocks{display:grid;gap:10px;padding:0 16px 12px}.dynamicInfo{background:var(--info-bg,#1d1d1f)!important;border:2px solid var(--info-border,#404046)!important;color:var(--info-text,#fff)!important;border-radius:16px;padding:14px;box-sizing:border-box}.dynamicInfo b{display:block;margin-bottom:6px;color:inherit!important}.dynamicInfo div,.dynamicInfo p,.dynamicInfo span{color:inherit!important}.closedSheet{text-align:center}.closedIcon{font-size:54px}.businessClosed .workline{color:#ff6b6b}.scheduleGrid{display:grid;gap:10px}.scheduleRow{display:grid;grid-template-columns:minmax(150px,1fr) 120px auto 120px;gap:10px;align-items:center}

#closedModal{padding:0;margin:auto;inset:0;width:100%;height:100%;max-width:none;max-height:none;background:transparent;overflow:hidden}#closedModal .sheetCard{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(430px,calc(100% - 28px));max-height:calc(100dvh - 56px);border-radius:26px;padding:30px 22px 24px;overflow:auto}#closedModal .closedIcon{margin-top:0}#closedModal #closedMessage{font-size:18px;line-height:1.4;margin:14px 0 20px}#closedModal h2{margin:10px 0;font-size:30px}.closedModalOpen{overflow:hidden}

.timeSlots span{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.timeSlots span small{font-size:12px;color:#999;font-weight:600}.timeSlots .fullSlot{opacity:.45}.timeSlots .fullSlot span{cursor:not-allowed}.chosenSlotCard{border:2px solid var(--accent);border-radius:18px;padding:18px;display:grid;gap:7px;margin-bottom:16px}.chosenSlotCard small{color:#999}.chosenSlotCard b{font-size:22px}.chosenSlotCard span{color:#bbb}.chosenSlotCard button{justify-self:start;border:0;background:none;color:var(--accent);font-weight:800;padding:6px 0}.timeConfirm:disabled{opacity:.45}.timePicker{padding-bottom:18px}

.slotBadge{font-size:12px!important;font-weight:800!important;padding:7px 10px;border-radius:999px;white-space:nowrap}.slotBadge.busy{color:#d7d7d7!important;background:#292929}.slotBadge.last{color:#fff!important;background:#e31b23;box-shadow:0 0 0 1px rgba(255,75,75,.25)}.slotBadge.full{color:#ff7b7b!important;background:rgba(227,27,35,.15)}.chosenSlotCard .slotBadge{justify-self:start}.chosenSlotCard .slotBadge.last{color:#fff!important}.timeSlots .fullSlot .slotBadge{opacity:1}


/* Saved addresses and map */
.secondary{border:1px solid #444;background:#262626;color:#fff;padding:13px 18px;border-radius:12px;font-weight:800}.addressListSheet,.addressMapSheet{padding-bottom:34px}.addressesList{display:grid;gap:10px;margin:16px 0}.savedAddressCard{display:grid;grid-template-columns:1fr 42px 42px;gap:7px;align-items:stretch;border:1px solid #393939;background:#222;border-radius:16px;padding:7px}.savedAddressMain{border:0;background:none;color:#fff;text-align:left;padding:8px;display:grid;gap:5px}.savedAddressMain span{color:#aaa;font-size:13px;line-height:1.35}.addressEdit,.addressDelete{border:0;background:#303030;color:#fff;border-radius:12px;font-size:20px}.addressDelete{color:#ff7272}.addressEmpty{padding:28px;text-align:center;color:#999;border:1px dashed #444;border-radius:16px}.addressSearchRow{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:9px}.addressSearchRow input{min-width:0;border:1px solid #3b3b3b;background:#222;color:#fff;border-radius:12px;padding:13px}.addressSearchRow button,.locateButton{border:0;background:#303030;color:#fff;border-radius:12px;padding:12px;font-weight:800}.locateButton{width:100%;margin-bottom:10px}.addressMap{height:300px;border-radius:18px;overflow:hidden;background:#2a2a2a}.addressMapStatus{color:#ff8c8c;font-size:12px;margin-top:7px}.addressFound{margin:12px 0;padding:13px;border-radius:14px;background:#242424;color:#ddd;font-weight:700;line-height:1.35}.addressFields{display:grid;grid-template-columns:2fr 1fr;gap:10px}.addressFields label:nth-child(n+3){grid-column:auto}.checkoutAddress{display:grid;gap:12px}.checkoutAddressHead{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #363636;background:#222;border-radius:15px;padding:13px}.checkoutAddressHead div{min-width:0;display:grid;gap:4px}.checkoutAddressHead span{color:#aaa;font-size:12px}.checkoutAddressHead b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkoutAddressHead button{border:0;background:var(--accent);color:#fff;border-radius:10px;padding:10px 12px;font-weight:800}.leaflet-control-attribution{font-size:8px!important}.leaflet-container{font-family:system-ui,sans-serif}.addressMapSheet{max-height:94vh}.addressForm{margin-top:10px}@media(max-width:370px){.addressFields{grid-template-columns:1fr 1fr}.addressMap{height:250px}}

.installAppBtn{color:#fff!important;background:linear-gradient(135deg,#ef1118,#b90008)!important;border-radius:14px!important;margin-top:10px!important;font-weight:800!important}.pwaUpdate{position:fixed;left:16px;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:9999;background:#222;color:#fff;border:1px solid #444;border-radius:16px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 14px 40px #000a}.pwaUpdate[hidden]{display:none}.pwaUpdate button{border:0;border-radius:12px;background:#f10d12;color:#fff;font-weight:800;padding:10px 14px}

/* Yandex address onboarding */
.addressGateLead{color:#aaa;line-height:1.45;margin:-4px 0 16px}.addressGateLogo{display:none}.addressFirstRun{overflow:hidden}.addressFirstRun .app{filter:blur(7px);pointer-events:none}.addressFirstRun #addressModal{padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#111}.addressFirstRun #addressModal::backdrop{background:#111}.addressFirstRun .addressMapSheet{width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:auto}.addressFirstRun .addressGateLogo{display:flex;justify-content:center;margin:4px 0 8px}.addressFirstRun .addressGateLogo img{width:74px;height:74px;border-radius:22px;object-fit:cover}.addressFirstRun .cartTitle{text-align:center;font-size:28px}.addressFirstRun .addressGateLead{text-align:center}.addressFirstRun .addressMap{height:min(46vh,430px);min-height:290px;flex:0 0 auto}.addressFirstRun .addressSearchRow,.addressFirstRun .locateButton{flex:0 0 auto}.addressMap{position:relative}.addressMap:after{content:'Перемещайте метку или нажмите на карту';position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:5;background:rgba(15,15,15,.84);color:#fff;padding:7px 11px;border-radius:20px;font-size:11px;white-space:nowrap;pointer-events:none}.ymaps-2-1-79-map-copyrights-promo,.ymaps-2-1-79-copyright_logo_no{opacity:.45}.addressFirstRun .sheetClose{display:none!important}
.autoZone{display:block;margin-top:6px;color:var(--accent);font-size:13px;font-weight:800}.addressFirstRun #closedModal{display:none!important}


/* Fullscreen address gate v3 */
body.addressBoot{background:#111;overflow:hidden}
body.addressBoot .app{visibility:hidden}
.addressFirstRun #addressModal{position:fixed;inset:0;width:100vw;height:100dvh;padding:0;border:0;background:#111;overflow:hidden}
.addressFirstRun #addressModal::backdrop{background:#111}
.addressFirstRun .addressMapSheet{position:relative;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border-radius:0;overflow:hidden;background:#111;display:block}
.addressFirstRun .addressMap{position:absolute;inset:0;width:100%;height:100%;min-height:100%;border-radius:0;z-index:1}
.addressFirstRun .addressMap:after{display:none}
.addressFirstRun .addressGateTop{position:absolute;z-index:20;top:calc(12px + env(safe-area-inset-top));left:14px;right:14px;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:20px;background:rgba(18,18,18,.88);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.addressFirstRun .addressGateLogo{display:flex;margin:0;flex:0 0 auto}.addressFirstRun .addressGateLogo img{width:48px;height:48px;border-radius:15px}
.addressFirstRun .cartTitle{margin:0;text-align:left;font-size:20px;line-height:1.15}.addressFirstRun .addressGateLead{margin:4px 0 0;text-align:left;font-size:12px;line-height:1.3;color:#bbb}
.addressFirstRun .addressSearchRow{position:absolute;z-index:20;top:calc(92px + env(safe-area-inset-top));left:14px;right:14px;margin:0;padding:7px;border-radius:17px;background:rgba(18,18,18,.9);backdrop-filter:blur(12px)}
.addressFirstRun .addressSearchRow input{background:transparent;border:0;padding:11px}.addressFirstRun .addressSearchRow button{background:#333;padding:10px 14px}
.addressFirstRun .locateButton{position:absolute;z-index:20;right:16px;bottom:calc(190px + env(safe-area-inset-bottom));width:auto;margin:0;padding:12px 15px;border-radius:18px;background:rgba(20,20,20,.92);box-shadow:0 5px 18px rgba(0,0,0,.3);font-size:0}
.addressFirstRun .locateButton:after{content:'⌖';font-size:24px}
.addressFirstRun .addressGateBottom{position:absolute;z-index:30;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:13px;border-radius:23px;background:rgba(17,17,17,.94);backdrop-filter:blur(16px);box-shadow:0 -8px 32px rgba(0,0,0,.35)}
.addressFirstRun .addressFound{margin:0 0 10px;padding:0;background:transparent;border-radius:0;font-size:15px;line-height:1.35;color:#fff;min-height:40px;display:flex;align-items:center}
.addressFirstRun .addressForm{margin:0}.addressFirstRun .addressForm>label,.addressFirstRun .addressFields{display:none!important}
.addressFirstRun #confirmAddressBtn{height:56px;border-radius:17px;font-size:18px}
.addressFirstRun .addressMapStatus{position:absolute;z-index:25;left:20px;right:20px;top:50%;transform:translateY(-50%);text-align:center;margin:0;color:#fff;background:rgba(0,0,0,.65);border-radius:15px;padding:10px;pointer-events:none}
.addressFirstRun .addressMapStatus:empty{display:none}
.addressFirstRun .ymaps-2-1-79-controls__control_toolbar,.addressFirstRun .ymaps-2-1-79-controls__bottom{display:none!important}
@media(max-width:380px){.addressFirstRun .addressGateTop{padding:10px}.addressFirstRun .cartTitle{font-size:18px}.addressFirstRun .addressSearchRow{top:calc(86px + env(safe-area-inset-top))}.addressFirstRun .locateButton{bottom:calc(182px + env(safe-area-inset-bottom))}}

/* Click-to-place address marker */
.addressFirstRun .addressMap:before{content:'Нажмите на нужный дом — точка появится на карте';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;background:rgba(20,20,20,.78);color:#fff;padding:9px 13px;border-radius:18px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:.92}.addressFirstRun .addressMap.pointSelected:before{opacity:0}


/* Launch splash + center-pin map selector v5 */
.launchSplash{position:fixed;inset:0;z-index:100000;background:#fff;color:#181818;display:grid;place-items:center;transition:opacity .45s ease,visibility .45s ease}.launchSplash.hidden{opacity:0;visibility:hidden;pointer-events:none}.launchSplashInner{text-align:center;display:grid;justify-items:center;gap:14px;transform:translateY(-3vh)}.launchLogoFallback,.launchLogoImage{width:132px;height:132px;border-radius:34px;display:grid;place-items:center;overflow:hidden;box-shadow:0 16px 45px rgba(0,0,0,.12)}.launchLogoPending{width:132px;height:132px;border-radius:34px;display:grid;place-items:center;overflow:hidden;visibility:hidden}.launchBrandPending{visibility:hidden}.launchLogoImage img{opacity:0;transition:opacity .12s ease}.launchLogoImage.logoReady img{opacity:1}.launchLogoFallback{background:var(--accent,#ef2b2d);color:#fff;font-size:58px;font-weight:900}.launchLogoImage{background:#fff}.launchLogoImage img{width:100%;height:100%;object-fit:contain}.addressGateLogo span{width:100%;height:100%;display:grid;place-items:center;background:var(--accent,#ef2b2d);color:#fff;font-size:30px;font-weight:900;border-radius:inherit}.addressGateLogo img{width:100%;height:100%;object-fit:contain}.launchBrand{font-size:34px;font-weight:900;letter-spacing:-1px}.launchText{font-size:14px;color:#888}.launchLoader{width:52px;height:52px;border:5px solid #eee;border-top-color:#ff1616;border-radius:50%;animation:launchSpin .85s linear infinite}@keyframes launchSpin{to{transform:rotate(360deg)}}
.addressFirstRun .addressSearchRow{display:none!important}.addressFirstRun .addressGateTop{background:rgba(255,255,255,.93);color:#111;box-shadow:0 8px 30px rgba(0,0,0,.18)}.addressFirstRun .addressGateLead{color:#555}.addressFirstRun .addressGateLogo{display:none}.addressFirstRun .cartTitle{font-size:18px}.addressFirstRun .addressMap:before{content:'';position:absolute;z-index:12;left:50%;top:50%;width:34px;height:44px;transform:translate(-50%,-100%);pointer-events:none;opacity:1;background:linear-gradient(135deg,#ff1717,#c80000);border:5px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 6px 18px rgba(0,0,0,.35);rotate:-45deg;transition:transform .18s ease,filter .18s ease}.addressFirstRun .addressMap:after{content:''!important;display:block!important;position:absolute;z-index:13;left:50%;top:50%;width:10px;height:10px;background:#fff;border-radius:50%;transform:translate(-50%,-32px);pointer-events:none;box-shadow:none;padding:0}.addressFirstRun #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 10px));filter:drop-shadow(0 13px 7px rgba(0,0,0,.24))}.addressFirstRun #addressModal.addressMoving .addressMap:after{transform:translate(-50%,-42px)}.addressFirstRun .addressGateBottom{background:rgba(255,255,255,.96);color:#111}.addressFirstRun .addressFound{color:#111;font-size:17px;font-weight:800}.addressFirstRun #confirmAddressBtn{background:#ff1717;color:#fff;border:0}.addressFirstRun .locateButton{background:#fff;color:#111;border:1px solid #eee}.addressFirstRun .addressMapStatus{background:rgba(255,255,255,.92);color:#222}.addressFirstRun .ymaps-2-1-79-map{transition:filter .25s ease}.addressFirstRun #addressModal.addressResolving .ymaps-2-1-79-map{filter:saturate(.8)}


/* Polished full-screen address selector v6 */
.addressFirstRun .addressGateTop{
  top:calc(10px + env(safe-area-inset-top));left:16px;right:16px;
  min-height:58px;padding:10px 14px;border-radius:18px;
  background:rgba(255,255,255,.72);color:#151515;
  border:1px solid rgba(255,255,255,.62);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 8px 24px rgba(0,0,0,.13)
}
.addressFirstRun .addressGateTop>div:last-child{width:100%}
.addressFirstRun .cartTitle{font-size:17px!important;line-height:1.15;text-align:center!important;font-weight:850;letter-spacing:-.2px}
.addressFirstRun .addressGateLead{font-size:12px!important;text-align:center!important;margin:3px 0 0!important;color:rgba(20,20,20,.68)!important}
.addressFirstRun .addressMap:before{
  width:24px;height:31px;border-width:3px;
  background:linear-gradient(145deg,#ff2a2a,#dc0000);
  box-shadow:0 5px 13px rgba(0,0,0,.28);
  transform:translate(-50%,-100%);
}
.addressFirstRun .addressMap:after{
  width:7px;height:7px;transform:translate(-50%,-24px)
}
.addressFirstRun #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 6px));filter:drop-shadow(0 9px 5px rgba(0,0,0,.18))}
.addressFirstRun #addressModal.addressMoving .addressMap:after{transform:translate(-50%,-30px)}
.addressFirstRun .addressGateBottom{
  left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));
  padding:12px;border-radius:20px;background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(1.12);
  -webkit-backdrop-filter:blur(20px) saturate(1.12);
  box-shadow:0 10px 32px rgba(0,0,0,.18)
}
.addressFirstRun .addressFound{
  min-height:0;margin:0 2px 10px;padding:0;color:#151515;
  display:block;font-size:14px!important;line-height:1.25!important;font-weight:800!important;
  white-space:pre-line;overflow:hidden
}
.addressFirstRun .addressFound::first-line{font-size:15px}
.addressFirstRun #confirmAddressBtn{
  height:50px;border-radius:15px;font-size:17px;font-weight:850;
  box-shadow:0 7px 18px rgba(255,23,23,.22)
}
.addressFirstRun .locateButton{
  right:16px;bottom:calc(126px + env(safe-area-inset-bottom));
  width:48px;height:48px;padding:0;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 6px 18px rgba(0,0,0,.16)
}
.addressFirstRun .locateButton:after{font-size:21px}
.addressFirstRun .addressMapStatus{left:50%;right:auto;top:auto;bottom:calc(142px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:82vw;padding:8px 12px;border-radius:14px;font-size:12px;background:rgba(255,255,255,.84);backdrop-filter:blur(12px)}
@media(max-width:380px){
  .addressFirstRun .addressGateTop{left:12px;right:12px;padding:9px 12px}
  .addressFirstRun .cartTitle{font-size:16px!important}
  .addressFirstRun .addressGateBottom{left:12px;right:12px}
  .addressFirstRun .addressFound{font-size:13px!important}
}

/* Address selector — definitive modern UI v7 */
body.addressFirstRun{overflow:hidden!important;background:#0b0b0b!important}
.addressFirstRun #addressModal,
.addressFirstRun .addressMapSheet{inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#e9e7df!important}
.addressFirstRun .addressMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;border-radius:0!important}
.addressFirstRun .addressGateTop{top:calc(14px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;width:auto!important;max-width:calc(100vw - 32px)!important;min-height:0!important;transform:translateX(-50%)!important;padding:9px 14px!important;border-radius:999px!important;display:block!important;background:rgba(19,19,19,.68)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important;backdrop-filter:blur(16px) saturate(1.15)!important;-webkit-backdrop-filter:blur(16px) saturate(1.15)!important}
.addressFirstRun .addressGateTop>div:last-child{width:auto!important}
.addressFirstRun .cartTitle{margin:0!important;font-size:14px!important;line-height:1.2!important;text-align:center!important;font-weight:800!important;letter-spacing:0!important;white-space:nowrap!important}
.addressFirstRun .addressGateLead{display:none!important}
.addressFirstRun .addressGateLogo,.addressFirstRun .addressSearchRow,.addressFirstRun .sheetClose{display:none!important}

/* small, precise center marker */
.addressFirstRun .addressMap:before{content:''!important;position:absolute!important;z-index:100!important;left:50%!important;top:50%!important;width:22px!important;height:22px!important;box-sizing:border-box!important;transform:translate(-50%,-100%)!important;rotate:0deg!important;border-radius:50% 50% 50% 4px!important;background:#f10f1b!important;border:4px solid #fff!important;box-shadow:0 5px 14px rgba(0,0,0,.28)!important;pointer-events:none!important;opacity:1!important;transition:transform .18s ease,box-shadow .18s ease!important}
.addressFirstRun .addressMap:after{content:''!important;position:absolute!important;z-index:99!important;left:50%!important;top:50%!important;width:12px!important;height:5px!important;transform:translate(-50%,3px)!important;border-radius:50%!important;background:rgba(0,0,0,.22)!important;filter:blur(2px)!important;pointer-events:none!important;display:block!important;padding:0!important;box-shadow:none!important}
.addressFirstRun #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 7px))!important;box-shadow:0 11px 17px rgba(0,0,0,.20)!important;filter:none!important}
.addressFirstRun #addressModal.addressMoving .addressMap:after{transform:translate(-50%,5px) scale(.72)!important;opacity:.55!important}

.addressFirstRun .locateButton{position:absolute!important;z-index:120!important;right:16px!important;bottom:calc(138px + env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.9)!important;color:#151515!important;box-shadow:0 7px 22px rgba(0,0,0,.18)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;font-size:0!important}
.addressFirstRun .locateButton:after{content:'⌖'!important;font-size:22px!important;line-height:1!important;font-weight:700!important}

.addressFirstRun .addressGateBottom{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;padding:10px!important;border-radius:22px!important;background:rgba(20,20,20,.82)!important;color:#fff!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 12px 38px rgba(0,0,0,.30)!important;backdrop-filter:blur(22px) saturate(1.1)!important;-webkit-backdrop-filter:blur(22px) saturate(1.1)!important}
.addressFirstRun .addressFound{min-height:34px!important;max-height:48px!important;margin:0 5px 8px!important;padding:0!important;display:block!important;overflow:hidden!important;color:#fff!important;background:transparent!important;font-size:13px!important;line-height:1.25!important;font-weight:700!important;white-space:pre-line!important;text-overflow:ellipsis!important}
.addressFirstRun .addressFound::first-line{font-size:14px!important;font-weight:850!important}
.addressFirstRun .addressForm{margin:0!important}
.addressFirstRun .addressForm>label,.addressFirstRun .addressFields{display:none!important}
.addressFirstRun #confirmAddressBtn{width:100%!important;height:48px!important;margin:0!important;border:0!important;border-radius:15px!important;background:#f20d18!important;color:#fff!important;font-size:16px!important;line-height:1!important;font-weight:850!important;box-shadow:none!important}
.addressFirstRun #confirmAddressBtn:disabled{opacity:.55!important}
.addressFirstRun .addressMapStatus{left:50%!important;right:auto!important;top:auto!important;bottom:calc(139px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:max-content!important;max-width:78vw!important;margin:0!important;padding:7px 11px!important;border-radius:999px!important;background:rgba(20,20,20,.72)!important;color:#fff!important;font-size:11px!important;line-height:1.2!important;box-shadow:none!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.addressFirstRun .addressMapStatus:empty{display:none!important}
.addressFirstRun .ymaps-2-1-79-controls__control_toolbar,
.addressFirstRun .ymaps-2-1-79-controls__bottom,
.addressFirstRun .ymaps-2-1-79-zoom{display:none!important}
@media(max-width:360px){
 .addressFirstRun .addressGateTop{top:calc(10px + env(safe-area-inset-top))!important;padding:8px 12px!important}
 .addressFirstRun .cartTitle{font-size:13px!important}
 .addressFirstRun .addressGateBottom{left:9px!important;right:9px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important}
 .addressFirstRun .locateButton{right:12px!important}
}

/* Full viewport geometry hotfix v8 */
html.addressFirstRun,
body.addressFirstRun{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
body.addressFirstRun #addressModal{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  overflow:hidden!important;
}
body.addressFirstRun #addressModal[open]{display:block!important}
body.addressFirstRun #addressModal .addressMapSheet{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body.addressFirstRun #addressModal .addressMap{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  transform:none!important;
}
body.addressFirstRun #addressModal .addressGateTop,
body.addressFirstRun #addressModal .addressGateBottom,
body.addressFirstRun #addressModal .locateButton,
body.addressFirstRun #addressModal .addressMapStatus{
  position:fixed!important;
}
body.addressFirstRun #addressModal .addressGateTop{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
}
body.addressFirstRun #addressModal .addressGateBottom{
  left:12px!important;
  right:12px!important;
  width:auto!important;
  transform:none!important;
}


/* FINAL ADDRESS PICKER UI v9 */
html.addressFirstRun,body.addressFirstRun{width:100%!important;height:100%!important;overflow:hidden!important;background:#eceae4!important}
body.addressFirstRun #addressModal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#eceae4!important;overflow:hidden!important;transform:none!important}
body.addressFirstRun #addressModal::backdrop{background:#eceae4!important}
body.addressFirstRun #addressModal .addressMapSheet{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#eceae4!important;overflow:hidden!important;transform:none!important}
body.addressFirstRun #addressModal .addressMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;border-radius:0!important;background:#eceae4!important;overflow:hidden!important}
body.addressFirstRun #addressModal .addressMap>ymaps,body.addressFirstRun #addressModal .ymaps-2-1-79-map{width:100%!important;height:100%!important}
body.addressFirstRun #addressModal .addressGateLogo,body.addressFirstRun #addressModal .addressSearchRow,body.addressFirstRun #addressModal .sheetClose{display:none!important}
body.addressFirstRun #addressModal .addressGateTop{position:absolute!important;z-index:150!important;top:calc(18px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;width:calc(100vw - 34px)!important;max-width:560px!important;transform:translateX(-50%)!important;display:block!important;padding:13px 18px!important;border-radius:22px!important;background:rgba(24,24,27,.76)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 12px 34px rgba(0,0,0,.20)!important;backdrop-filter:blur(18px) saturate(1.15)!important;-webkit-backdrop-filter:blur(18px) saturate(1.15)!important}
body.addressFirstRun #addressModal .addressGateTop>div:last-child{width:100%!important}
body.addressFirstRun #addressModal .cartTitle{margin:0!important;text-align:center!important;color:#fff!important;font-size:18px!important;line-height:1.2!important;font-weight:900!important;letter-spacing:-.2px!important;white-space:normal!important}
body.addressFirstRun #addressModal .addressGateLead{display:block!important;margin:4px 0 0!important;text-align:center!important;color:rgba(255,255,255,.78)!important;font-size:13px!important;line-height:1.25!important}
body.addressFirstRun #addressModal .addressMap:before{content:''!important;position:absolute!important;z-index:140!important;left:50%!important;top:49%!important;width:42px!important;height:54px!important;transform:translate(-50%,-76%)!important;background:url('/client/icons/location-person.svg') center/contain no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;rotate:0deg!important;pointer-events:none!important;transition:transform .18s ease,filter .18s ease!important}
body.addressFirstRun #addressModal .addressMap:after{content:''!important;position:absolute!important;z-index:139!important;left:50%!important;top:49%!important;width:76px!important;height:76px!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;background:rgba(255,255,255,.28)!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:0 8px 26px rgba(0,0,0,.08)!important;backdrop-filter:blur(1px)!important;-webkit-backdrop-filter:blur(1px)!important;pointer-events:none!important}
body.addressFirstRun #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-76% - 8px))!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.18))!important}
body.addressFirstRun #addressModal .locateButton{position:absolute!important;z-index:160!important;right:18px!important;bottom:calc(206px + env(safe-area-inset-bottom))!important;width:50px!important;height:50px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important;border:1px solid rgba(0,0,0,.06)!important;background:rgba(255,255,255,.94)!important;color:#141414!important;box-shadow:0 10px 28px rgba(0,0,0,.16)!important;font-size:0!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
body.addressFirstRun #addressModal .locateButton:after{content:'⌾'!important;font-size:26px!important;line-height:1!important;font-weight:800!important}
body.addressFirstRun #addressModal .addressGateBottom{position:absolute!important;z-index:155!important;left:16px!important;right:16px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:620px!important;margin:0 auto!important;padding:14px!important;border-radius:24px!important;background:rgba(20,20,23,.91)!important;color:#fff!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 18px 46px rgba(0,0,0,.32)!important;backdrop-filter:blur(24px) saturate(1.15)!important;-webkit-backdrop-filter:blur(24px) saturate(1.15)!important}
body.addressFirstRun #addressModal .addressFound{min-height:84px!important;max-height:none!important;margin:0 0 12px!important;padding:0!important;overflow:visible!important;color:#fff!important;background:transparent!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important}
body.addressFirstRun #addressModal .addressResultMain{display:grid!important;grid-template-columns:28px 1fr!important;gap:10px!important;align-items:start!important;padding:2px 2px 12px!important}
body.addressFirstRun #addressModal .addressResultPin{font-size:25px!important;line-height:1!important;color:#fff!important;opacity:.95!important}
body.addressFirstRun #addressModal .addressResultMain strong{display:block!important;color:#fff!important;font-size:16px!important;line-height:1.22!important;font-weight:900!important;letter-spacing:-.15px!important}
body.addressFirstRun #addressModal .addressResultMain small{display:block!important;margin-top:4px!important;color:rgba(255,255,255,.72)!important;font-size:13px!important;font-weight:600!important}
body.addressFirstRun #addressModal .addressResultDelivery{display:flex!important;align-items:center!important;gap:9px!important;height:42px!important;padding:0 12px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;color:#fff!important}
body.addressFirstRun #addressModal .addressResultDelivery span{font-size:17px!important}
body.addressFirstRun #addressModal .addressResultDelivery b{font-size:14px!important;font-weight:750!important}
body.addressFirstRun #addressModal .addressForm{margin:0!important}
body.addressFirstRun #addressModal .addressForm>label,body.addressFirstRun #addressModal .addressFields{display:none!important}
body.addressFirstRun #addressModal #confirmAddressBtn{width:100%!important;height:50px!important;margin:0!important;border:0!important;border-radius:15px!important;background:linear-gradient(135deg,#ff1b28,#f10717)!important;color:#fff!important;font-size:16px!important;line-height:1!important;font-weight:900!important;box-shadow:0 10px 24px rgba(241,7,23,.22)!important}
body.addressFirstRun #addressModal #confirmAddressBtn:active{transform:scale(.985)!important}
body.addressFirstRun #addressModal .addressMapStatus{position:absolute!important;z-index:158!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(205px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:max-content!important;max-width:76vw!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(20,20,23,.76)!important;color:#fff!important;font-size:12px!important;line-height:1.2!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
body.addressFirstRun #addressModal .addressMapStatus:empty{display:none!important}
body.addressFirstRun #addressModal .ymaps-2-1-79-controls__control_toolbar,body.addressFirstRun #addressModal .ymaps-2-1-79-controls__bottom,body.addressFirstRun #addressModal .ymaps-2-1-79-zoom,body.addressFirstRun #addressModal .ymaps-2-1-79-copyrights-pane{display:none!important}
@media(max-width:420px){body.addressFirstRun #addressModal .addressGateTop{top:calc(12px + env(safe-area-inset-top))!important;width:calc(100vw - 24px)!important;padding:11px 14px!important;border-radius:18px!important}body.addressFirstRun #addressModal .cartTitle{font-size:16px!important}body.addressFirstRun #addressModal .addressGateLead{font-size:12px!important}body.addressFirstRun #addressModal .addressGateBottom{left:10px!important;right:10px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;padding:12px!important;border-radius:21px!important}body.addressFirstRun #addressModal .locateButton{right:13px!important;bottom:calc(194px + env(safe-area-inset-bottom))!important;width:46px!important;height:46px!important}body.addressFirstRun #addressModal .addressMapStatus{bottom:calc(194px + env(safe-area-inset-bottom))!important}body.addressFirstRun #addressModal .addressResultMain strong{font-size:15px!important}}

/* FINAL GEO PIN UI v10 — compact modern marker */
body.addressFirstRun #addressModal .addressMap:before{
  content:''!important;
  position:absolute!important;
  z-index:170!important;
  left:50%!important;
  top:50%!important;
  width:32px!important;
  height:32px!important;
  box-sizing:border-box!important;
  transform:translate(-50%,-100%) rotate(-45deg)!important;
  background:linear-gradient(145deg,#ff2835 0%,#e60012 72%)!important;
  border:3px solid #fff!important;
  border-radius:50% 50% 50% 5px!important;
  box-shadow:0 7px 18px rgba(0,0,0,.28)!important;
  pointer-events:none!important;
  transition:transform .17s ease,box-shadow .17s ease!important;
}
body.addressFirstRun #addressModal .addressMap:after{
  content:''!important;
  position:absolute!important;
  z-index:171!important;
  left:50%!important;
  top:50%!important;
  width:10px!important;
  height:10px!important;
  box-sizing:border-box!important;
  transform:translate(-50%,-27px)!important;
  border-radius:50%!important;
  background:#fff!important;
  border:0!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.05)!important;
  pointer-events:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.addressFirstRun #addressModal.addressMoving .addressMap:before{
  transform:translate(-50%,calc(-100% - 7px)) rotate(-45deg)!important;
  box-shadow:0 13px 22px rgba(0,0,0,.20)!important;
  filter:none!important;
}
body.addressFirstRun #addressModal.addressMoving .addressMap:after{
  transform:translate(-50%,-34px)!important;
}
body.addressFirstRun #addressModal .addressGateTop{
  top:calc(12px + env(safe-area-inset-top))!important;
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  padding:10px 16px!important;
  border-radius:18px!important;
  background:rgba(22,22,25,.68)!important;
}
body.addressFirstRun #addressModal .cartTitle{
  font-size:16px!important;
  white-space:nowrap!important;
}
body.addressFirstRun #addressModal .addressGateLead{
  display:none!important;
}
body.addressFirstRun #addressModal .addressGateBottom{
  left:12px!important;
  right:12px!important;
  bottom:calc(10px + env(safe-area-inset-bottom))!important;
  max-width:560px!important;
  padding:11px!important;
  border-radius:21px!important;
  background:rgba(18,18,21,.88)!important;
}
body.addressFirstRun #addressModal .addressFound{
  min-height:0!important;
  max-height:none!important;
  margin:0 2px 9px!important;
}
body.addressFirstRun #addressModal .addressResultMain{
  grid-template-columns:22px 1fr!important;
  gap:9px!important;
  padding:1px 2px 8px!important;
}
body.addressFirstRun #addressModal .addressResultPin{
  font-size:20px!important;
}
body.addressFirstRun #addressModal .addressResultMain strong{
  font-size:15px!important;
  line-height:1.18!important;
}
body.addressFirstRun #addressModal .addressResultMain small{
  margin-top:2px!important;
  font-size:12px!important;
}
body.addressFirstRun #addressModal .addressResultDelivery{
  height:36px!important;
  padding:0 10px!important;
  border-radius:12px!important;
}
body.addressFirstRun #addressModal .addressResultDelivery span{font-size:15px!important}
body.addressFirstRun #addressModal .addressResultDelivery b{font-size:13px!important}
body.addressFirstRun #addressModal #confirmAddressBtn{
  height:46px!important;
  border-radius:14px!important;
  font-size:16px!important;
}
body.addressFirstRun #addressModal .locateButton{
  right:14px!important;
  bottom:calc(154px + env(safe-area-inset-bottom))!important;
  width:44px!important;
  height:44px!important;
}
body.addressFirstRun #addressModal .locateButton:after{
  content:'◎'!important;
  font-size:24px!important;
}
body.addressFirstRun #addressModal .addressMapStatus{
  bottom:calc(160px + env(safe-area-inset-bottom))!important;
}

/* === Compact mobile density v11 === */
@media (max-width: 600px){
  .app{max-width:440px;padding-bottom:64px}
  .statusAccent{height:3px}
  .topbar{height:66px;grid-template-columns:38px minmax(0,1fr) 26px;padding:5px 12px;top:3px}
  .menuBtn{width:34px;gap:4px;padding:5px 1px}
  .menuBtn span{height:2px}
  .profileBtn{font-size:15px}
  .brand{gap:8px}
  .brandmark{width:42px;height:42px;flex-basis:42px;border-width:2px}
  .brand b{font-size:20px;max-width:210px}
  .workline{font-size:10px;padding:4px 12px 6px}

  .categoryDock{top:69px;padding:4px 10px;height:54px}
  .searchIcon{flex-basis:36px;width:36px;height:34px}
  .searchIcon:before{width:15px;height:15px;border-width:2px;left:6px;top:7px}
  .searchIcon:after{width:10px;height:2px;left:20px;top:22px}
  .categories{gap:18px;padding-right:8px}
  .category{font-size:14px;padding:8px 0}
  .category.active:after{height:2px;bottom:1px}

  .heroSlider{padding:10px 10px 3px}
  .heroCard{height:205px;border-radius:18px}
  .heroCopy{padding:18px 16px;max-width:70%}
  .heroCopy span{font-size:8px}
  .heroCopy h1{font-size:29px;margin:9px 0 7px}
  .heroCopy p{font-size:11px}
  .heroCopy button{margin-top:11px;padding:9px 12px;font-size:11px}
  .heroFood{right:10px;bottom:23px;font-size:58px}
  .sliderDots{padding:8px;gap:6px}
  .sliderDots i{width:5px;height:5px}

  .promoRail,.popularRail{gap:9px;padding:6px 10px 12px}
  .promoRail article{flex-basis:112px;height:88px;border-width:2px;border-radius:18px;padding:12px}
  .promoRail b{font-size:17px}
  .promoRail span{font-size:9px;margin-top:3px}

  .infoStrip{margin:2px 10px 13px;border-radius:15px;padding:10px 2px}
  .infoStrip b{font-size:11px;line-height:1.15}
  .infoStrip span{font-size:8px;margin-top:3px}

  .section{padding:7px 0 1px}
  .sectionHead{padding:0 12px}
  .sectionHead h2{font-size:22px;margin:4px 0 10px}
  .popularCard{flex-basis:218px;height:116px;border-radius:17px;padding:9px;grid-template-columns:88px 1fr;gap:11px}
  .popularImage{height:96px;border-radius:11px;font-size:38px}
  .popularCard h3{font-size:14px;margin-bottom:8px}
  .popularCard b{font-size:17px}

  .categoryBlock{padding:1px 10px 12px}
  .categoryTitle{font-size:21px;margin:8px 2px 10px}
  .products{gap:9px}
  .product{border-radius:15px}
  .productImage{height:122px;font-size:43px}
  .productBadge{left:6px;top:6px;padding:3px 6px;border-radius:6px;font-size:8px}
  .productBody{padding:9px}
  .product h3{font-size:13px;margin-bottom:4px}
  .product p{font-size:9.5px;min-height:25px}
  .productMeta{margin-top:8px}
  .productPrice b{font-size:15px}
  .productPrice span{font-size:8px}
  .addButton{width:31px;height:31px;font-size:19px}

  .floatingCart{right:max(12px,calc((100vw - 440px)/2 + 12px));bottom:70px;width:54px;height:54px;font-size:20px}
  .floatingCart b{width:21px;height:21px;font-size:10px}
  .bottomNav{width:min(440px,100%);height:60px}
  .bottomNav i{font-size:17px}
  .bottomNav span{font-size:9px}

  .empty{padding:26px 12px}
  .empty div{font-size:36px}

  .sheetCard{width:min(440px,100%);padding:16px;border-radius:22px 22px 0 0}
  .sheetClose{width:30px;height:30px;font-size:23px}
}

@media (max-width: 370px){
  .brand b{font-size:18px}.brandmark{width:38px;height:38px;flex-basis:38px}
  .topbar{height:60px}.categoryDock{top:63px;height:50px}
  .sectionHead h2,.categoryTitle{font-size:19px}
  .popularCard{flex-basis:202px;height:108px;grid-template-columns:80px 1fr}
  .popularImage{height:88px}.productImage{height:112px}
}
.promoApplyBlock{display:grid;gap:8px}.promoApplyRow{display:grid;grid-template-columns:1fr auto;gap:0}.checkout .promoApplyRow input{border-radius:12px 0 0 12px;border-right:0}.promoApplyRow button{border:0;background:var(--accent);color:#fff;font-weight:900;padding:0 18px;border-radius:0 12px 12px 0}.promoApplyRow button:disabled{opacity:.65}.promoStatus{padding:11px 13px;border-radius:11px;font-size:13px;font-weight:800;line-height:1.35}.promoStatus.success{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.45);color:#7ee2a1}.promoStatus.error{background:rgba(242,13,24,.14);border:1px solid rgba(242,13,24,.45);color:#ff8d94}.promoDiscountRow b{color:#65d98a}


/* FoodCore 3.0.4 — полноразмерный логотип в шапке */
.brand.wideLogo{justify-content:center;transform:translateX(var(--header-logo-shift,18px));overflow:visible;min-width:0}
.headerWideLogo{display:block;width:auto;height:var(--header-logo-height,44px);max-width:min(245px,64vw);object-fit:contain;object-position:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}
@media(max-width:370px){.headerWideLogo{max-width:205px}.brand.wideLogo{transform:translateX(clamp(-25px,var(--header-logo-shift,12px),45px))}}

/* === FoodCore 3.0.44 — крупная мобильная навигация и карточки === */
@media (max-width: 600px){
  .app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}

  .bottomNav{
    width:min(440px,100%);
    height:calc(82px + env(safe-area-inset-bottom));
    padding:5px 5px env(safe-area-inset-bottom);
    background:rgba(12,12,12,.985);
    border-top:1px solid #303030;
    box-shadow:0 -8px 26px rgba(0,0,0,.34);
  }
  .bottomNav button{
    min-width:0;
    min-height:72px;
    padding:7px 2px 6px;
    gap:4px;
    border-radius:15px;
    font-weight:700;
    -webkit-tap-highlight-color:transparent;
  }
  .bottomNav button:active{background:rgba(255,255,255,.055)}
  .bottomNav i{
    font-size:25px;
    line-height:1;
    font-weight:700;
    transform:translateY(1px);
  }
  .bottomNav span{
    font-size:12px;
    line-height:1.05;
    font-weight:700;
    letter-spacing:.01em;
  }
  .bottomNav .active i{font-size:27px}
  .bottomNav .active span{font-weight:900}

  .floatingCart{
    bottom:calc(94px + env(safe-area-inset-bottom));
    width:58px;
    height:58px;
    font-size:22px;
  }
  .toast{bottom:calc(102px + env(safe-area-inset-bottom))}

  .categoryBlock{padding:2px 10px 14px}
  .categoryTitle{font-size:23px;margin:10px 2px 12px;font-weight:900}
  .products{gap:8px}
  .product{border-radius:17px}
  .productImage{height:142px;font-size:49px}
  .productBody{padding:10px}
  .product h3{font-size:14px;line-height:1.2;margin-bottom:5px}
  .product p{font-size:10px;min-height:27px}
  .productMeta{margin-top:9px}
  .productPrice b{font-size:17px}
  .addButton{width:34px;height:34px;font-size:21px}
}

@media (max-width: 370px){
  .bottomNav span{font-size:11px}
  .bottomNav i{font-size:23px}
  .bottomNav .active i{font-size:25px}
  .productImage{height:130px}
}

/* === FoodCore 3.0.45 — iPhone PWA safe-area + restored-page header fix === */
:root{
  --fc-safe-top:env(safe-area-inset-top,0px);
  --fc-safe-bottom:env(safe-area-inset-bottom,0px);
  --fc-viewport-height:100vh;
}
html,body{min-height:var(--fc-viewport-height)}
.statusAccent{
  position:sticky;
  top:0;
  z-index:80;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}
.topbar{
  z-index:75;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.categoryDock{
  z-index:70;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.menuBtn{
  position:relative;
  z-index:3;
  min-width:44px;
  min-height:44px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.sideDrawer{
  padding-top:calc(22px + var(--fc-safe-top));
  padding-bottom:calc(28px + var(--fc-safe-bottom));
}

@media (max-width:600px){
  .topbar{
    height:calc(66px + var(--fc-safe-top));
    padding-top:calc(5px + var(--fc-safe-top));
    top:3px;
  }
  .categoryDock{top:calc(69px + var(--fc-safe-top))}
}
@media (max-width:370px){
  .topbar{height:calc(60px + var(--fc-safe-top))}
  .categoryDock{top:calc(63px + var(--fc-safe-top))}
}

/* Класс кратковременно включается после возврата из памяти iOS, чтобы пересобрать sticky-слои. */
html.fcViewportRefresh .statusAccent,
html.fcViewportRefresh .topbar,
html.fcViewportRefresh .categoryDock{
  will-change:transform;
}

/* === FoodCore 3.0.47 — iOS bottom overscroll / fixed navigation guard === */
html,body{
  overscroll-behavior-y:none;
  -webkit-overflow-scrolling:touch;
}
body{
  min-height:100%;
}
.app{
  overflow:clip;
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
}
.bottomNav{
  position:fixed;
  transform:translate3d(-50%,0,0);
  -webkit-transform:translate3d(-50%,0,0);
  contain:layout paint;
  isolation:isolate;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.categoryDock,.topbar,.statusAccent{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
body.fcOverscrollLocked .bottomNav{
  transform:translate3d(-50%,0,0)!important;
  -webkit-transform:translate3d(-50%,0,0)!important;
}


/* === FoodCore 3.0.48 — restore powered-by logo in side drawer === */
.drawerFooter{margin-top:24px;padding:10px 0 2px;color:#777;font-size:12px}
.drawerFooter img{display:block;width:min(100%,300px);height:auto;object-fit:contain;object-position:left center}


/* FoodCore 3.0.56 — выбор филиала, не меняет геометрию основного приложения. */
body.branchSelectorOpen{overflow:hidden!important;touch-action:none}
.clientBranchSelector{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);padding:16px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));animation:fcBranchFade .18s ease-out}
.clientBranchCard{box-sizing:border-box;width:min(520px,100%);max-height:min(82vh,720px);overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;color:#15171a;border-radius:28px;padding:10px 18px 20px;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:fcBranchUp .24s cubic-bezier(.2,.8,.2,1)}
.clientBranchHandle{width:42px;height:5px;border-radius:10px;background:#d7d9dd;margin:2px auto 17px}
.clientBranchHead{display:flex;align-items:center;gap:13px;margin-bottom:17px}
.clientBranchMark{flex:0 0 auto;width:54px;height:54px;border-radius:18px;background:var(--accent,#f20d18);color:#fff;display:grid;place-items:center;font-size:27px;font-weight:900}
.clientBranchHead h2{margin:0 0 3px;font-size:25px;line-height:1.1;color:#15171a}
.clientBranchHead p{margin:0;color:#7a8089;font-size:15px}
.clientBranchPoints{display:grid;gap:10px}
.clientBranchPoints button{box-sizing:border-box;width:100%;min-height:70px;border:1px solid #e5e8ec;background:#f7f8fa;border-radius:18px;padding:12px 13px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;text-align:left;color:#16181b;font:inherit;-webkit-tap-highlight-color:transparent}
.clientBranchPoints button.current{border-color:color-mix(in srgb,var(--accent,#f20d18) 45%,#e5e8ec);background:color-mix(in srgb,var(--accent,#f20d18) 7%,#fff)}
.clientBranchPoints button:active{transform:scale(.985)}
.clientBranchPin{width:38px;height:38px;border-radius:13px;background:#fff;display:grid;place-items:center;color:var(--accent,#f20d18);font-size:19px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.clientBranchText{min-width:0}.clientBranchText b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.25}.clientBranchText small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747b84;margin-top:4px;font-size:13px}
.clientBranchArrow{font-size:28px;line-height:1;color:var(--accent,#f20d18);text-align:center}
.clientBranchCancel{width:100%;border:0;background:#eceff3;color:#25282c;border-radius:15px;padding:14px;margin-top:12px;font:800 16px/1 system-ui,-apple-system,sans-serif}
.drawerNav button[hidden]{display:none!important}
@keyframes fcBranchFade{from{opacity:0}to{opacity:1}}@keyframes fcBranchUp{from{transform:translateY(35px);opacity:.4}to{transform:none;opacity:1}}
@media(min-width:700px){.clientBranchSelector{align-items:center}.clientBranchCard{padding:14px 22px 22px}}


/* FoodCore 3.0.58 — логотипы точек и единый вид выбора филиала */
.clientBranchHead{gap:14px}
.clientBranchMark{display:none!important}
.clientBranchLogo{width:46px;height:46px;border-radius:15px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,.08);flex:0 0 46px}
.clientBranchLogo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.clientBranchLogoFallback{background:var(--accent,#f20d18);color:#fff;font-size:20px;font-weight:900}
.clientBranchHeadLogo{width:58px;height:58px;flex-basis:58px;border-radius:19px;border:1px solid #eceef1}
.clientBranchPoints button{grid-template-columns:46px minmax(0,1fr) auto;min-height:78px;padding:12px 14px;gap:13px}
.clientBranchPoints button.current{border-color:color-mix(in srgb,var(--accent,#f20d18) 45%,#e5e8ec);background:color-mix(in srgb,var(--accent,#f20d18) 7%,#fff)}
.clientBranchText b{font-size:18px!important}
.clientBranchText small{font-size:14px!important;margin-top:5px!important}
.clientBranchCurrent{align-self:start;margin-top:2px;color:var(--accent,#f20d18);font-size:12px;font-weight:900;white-space:nowrap}
.clientBranchArrow{align-self:center}


/* FoodCore 3.0.59 — один логотип аккаунта только в заголовке выбора точки */
.clientBranchPoints button{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:14px 16px!important}
.clientBranchPoints .clientBranchLogo{display:none!important}
.clientBranchHead .clientBranchHeadLogo{display:grid!important}
.clientBranchText{padding-left:2px}

/* === FoodCore 3.0.61 — native product catalogue scrolling === */
html{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
}
body{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y pinch-zoom!important;
}
body:not(.addressFirstRun):not(.addressBoot):not(.branchSelectorOpen){
  position:static!important;
}
.app{
  height:auto!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow:visible!important;
  overflow-x:clip!important;
  touch-action:pan-y pinch-zoom!important;
}
.app main,
.menuSection,
#categorySections,
.categoryBlock,
.products,
.product{
  touch-action:pan-y pinch-zoom!important;
}
.categories,.promoRail,.popularRail{
  touch-action:pan-x pinch-zoom!important;
}


/* === FoodCore 3.0.62 — immediate native scroll response ===
   Remove gesture arbitration and compositor warm-up delay on the first swipe. */
html,body{
  scroll-behavior:auto!important;
  touch-action:auto!important;
}
body:not(.addressFirstRun):not(.addressBoot):not(.branchSelectorOpen){
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.app{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  touch-action:auto!important;
}
.app main,.menuSection,#categorySections,.categoryBlock,.products,.product,.productImage,.productBody{
  touch-action:auto!important;
}
.categories,.promoRail,.popularRail{
  touch-action:pan-x pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
/* Sticky elements do not need forced GPU layers; they could pause the first scroll while compositing. */
.statusAccent,.topbar,.categoryDock{
  will-change:auto!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
html.fcViewportRefresh .statusAccent,
html.fcViewportRefresh .topbar,
html.fcViewportRefresh .categoryDock{
  will-change:auto!important;
}

/* FoodCore 3.0.63 — product card split into separate image and description areas */
#productModal .sheetCard{padding:16px 16px calc(16px + env(safe-area-inset-bottom));overflow-x:hidden}
#productModalBody{min-width:0}
.productDetailLayout{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:16px;align-items:start;padding-top:28px}
.productDetailMedia,.productDetailInfo{min-width:0}
.productDetailMedia{position:relative}
.productDetailMedia .modalVisual{width:100%;height:auto;aspect-ratio:4/5;border-radius:18px;background:#242424}
.productDetailMedia .modalVisual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.productDetailMedia .productStickers{position:absolute;left:8px;top:8px;z-index:2;margin:0;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 16px)}
.productDetailInfo .modalTitle{margin:0 38px 10px 0;font-size:24px;line-height:1.08;overflow-wrap:anywhere}
.productDetailInfo .modalDesc{margin:0;color:#aaa;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.productDetailInfo .optionGroup{margin-top:15px}
.productDetailInfo .optionGroup h3{font-size:15px;margin:0 0 8px}
#productModal .modalFoot{position:sticky;bottom:-16px;z-index:4;margin:16px -16px -16px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:rgba(24,24,24,.98);border-top:1px solid #303030;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#productModal .sheetClose{z-index:8}
@media(max-width:390px){.productDetailLayout{grid-template-columns:minmax(0,42%) minmax(0,58%);gap:12px}.productDetailInfo .modalTitle{font-size:21px}.productDetailInfo .modalDesc{font-size:13px}.productDetailMedia .modalVisual{border-radius:15px}}
@media(max-width:335px){.productDetailLayout{grid-template-columns:1fr;padding-top:28px}.productDetailMedia .modalVisual{aspect-ratio:16/10}.productDetailInfo .modalTitle{margin-top:2px}}

/* FoodCore 3.0.64 — compact product cards with visible image */
@media (max-width:600px){
  .products{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .product{
    display:grid!important;
    grid-template-columns:132px minmax(0,1fr)!important;
    min-height:132px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .productImage{
    width:132px!important;
    height:132px!important;
    min-height:132px!important;
    align-self:stretch!important;
    background:#242424!important;
  }
  .productImage img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .productBody{
    min-width:0!important;
    padding:13px 12px!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .product h3{
    font-size:16px!important;
    line-height:1.2!important;
    margin:0 0 7px!important;
  }
  .product p{
    font-size:12px!important;
    line-height:1.35!important;
    min-height:0!important;
    -webkit-line-clamp:2!important;
  }
  .productMeta{
    margin-top:auto!important;
    padding-top:9px!important;
  }
  .productPrice b{font-size:19px!important}
  .productPrice span{font-size:10px!important}
  .addButton{width:40px!important;height:40px!important;font-size:25px!important;flex:0 0 40px!important}
  .productBadge{left:7px!important;top:7px!important;z-index:2!important}

  .popularRail{padding-right:10px!important}
  .popularCard{
    flex:0 0 calc(100vw - 40px)!important;
    max-width:400px!important;
    height:132px!important;
    grid-template-columns:132px minmax(0,1fr)!important;
    padding:0!important;
    gap:0!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .popularImage{
    width:132px!important;
    height:132px!important;
    border-radius:0!important;
    background:#242424!important;
  }
  .popularImage img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .popularCard>div:last-child{
    min-width:0!important;
    padding:15px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .popularCard h3{font-size:17px!important;margin:0 0 10px!important}
  .popularCard b{font-size:20px!important}
}
@media (max-width:370px){
  .product{grid-template-columns:116px minmax(0,1fr)!important;min-height:116px!important}
  .productImage{width:116px!important;height:116px!important;min-height:116px!important}
  .popularCard{height:116px!important;grid-template-columns:116px minmax(0,1fr)!important}
  .popularImage{width:116px!important;height:116px!important}
  .productBody{padding:11px 10px!important}
  .product h3{font-size:15px!important}
  .product p{font-size:11px!important}
}

/* FoodCore 3.5.4 — каталог мультибрендов */
.clientBranchSelector.brandCatalog{align-items:flex-end;padding:0;background:rgba(20,23,28,.72);backdrop-filter:blur(12px)}
.clientBrandCatalogCard{width:100%;max-height:92vh;overflow:auto;background:#f6f7f9;border-radius:28px 28px 0 0;padding:14px 16px 28px;box-shadow:0 -20px 70px rgba(0,0,0,.28)}
.clientBrandCatalogHead{padding:8px 4px 16px}.clientBrandCatalogHead h2{margin:0;font-size:28px}.clientBrandCatalogHead p{margin:6px 0 0;color:#788292}
.clientBrandGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clientBrandItem{border:0;background:#fff;border-radius:20px;overflow:hidden;padding:0;text-align:left;box-shadow:0 6px 24px rgba(24,31,42,.08)}
.clientBrandCover{display:block;aspect-ratio:1.45/1;background:#e7eaee;overflow:hidden}.clientBrandCover img{width:100%;height:100%;object-fit:cover;display:block}.clientBrandFallback{height:100%;display:grid;place-items:center;font-size:42px;font-weight:900}
.clientBrandBody{display:block;padding:13px}.clientBrandBody b{display:block;font-size:17px;color:#171b22}.clientBrandBody small{display:block;margin-top:5px;color:#778190;line-height:1.35}.clientBrandBody em{display:block;margin-top:9px;font-style:normal;font-size:11px;color:#ef2b2d;font-weight:700}
@media(max-width:420px){.clientBrandGrid{grid-template-columns:1fr}.clientBrandCover{aspect-ratio:1.8/1}}


/* FoodCore 3.5.21 — самостоятельная оболочка мультибренда */
body.multibrandHome{background:#fff;color:#161616;overflow-y:auto!important}.multibrandHome .app{max-width:560px;background:#fff;padding:0;min-height:100vh}.multibrandHome .drawerOverlay,.multibrandHome .sideDrawer{display:none}.aggHome{min-height:100vh;background:#fff;padding-bottom:40px}.aggHomeTop{position:sticky;top:0;z-index:20;display:flex;gap:12px;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.aggAddress{min-width:0;flex:1;border:0;background:#f4f4f2;border-radius:18px;padding:12px 14px;display:grid;grid-template-columns:28px 1fr 18px;align-items:center;text-align:left;color:#171717}.aggAddress>span{font-size:22px}.aggAddress div{min-width:0}.aggAddress small{display:block;color:#8c8c8c;font-size:11px}.aggAddress b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;margin-top:2px}.aggAddress i{font-style:normal;font-size:24px}.aggProfile{width:48px;height:48px;border:0;border-radius:50%;background:#f4f4f2;font-size:24px}.aggIntro{padding:14px 18px 10px}.aggIntro h1{font-size:38px;line-height:1;margin:12px 0 24px;letter-spacing:-1.5px}.aggSearch{height:58px;border-radius:19px;background:#f3f3f1;display:flex;align-items:center;gap:12px;padding:0 18px}.aggSearch span{font-size:28px}.aggSearch input{border:0;outline:0;background:transparent;width:100%;font-size:17px;color:#111}.aggPromo{margin:12px 18px 18px;min-height:150px;border-radius:26px;padding:22px;background:linear-gradient(135deg,#ffdf33,#ff6b31);display:flex;justify-content:space-between;align-items:center;overflow:hidden}.aggPromo div{display:grid;gap:7px}.aggPromo small{font-weight:900;font-size:10px}.aggPromo b{font-size:25px;line-height:1.05}.aggPromo span{font-size:13px}.aggPromo strong{font-size:70px;transform:rotate(-8deg)}.aggCuisineRail{display:flex;gap:9px;overflow:auto;padding:0 18px 16px;scrollbar-width:none}.aggCuisineRail::-webkit-scrollbar{display:none}.aggCuisineRail button{border:0;background:#f3f3f1;color:#333;border-radius:999px;padding:11px 17px;white-space:nowrap;font-weight:700}.aggCuisineRail button.active{background:#171717;color:#fff}.aggRestaurants{padding:5px 18px}.aggSectionTitle{display:flex;justify-content:space-between;align-items:end;margin:12px 0 15px}.aggSectionTitle h2{font-size:30px;margin:0}.aggSectionTitle span{color:#999;font-size:13px}.aggRestaurantCard{display:block;width:100%;border:0;background:#fff;text-align:left;padding:0;margin:0 0 24px;color:#161616}.aggRestaurantCover{display:block;height:220px;border-radius:27px;overflow:hidden;background:#f0f0ee;position:relative}.aggRestaurantCover img{width:100%;height:100%;object-fit:cover}.aggCoverFallback{width:100%;height:100%;display:grid;place-items:center;font-size:70px;font-weight:900;color:#999}.aggRestaurantCover i{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;font-size:27px;font-style:normal}.aggRestaurantInfo{display:flex;justify-content:space-between;gap:12px;padding:13px 4px 0}.aggRestaurantInfo>span{min-width:0}.aggRestaurantInfo b{display:block;font-size:23px}.aggRestaurantInfo small{display:block;color:#777;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aggRestaurantInfo em{font-style:normal;white-space:nowrap;font-size:13px;color:#555;margin-top:5px}.aggRestaurantInfo strong{font-size:20px}

body.multibrandRestaurant{--accent:#111;--bg:#fff;--card:#f5f5f3;--card2:#eee;--text:#171717;--muted:#8b8b8b;--line:#e8e8e8;background:#fff;color:#171717}.multibrandRestaurant .app{background:#fff;max-width:560px;padding-bottom:95px}.multibrandRestaurant .statusAccent{display:none}.multibrandRestaurant .topbar{height:88px;top:0;background:#fff;border:0;grid-template-columns:54px 1fr 54px;padding:calc(12px + env(safe-area-inset-top)) 18px 8px}.multibrandRestaurant .menuBtn{font-size:38px;line-height:1;color:#171717;display:block;padding:0;width:48px}.multibrandRestaurant .menuBtn span{display:none}.multibrandRestaurant .profileBtn{font-size:38px;color:#171717}.multibrandRestaurant .brand{justify-content:center}.multibrandRestaurant .brandmark{display:none}.multibrandRestaurant .brand b{font-size:18px;color:#171717}.multibrandRestaurant .workline{display:none}.multibrandRestaurant .aggRestaurantSummary{padding:18px 22px 20px;background:#fff}.multibrandRestaurant .aggRestaurantSummary h1{font-size:42px;line-height:1;margin:8px 0 18px;letter-spacing:-1.7px}.multibrandRestaurant .aggRestaurantMeta{display:flex;gap:0;align-items:center}.multibrandRestaurant .aggRestaurantMeta span{padding:0 14px;border-right:1px solid #ddd;font-weight:700}.multibrandRestaurant .aggRestaurantMeta span:first-child{padding-left:0}.multibrandRestaurant .aggRestaurantMeta span:last-child{border:0;color:#888}.multibrandRestaurant .aggCoupon{margin-top:22px;border-radius:18px;background:#e9f7ed;color:#148948;padding:16px;font-weight:700}.multibrandRestaurant .categoryDock{top:88px;background:#fff;border:0;padding:8px 18px 14px;box-shadow:0 12px 20px rgba(0,0,0,.04)}.multibrandRestaurant .searchIcon:before{border-color:#111}.multibrandRestaurant .searchIcon:after{background:#111}.multibrandRestaurant .categories{gap:12px}.multibrandRestaurant .category{background:#f3f3f1;border-radius:999px;padding:12px 17px;color:#777;font-size:14px}.multibrandRestaurant .category.active{background:#171717;color:#fff}.multibrandRestaurant .category.active:after{display:none}.multibrandRestaurant .heroSlider,.multibrandRestaurant .promoRail,.multibrandRestaurant .infoStrip,.multibrandRestaurant .section:not(.menuSection),.multibrandRestaurant #dynamicInfoBlocks{display:none!important}.multibrandRestaurant .menuSection{padding:22px 0}.multibrandRestaurant .sectionHead{padding:0 22px}.multibrandRestaurant .sectionHead h2{font-size:34px;color:#171717}.multibrandRestaurant .categoryBlock{padding:4px 18px 25px}.multibrandRestaurant .categoryTitle{font-size:28px;color:#171717;margin:15px 4px 16px}.multibrandRestaurant .products{gap:14px}.multibrandRestaurant .product{background:#fff;border-radius:0;overflow:visible}.multibrandRestaurant .productImage{height:180px;border-radius:24px;background:#f4f4f2}.multibrandRestaurant .productBody{padding:12px 4px}.multibrandRestaurant .product h3{font-size:17px;color:#171717;min-height:40px}.multibrandRestaurant .product p{color:#8b8b8b;font-size:13px;min-height:34px}.multibrandRestaurant .productMeta{align-items:end}.multibrandRestaurant .productPrice b{font-size:20px;color:#171717}.multibrandRestaurant .addButton{background:#fff;color:#111;border:1px solid #e1e1e1;box-shadow:0 5px 18px rgba(0,0,0,.12);width:44px;height:44px;font-size:27px}.multibrandRestaurant .bottomNav{background:#fff;border-top:1px solid #eee;color:#111}.multibrandRestaurant .bottomNav button{color:#999}.multibrandRestaurant .bottomNav .active{color:#111}.multibrandRestaurant .floatingCart{background:#171717;color:#fff;border:0;box-shadow:0 10px 24px rgba(0,0,0,.22)}.multibrandRestaurant .sheetCard{background:#fff;color:#171717}.multibrandRestaurant .sheetClose{background:#eee;color:#111}.multibrandRestaurant .checkout input,.multibrandRestaurant .checkout select,.multibrandRestaurant .checkout textarea{background:#f4f4f2;color:#111;border-color:#e4e4e4}.multibrandRestaurant .primary{background:#171717}.multibrandRestaurant .sideDrawer{display:none}
@media(max-width:380px){.aggRestaurantCover{height:190px}.multibrandRestaurant .aggRestaurantSummary h1{font-size:35px}.multibrandRestaurant .productImage{height:155px}}

/* FoodCore 3.5.22 — refined multibrand-only UI. Standard single-restaurant shell is untouched. */
body.multibrandHome{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.multibrandHome .app{max-width:560px}.aggPageBar{display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 28px 4px}.aggPageBar button{border:0;background:transparent;color:#1d1d1f;font-size:36px;width:48px;height:48px;display:grid;place-items:center}.aggShare{font-size:31px!important}.aggIntro{padding:35px 29px 18px}.aggIntro h1{font-size:50px;line-height:1;font-weight:950;letter-spacing:-2.5px;margin:0 0 72px}.aggSearch{height:88px;border-radius:26px;background:#f3f3f2;justify-content:center;padding:0 24px}.aggSearch span{font-size:42px}.aggSearch input{font-size:29px;font-weight:650;text-align:left;max-width:180px}.aggPromo{margin:10px 29px 36px;min-height:205px;border-radius:28px;padding:28px;background:linear-gradient(110deg,#ffe11a 0%,#ffce00 55%,#24b342 100%);box-shadow:none}.aggPromo small{font-size:13px}.aggPromo b{font-size:33px}.aggPromo span{font-size:14px}.aggPromo strong{font-size:90px}.aggCuisineIcons{display:flex;gap:12px;overflow-x:auto;padding:0 22px 26px;scrollbar-width:none}.aggCuisineIcons::-webkit-scrollbar{display:none}.aggCuisineIcons button{border:0;background:transparent;min-width:88px;padding:0;color:#202124}.aggCuisineIcons button span{display:grid;place-items:center;height:82px;font-size:56px;filter:drop-shadow(0 8px 9px rgba(0,0,0,.12));transition:.2s}.aggCuisineIcons button b{display:block;font-size:15px;margin-top:5px}.aggCuisineIcons button.active span{transform:translateY(-5px) scale(1.07)}.aggCuisineIcons button.active b{font-weight:900}.aggFilterRail{display:flex;gap:10px;overflow-x:auto;padding:0 29px 35px;scrollbar-width:none}.aggFilterRail::-webkit-scrollbar{display:none}.aggFilterRail button{border:0;background:#f1f1ef;border-radius:999px;padding:13px 18px;white-space:nowrap;font-size:15px;font-weight:750;color:#202124}.aggFilterRail button:first-child,.aggFilterRail button:nth-child(2){width:52px;padding:13px 0}.aggRestaurants{padding:0 29px}.aggSectionTitle{margin:0 0 22px}.aggSectionTitle h2{font-size:42px;font-weight:950;letter-spacing:-1.5px}.aggRestaurantCard{margin-bottom:34px}.aggRestaurantCover{height:265px;border-radius:31px}.aggRestaurantCover i{width:48px;height:48px;right:13px;top:13px;font-size:31px;background:transparent;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.aggRestaurantCover i.active{color:#ff3b30}.aggRestaurantInfo{padding:14px 13px 0}.aggRestaurantInfo b{font-size:25px;font-weight:850}.aggRestaurantInfo small{font-size:15px}.aggRestaurantInfo em{font-size:18px;font-weight:750;color:#1d1d1f}.aggCoverFallback{font-size:92px}.multibrandRestaurant .topbar{height:98px;padding:calc(14px + env(safe-area-inset-top)) 28px 8px}.multibrandRestaurant .menuBtn{font-size:42px;width:50px}.multibrandRestaurant .profileBtn{font-size:43px}.multibrandRestaurant .brand b{font-size:23px;font-weight:750}.multibrandRestaurant .aggRestaurantSummary{padding:38px 30px 30px;border-bottom:1px solid #f1f1f1}.multibrandRestaurant .aggRestaurantSummary h1{font-size:54px;font-weight:950;letter-spacing:-2.6px;margin:0 0 28px}.multibrandRestaurant .aggRestaurantMeta{display:grid;grid-template-columns:1fr 1.4fr 42px;gap:0}.multibrandRestaurant .aggRestaurantMeta span{padding:0 18px;border-right:1px solid #ddd;display:flex;flex-direction:column;gap:2px}.multibrandRestaurant .aggRestaurantMeta span:first-child{padding-left:0}.multibrandRestaurant .aggRestaurantMeta b{font-size:18px}.multibrandRestaurant .aggRestaurantMeta small{font-size:13px;color:#999}.multibrandRestaurant .aggRestaurantMeta .aggDots{font-size:34px;display:grid;place-items:center;padding:0;border:0}.multibrandRestaurant .aggOfferRail{display:flex;gap:12px;overflow-x:auto;margin:30px -30px 0;padding:0 30px;scrollbar-width:none}.multibrandRestaurant .aggOfferRail::-webkit-scrollbar{display:none}.multibrandRestaurant .aggOfferRail article{min-width:255px;border-radius:24px;background:#e8f7ef;color:#07934f;padding:22px 25px;display:flex;flex-direction:column}.multibrandRestaurant .aggOfferRail b{font-size:28px}.multibrandRestaurant .aggOfferRail small{font-size:15px;margin-top:4px}.multibrandRestaurant .aggCoupon{margin-top:24px;border-radius:18px;padding:18px 20px;font-size:16px}.multibrandRestaurant .categoryDock{top:98px;padding:0 0 12px;box-shadow:none;border-radius:0 0 28px 28px}.multibrandRestaurant .searchIcon{display:none}.multibrandRestaurant .categories{padding:0 30px;gap:30px}.multibrandRestaurant .category{background:transparent!important;border-radius:0;padding:18px 0 13px;color:#999;font-size:18px;font-weight:500}.multibrandRestaurant .category.active{color:#171717;font-weight:850;border-bottom:3px solid #171717}.multibrandRestaurant .menuSection{padding-top:22px}.multibrandRestaurant .sectionHead{display:none}.multibrandRestaurant .categoryBlock{padding:6px 30px 34px}.multibrandRestaurant .categoryTitle{font-size:39px;font-weight:950;margin:20px 0 22px}.multibrandRestaurant .products{gap:24px 18px}.multibrandRestaurant .productImage{height:230px;border-radius:28px;background:#f7f7f6}.multibrandRestaurant .productBody{padding:14px 10px 0}.multibrandRestaurant .product h3{font-size:21px;line-height:1.22;min-height:auto;font-weight:550}.multibrandRestaurant .product p{font-size:15px;min-height:auto;margin-top:4px}.multibrandRestaurant .productMeta{position:relative;align-items:flex-start}.multibrandRestaurant .productPrice b{font-size:23px;font-weight:900}.multibrandRestaurant .productPrice span{font-size:15px}.multibrandRestaurant .addButton{position:absolute;right:10px;bottom:108px;width:56px;height:56px;border:0;font-size:34px}.multibrandRestaurant .bottomNav{display:none!important}.multibrandRestaurant .app{padding-bottom:95px}.multibrandRestaurant .floatingCart{left:22px;right:22px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;transform:none;border-radius:22px;height:64px}.multibrandRestaurant .productBadge{border-radius:12px;padding:7px 10px}.multibrandRestaurant .sheetCard{border-radius:32px 32px 0 0}.multibrandRestaurant .modalVisual{background:#f7f7f6;border-radius:26px}.multibrandRestaurant .modalTitle{font-size:34px}.multibrandRestaurant .primary{background:#111;border-radius:18px}.multibrandRestaurant .closedSheet{background:#fff}.multibrandRestaurant .closedSheet .primary{background:#111}@media(max-width:390px){.aggIntro h1{font-size:43px;margin-bottom:50px}.aggSearch{height:72px}.aggSearch input{font-size:24px}.aggRestaurantCover{height:225px}.multibrandRestaurant .aggRestaurantSummary h1{font-size:45px}.multibrandRestaurant .productImage{height:190px}.multibrandRestaurant .categoryBlock{padding-left:20px;padding-right:20px}.multibrandRestaurant .products{gap:20px 12px}}

/* FoodCore 3.5.23 — compact multibrand layout only. Standard app remains untouched. */
body.multibrandHome .aggPageBar{display:none!important}
body.multibrandHome .aggIntro{padding:calc(22px + env(safe-area-inset-top)) 18px 12px}
body.multibrandHome .aggIntro h1{font-size:34px;line-height:1.05;letter-spacing:-1.3px;margin:0 0 22px}
body.multibrandHome .aggSearch{height:54px;border-radius:17px;padding:0 16px;justify-content:flex-start}
body.multibrandHome .aggSearch span{font-size:27px}
body.multibrandHome .aggSearch input{font-size:17px;font-weight:600;max-width:none;text-align:left}
body.multibrandHome .aggPromo{margin:8px 18px 20px;min-height:128px;height:128px;border-radius:20px;padding:18px 20px}
body.multibrandHome .aggPromo small{font-size:9px}
body.multibrandHome .aggPromo b{font-size:22px;line-height:1.02}
body.multibrandHome .aggPromo span{font-size:11px;max-width:175px}
body.multibrandHome .aggPromo strong{font-size:58px}
body.multibrandHome .aggCuisineIcons{padding:0 14px 16px;gap:4px}
body.multibrandHome .aggCuisineIcons button{min-width:66px}
body.multibrandHome .aggCuisineIcons button span{height:52px;font-size:38px}
body.multibrandHome .aggCuisineIcons button b{font-size:12px;margin-top:2px}
body.multibrandHome .aggFilterRail{padding:0 18px 20px;gap:7px}
body.multibrandHome .aggFilterRail button{padding:9px 13px;font-size:12px}
body.multibrandHome .aggFilterRail button:first-child,body.multibrandHome .aggFilterRail button:nth-child(2){width:39px;padding:9px 0}
body.multibrandHome .aggRestaurants{padding:0 18px}
body.multibrandHome .aggSectionTitle{margin:0 0 12px}
body.multibrandHome .aggSectionTitle h2{font-size:28px;letter-spacing:-.7px}
body.multibrandHome .aggRestaurantCard{margin-bottom:22px}
body.multibrandHome .aggRestaurantCover{height:175px;border-radius:20px}
body.multibrandHome .aggRestaurantCover i{width:36px;height:36px;font-size:23px;right:9px;top:9px}
body.multibrandHome .aggRestaurantInfo{padding:9px 3px 0}
body.multibrandHome .aggRestaurantInfo b{font-size:18px}
body.multibrandHome .aggRestaurantInfo small{font-size:12px;margin-top:2px}
body.multibrandHome .aggRestaurantInfo em{font-size:13px;margin-top:3px}
body.multibrandHome .aggCoverFallback{font-size:54px}

body.multibrandRestaurant .topbar{height:70px;padding:calc(8px + env(safe-area-inset-top)) 18px 4px;grid-template-columns:42px 1fr 42px}
body.multibrandRestaurant .menuBtn{font-size:31px;width:40px}
body.multibrandRestaurant .profileBtn{font-size:30px}
body.multibrandRestaurant .brand b{font-size:17px}
body.multibrandRestaurant .aggRestaurantSummary{padding:18px 18px 18px}
body.multibrandRestaurant .aggRestaurantSummary h1{font-size:34px;letter-spacing:-1.2px;margin:0 0 15px}
body.multibrandRestaurant .aggRestaurantMeta{grid-template-columns:1fr 1.35fr 34px}
body.multibrandRestaurant .aggRestaurantMeta span{padding:0 10px}
body.multibrandRestaurant .aggRestaurantMeta b{font-size:14px}
body.multibrandRestaurant .aggRestaurantMeta small{font-size:10px}
body.multibrandRestaurant .aggRestaurantMeta .aggDots{font-size:25px}
body.multibrandRestaurant .aggOfferRail{gap:8px;margin:18px -18px 0;padding:0 18px}
body.multibrandRestaurant .aggOfferRail article{min-width:190px;border-radius:17px;padding:14px 16px}
body.multibrandRestaurant .aggOfferRail b{font-size:19px}
body.multibrandRestaurant .aggOfferRail small{font-size:11px}
body.multibrandRestaurant .aggCoupon{margin-top:16px;border-radius:14px;padding:13px 15px;font-size:13px}
body.multibrandRestaurant .categoryDock{top:70px;padding:0 0 8px;border-radius:0 0 18px 18px}
body.multibrandRestaurant .categories{padding:0 18px;gap:22px}
body.multibrandRestaurant .category{padding:12px 0 9px;font-size:14px}
body.multibrandRestaurant .category.active{border-bottom-width:2px}
body.multibrandRestaurant .menuSection{padding-top:12px}
body.multibrandRestaurant .categoryBlock{padding:4px 18px 23px}
body.multibrandRestaurant .categoryTitle{font-size:27px;margin:14px 0 13px}
body.multibrandRestaurant .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
body.multibrandRestaurant .product{min-width:0}
body.multibrandRestaurant .productImage{height:116px;border-radius:17px;font-size:0;background:#f5f5f4}
body.multibrandRestaurant .productImage:not(:has(img)){background:#f5f5f4}
body.multibrandRestaurant .productBody{padding:8px 3px 0}
body.multibrandRestaurant .product h3{font-size:14px;line-height:1.2;font-weight:600;min-height:34px;margin-bottom:3px}
body.multibrandRestaurant .product p{font-size:10px;line-height:1.25;min-height:25px;margin-top:2px;-webkit-line-clamp:2}
body.multibrandRestaurant .productMeta{margin-top:7px}
body.multibrandRestaurant .productPrice b{font-size:16px}
body.multibrandRestaurant .productPrice span{font-size:10px}
body.multibrandRestaurant .addButton{right:7px;bottom:73px;width:38px;height:38px;font-size:23px;box-shadow:0 4px 12px rgba(0,0,0,.10)}
body.multibrandRestaurant .productBadge{border-radius:8px;padding:4px 6px;font-size:8px}
body.multibrandRestaurant .floatingCart{left:18px;right:18px;height:54px;border-radius:17px}
@media(max-width:390px){body.multibrandHome .aggPromo{height:118px;min-height:118px}body.multibrandHome .aggRestaurantCover{height:160px}body.multibrandRestaurant .productImage{height:108px}body.multibrandRestaurant .categoryBlock{padding-left:14px;padding-right:14px}body.multibrandRestaurant .products{gap:16px 8px}}

/* 3.5.27 multibrand restaurant logo */
.aggRestaurantLogo{position:absolute;left:14px;bottom:14px;width:58px;height:58px;border-radius:17px;background:#fff;padding:5px;box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;display:grid;place-items:center}.aggRestaurantLogo img{width:100%;height:100%;object-fit:contain;border-radius:12px}@media(max-width:390px){.aggRestaurantLogo{width:50px;height:50px;left:11px;bottom:11px;border-radius:15px}}

/* FoodCore 3.5.28 — multibrand identity, strict 2-column grid and empty-image labels. */
body.multibrandHome .aggRestaurantCover .aggRestaurantLogo{display:none!important}
body.multibrandHome .aggRestaurantInfo{align-items:center;gap:10px}
body.multibrandHome .aggRestaurantInfoMain{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body.multibrandHome .aggRestaurantInfoLogo{width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#fff;border:1px solid #ececec;display:grid;place-items:center;padding:4px;overflow:hidden}
body.multibrandHome .aggRestaurantInfoLogo img{width:100%;height:100%;object-fit:contain;border-radius:10px}
body.multibrandHome .aggRestaurantInfoText{display:block;min-width:0}
body.multibrandHome .aggRestaurantInfoText b,body.multibrandHome .aggRestaurantInfoText small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.multibrandHome .aggCoverSoon{width:100%;height:100%;display:grid;place-items:center;color:#aaa;font-size:18px;font-weight:750;background:#f3f3f1}

body.multibrandRestaurant .topbar .brandmark,
body.multibrandRestaurant .topbar .brand img,
body.multibrandRestaurant .topbar .brand svg,
body.multibrandRestaurant .topbar .brand b{display:none!important}
body.multibrandRestaurant .aggRestaurantSummary{padding-top:12px}
body.multibrandRestaurant .aggRestaurantIdentity{display:flex;align-items:center;gap:12px;margin-bottom:14px;min-width:0}
body.multibrandRestaurant .aggRestaurantHeaderLogo{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:#fff;border:1px solid #e9e9e9;display:grid;place-items:center;padding:5px;overflow:hidden}
body.multibrandRestaurant .aggRestaurantHeaderLogo img{width:100%;height:100%;object-fit:contain;border-radius:11px}
body.multibrandRestaurant .aggRestaurantIdentity>div{min-width:0}
body.multibrandRestaurant .aggRestaurantIdentity h1{font-size:25px!important;line-height:1.08!important;letter-spacing:-.6px!important;margin:0 0 4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.multibrandRestaurant .aggRestaurantIdentity p{margin:0;color:#8b8b8b;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body.multibrandRestaurant .products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;align-items:start!important;gap:18px 10px!important;width:100%!important}
body.multibrandRestaurant .products>.product{display:block!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important}
body.multibrandRestaurant .productImage{position:relative;display:grid;place-items:center;overflow:hidden}
body.multibrandRestaurant .productImage.noImage{background:#f3f3f1!important}
body.multibrandRestaurant .productSoon{display:grid;place-items:center;width:100%;height:100%;color:#a3a3a3;font-size:16px;font-weight:750;letter-spacing:.1px}
body.multibrandRestaurant .productImage.noImage .productBadge{display:none}
@media(max-width:390px){body.multibrandHome .aggRestaurantInfoLogo{width:42px;height:42px;flex-basis:42px}body.multibrandRestaurant .aggRestaurantHeaderLogo{width:47px;height:47px;flex-basis:47px}body.multibrandRestaurant .products{gap:16px 8px!important}}

/* FoodCore 3.5.29 — symmetrical multibrand product grid. Single-brand UI untouched. */
body.multibrandRestaurant .products{
  --mb-product-image-h:116px;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:236px!important;
  align-items:stretch!important;
  gap:16px 10px!important;
}
body.multibrandRestaurant .products>.product{
  height:236px!important;
  min-height:236px!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  overflow:visible!important;
}
body.multibrandRestaurant .productImage{
  flex:0 0 var(--mb-product-image-h)!important;
  width:100%!important;
  height:var(--mb-product-image-h)!important;
  min-height:var(--mb-product-image-h)!important;
  max-height:var(--mb-product-image-h)!important;
  aspect-ratio:auto!important;
  border-radius:17px!important;
}
body.multibrandRestaurant .productImage img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body.multibrandRestaurant .productBody{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:8px 3px 0!important;
}
body.multibrandRestaurant .product h3{
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-height:17px!important;
}
body.multibrandRestaurant .product p{
  display:none!important;
}
body.multibrandRestaurant .productMeta{
  margin-top:auto!important;
  min-height:38px!important;
  align-items:flex-end!important;
}
body.multibrandRestaurant .productPrice{
  min-width:0!important;
}
body.multibrandRestaurant .productPrice b{
  display:block!important;
  line-height:20px!important;
}
body.multibrandRestaurant .productPrice span{
  min-height:13px!important;
  line-height:13px!important;
}
body.multibrandRestaurant .addButton{
  position:absolute!important;
  right:6px!important;
  top:calc(var(--mb-product-image-h) - 21px)!important;
  bottom:auto!important;
  width:38px!important;
  height:38px!important;
  z-index:3!important;
}
body.multibrandRestaurant .productSoon{
  height:100%!important;
  min-height:100%!important;
}
@media(max-width:390px){
  body.multibrandRestaurant .products{
    --mb-product-image-h:108px;
    grid-auto-rows:224px!important;
    gap:15px 8px!important;
  }
  body.multibrandRestaurant .products>.product{
    height:224px!important;
    min-height:224px!important;
  }
}

/* FoodCore 3.5.30 — multibrand add button fixed inside product image. Single-brand UI untouched. */
body.multibrandRestaurant .productImage{
  position:relative!important;
  overflow:hidden!important;
}
body.multibrandRestaurant .productImage .addButton{
  position:absolute!important;
  right:8px!important;
  bottom:8px!important;
  top:auto!important;
  left:auto!important;
  margin:0!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  z-index:6!important;
  background:#fff!important;
  color:#1b1b1b!important;
  border:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.13)!important;
  font-size:27px!important;
  line-height:1!important;
  padding:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.multibrandRestaurant .productImage .addButton:active{
  transform:scale(.94)!important;
}
body.multibrandRestaurant .productMeta>.addButton{
  display:none!important;
}
body.multibrandRestaurant .productImage.noImage .addButton{
  display:grid!important;
}
@media(max-width:390px){
  body.multibrandRestaurant .productImage .addButton{
    right:7px!important;
    bottom:7px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:25px!important;
  }
}

/* 3.5.31 — график и рекламные блоки мультибренда */
.aggRestaurantCard.isClosed{opacity:.76;cursor:not-allowed}.aggRestaurantCard.isClosed .aggRestaurantCover img{filter:grayscale(.8) brightness(.65)}.aggClosedOverlay{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:rgba(34,34,34,.44);color:#fff;z-index:3}.aggClosedOverlay b{font-size:22px}.aggClosedOverlay small{margin-top:6px}.aggWorkStatus{font-weight:700;color:#40935f!important}.aggRestaurantCard.isClosed .aggWorkStatus{color:#a24b4b!important}.multibrandRestaurant .aggOfferRail article{background:var(--offer-bg,#eaf8ef)!important;display:flex!important;align-items:center;gap:11px}.multibrandRestaurant .aggOfferRail article i{font-style:normal;font-size:23px}.multibrandRestaurant .aggOfferRail article span{display:grid}.multibrandRestaurant .aggCoupon{width:100%;border:0;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.multibrandRestaurant .aggCoupon span{display:grid}.multibrandRestaurant .aggCoupon span small{font-size:11px;opacity:.75;margin-top:2px}.multibrandRestaurant .aggCoupon em{font-style:normal;font-size:12px;font-weight:800}


/* FoodCore 3.5.36 — динамические баннеры */
.clientBannerRail,.aggBannerRail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.clientBannerRail::-webkit-scrollbar,.aggBannerRail::-webkit-scrollbar{display:none}.clientContentBanner,.aggContentBanner{position:relative;flex:0 0 100%;border:0;padding:0;border-radius:22px;overflow:hidden;background:#f2f3f5;scroll-snap-align:start;text-align:left;min-height:180px}.clientContentBanner img,.aggContentBanner img{width:100%;height:100%;min-height:180px;display:block;object-fit:cover}.clientBannerFallback{height:180px;display:grid;place-items:center;color:#939baa;font-weight:800}.clientBannerOverlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px;color:#fff;background:linear-gradient(transparent 35%,rgba(0,0,0,.72))}.clientBannerOverlay b{font-size:25px;line-height:1.05}.clientBannerOverlay small{margin-top:6px;max-width:80%;font-size:13px}.clientBannerOverlay em{margin-top:12px;padding:8px 13px;background:#fff;color:#111;border-radius:12px;font-style:normal;font-weight:900}.aggBannerRail{margin:0 0 20px}.aggContentBanner{flex-basis:94%;min-height:150px;border-radius:20px}.aggContentBanner img{min-height:150px;max-height:190px}.heroSlider:has(.clientBannerRail){padding-bottom:0}.heroSlider .clientBannerRail{width:100%}

/* 3.5.37 banner image delivery fix */
.clientContentBanner,.aggContentBanner{aspect-ratio:12/5;min-height:0!important}.clientContentBanner img,.aggContentBanner img{width:100%;height:100%!important;min-height:0!important;object-fit:cover}.clientBannerFallback{width:100%;height:100%;min-height:150px;place-items:center}.aggContentBanner{flex-basis:94%;}


/* FoodCore 3.5.53 — fixed header, restored banner spacing and compact 2×2 catalogue */
@media (max-width:600px){
  :root{--fc-client-head:calc(118px + env(safe-area-inset-top,0px))}
  body:not(.multibrandHome):not(.multibrandRestaurant) .statusAccent{position:fixed!important;left:0;right:0;top:0;z-index:120!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .topbar{position:fixed!important;left:50%!important;top:3px!important;transform:translateX(-50%)!important;width:min(440px,100%)!important;height:calc(64px + env(safe-area-inset-top,0px))!important;padding:calc(5px + env(safe-area-inset-top,0px)) 14px 4px!important;grid-template-columns:48px minmax(0,1fr) 48px!important;z-index:119!important;background:rgba(10,10,10,.985)!important;border-bottom:1px solid #292929!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .categoryDock{position:fixed!important;left:50%!important;top:calc(67px + env(safe-area-inset-top,0px))!important;transform:translateX(-50%)!important;width:min(440px,100%)!important;height:51px!important;z-index:118!important;background:rgba(10,10,10,.985)!important;border-radius:0!important;border-bottom:1px solid #252525!important;padding:0 8px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .app main{padding-top:var(--fc-client-head)!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .brand.wideLogo{transform:translateX(var(--header-logo-shift,18px))!important;justify-content:center!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .headerWideLogo{height:min(var(--header-logo-height,44px),43px)!important;max-width:235px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .menuBtn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;align-self:center!important;margin:0!important;padding:8px 4px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .heroSlider{margin-top:0!important;padding-top:12px!important;position:relative!important;z-index:1!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .heroSlider .clientBannerRail,body:not(.multibrandHome):not(.multibrandRestaurant) .heroCard{display:flex!important;visibility:visible!important;opacity:1!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .section{padding:12px 12px 4px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .sectionHead{margin-bottom:10px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .sectionHead h2{font-size:22px!important;line-height:1.1!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularRail{gap:10px!important;padding:0 2px 8px!important;overflow-x:auto!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularCard{flex:0 0 122px!important;width:122px!important;max-width:122px!important;height:auto!important;display:block!important;padding:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage{position:relative!important;width:122px!important;height:122px!important;border-radius:16px!important;overflow:hidden!important;background:#242424!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage img{width:100%!important;height:100%!important;object-fit:cover!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularInfo{padding:7px 2px 0!important;display:flex!important;flex-direction:column!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularInfo b{order:0;font-size:16px!important;line-height:1.1!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularInfo h3{order:1;font-size:12px!important;line-height:1.25!important;margin:4px 0 0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularAddButton{position:absolute!important;right:7px!important;bottom:7px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:50%!important;background:#fff!important;color:#111!important;border:0!important;box-shadow:0 4px 12px rgba(0,0,0,.24)!important;font-size:23px!important;z-index:3!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .categoryBlock{padding:2px 6px 16px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .categoryTitle{font-size:21px!important;margin:10px 0 9px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 9px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .products>.product{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;border-radius:15px!important;overflow:hidden!important;background:var(--card)!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productImage{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.24/1!important;border-radius:15px 15px 0 0!important;background:#242424!important;overflow:hidden!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productImage img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productBody{padding:8px 9px 9px!important;min-height:82px!important;display:flex!important;flex-direction:column!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .product h3{font-size:13px!important;line-height:1.2!important;margin:0 0 4px!important;min-height:31px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .product p{display:none!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productMeta{margin-top:auto!important;padding-top:4px!important;align-items:center!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productPrice b{font-size:16px!important;line-height:1!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productPrice span{font-size:9px!important;margin-top:3px!important}
  body:not(.multibrandHome):not(.multibrandRestaurant) .productMeta>.addButton{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex:0 0 34px!important;font-size:22px!important}
  #productModal .sheetCard{padding:0 0 calc(12px + env(safe-area-inset-bottom))!important;max-height:94vh!important}
  #productModal .productDetailLayout{display:block!important;padding-top:0!important}
  #productModal .productDetailMedia .modalVisual{width:100%!important;aspect-ratio:1.28/1!important;border-radius:0 0 24px 24px!important}
  #productModal .productDetailInfo{padding:18px 18px 4px!important}
  #productModal .productDetailInfo .modalTitle{font-size:25px!important;margin-right:0!important}
  #productModal .productDetailInfo .modalDesc{font-size:14px!important;line-height:1.45!important}
  #productModal .modalFoot{margin:14px 0 0!important;bottom:calc(-12px - env(safe-area-inset-bottom))!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important}
  .productRecommendations{padding:8px 18px 12px!important}
  .productRecommendations>h3{font-size:22px!important;margin:8px 0 12px!important}
  .recommendRail{display:flex!important;gap:10px!important;overflow-x:auto!important;scrollbar-width:none!important}
  .recommendRail::-webkit-scrollbar{display:none}
  .recommendCard{flex:0 0 118px!important;width:118px!important;color:inherit!important}
  .recommendImage{position:relative!important;width:118px!important;height:118px!important;border-radius:15px!important;overflow:hidden!important;background:#242424!important}
  .recommendImage img{width:100%!important;height:100%!important;object-fit:cover!important}
  .recommendCard>b{display:block!important;font-size:16px!important;margin:7px 2px 3px!important}
  .recommendCard>span{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-size:12px!important;line-height:1.25!important;margin:0 2px!important}
  .recommendAddButton{position:absolute!important;right:7px!important;bottom:7px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;background:#fff!important;color:#111!important;border:0!important;font-size:22px!important}
}
@media (max-width:370px){body:not(.multibrandHome):not(.multibrandRestaurant) .popularCard{flex-basis:112px!important;width:112px!important;max-width:112px!important}body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage{width:112px!important;height:112px!important}body:not(.multibrandHome):not(.multibrandRestaurant) .products{gap:12px 8px!important}body:not(.multibrandHome):not(.multibrandRestaurant) .productBody{padding:7px 8px 8px!important}}


/* FoodCore 3.5.55 — точечный фикс без отката актуального интерфейса */
@media (max-width:600px){
  /* Шапка и категории остаются закреплёнными; двухколоночный каталог 3.5.53 сохраняется. */
  body:not(.multibrandHome):not(.multibrandRestaurant) .statusAccent{
    position:fixed!important;top:0!important;left:0!important;right:0!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .topbar{
    position:fixed!important;top:3px!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .categoryDock{
    position:fixed!important;top:calc(67px + env(safe-area-inset-top,0px))!important;
  }
  /* Реальное смещение логотипа из настроек, без захардкоженных 27 px. */
  body:not(.multibrandHome):not(.multibrandRestaurant) .brand.wideLogo{
    transform:translateX(var(--header-logo-shift,18px))!important;
  }
  /* Боковая панель начинается ниже закреплённой шапки и не прячется под ней. */
  body:not(.multibrandHome):not(.multibrandRestaurant) .sideDrawer{
    top:calc(67px + env(safe-area-inset-top,0px))!important;
    bottom:0!important;
    height:auto!important;
    padding-top:18px!important;
    z-index:117!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .drawerOverlay{
    top:calc(67px + env(safe-area-inset-top,0px))!important;
    z-index:116!important;
  }
}

/* FoodCore 3.5.56: drawer below the full sticky header + inline update card */
:root{--drawer-top:146px}
.drawerOverlay{top:var(--drawer-top)!important;bottom:0!important}
.sideDrawer{top:var(--drawer-top)!important;bottom:0!important;padding-top:14px!important}
.pwaUpdate{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:1!important;margin:10px 14px 2px;padding:12px 12px 12px 14px;border:1px solid #343434;border-radius:15px;background:linear-gradient(135deg,#1d1d1f,#121214);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:none!important}
.pwaUpdate[hidden]{display:none!important}
.pwaUpdate>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.pwaUpdate b{font-size:13px;line-height:1.2}
.pwaUpdate span{font-size:10px;line-height:1.25;color:#9b9ba2}
.pwaUpdate button{flex:0 0 auto;border:0;border-radius:11px;background:var(--accent);color:#fff;font-weight:900;font-size:12px;padding:10px 14px}

/* FoodCore 3.5.57 — окончательный фикс бокового меню и блока обновления */
@media (max-width:600px){
  body:not(.multibrandHome):not(.multibrandRestaurant) .sideDrawer{
    top:calc(var(--drawer-top, 118px) + 1px)!important;
    height:calc(100dvh - var(--drawer-top, 118px) - 1px)!important;
    max-height:calc(100dvh - var(--drawer-top, 118px) - 1px)!important;
    padding:20px 20px calc(28px + env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    z-index:117!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .drawerOverlay{
    top:calc(var(--drawer-top, 118px) + 1px)!important;
    height:calc(100dvh - var(--drawer-top, 118px) - 1px)!important;
    z-index:116!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .drawerTop{
    margin:0 0 18px!important;
    min-height:50px!important;
  }
}
.pwaUpdate{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  margin:12px 14px 6px!important;
  z-index:2!important;
  box-shadow:none!important;
  border:1px solid #343434!important;
}


/* FoodCore 3.5.58 — drawer over header + continuous category catalog */
@media (max-width:600px){
  body:not(.multibrandHome):not(.multibrandRestaurant) .drawerOverlay{
    position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;
    z-index:300!important;background:rgba(0,0,0,.48)!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .sideDrawer{
    position:fixed!important;top:0!important;left:0!important;bottom:0!important;
    width:min(86vw,390px)!important;height:100dvh!important;max-height:100dvh!important;
    padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px))!important;
    z-index:301!important;overflow-y:auto!important;
  }
  body.drawerOpen .topbar,body.drawerOpen .categoryDock,body.drawerOpen .statusAccent{z-index:100!important}
  .categoryBlock{scroll-margin-top:calc(122px + env(safe-area-inset-top,0px))}
}

/* FoodCore 3.5.59 — eight genuinely different side menu layouts */
body[class*="drawerTemplate-"] .sideDrawer{--drawer-fg:#151515;--drawer-muted:#777;--drawer-surface:#fff;--drawer-line:#e5e5e5;color:var(--drawer-fg);background:var(--drawer-surface)}
body[class*="drawerTemplate-"] .drawerClose,body[class*="drawerTemplate-"] .drawerNav button{color:var(--drawer-fg)}
body.drawerTemplate-cards .sideDrawer{background:#11151a;color:#fff;padding:18px}.drawerTemplate-cards .drawerTop,.drawerTemplate-cards .bonusCard,.drawerTemplate-cards .drawerRestaurant,.drawerTemplate-cards .drawerContact,.drawerTemplate-cards .drawerNav button{background:#1c2128;border:1px solid #303741;border-radius:16px;padding:13px;margin:0 0 9px;color:#fff}.drawerTemplate-cards .drawerTop{grid-template-columns:46px 1fr 34px}.drawerTemplate-cards .drawerHint,.drawerTemplate-cards .drawerRestaurant span,.drawerTemplate-cards .drawerContact span{color:#a7afb8}.drawerTemplate-cards .bonusCard{background:linear-gradient(135deg,var(--accent),#81151b)}.drawerTemplate-cards .drawerRestaurant{border:1px solid #303741}.drawerTemplate-cards .drawerSectionTitle{padding-left:5px}.drawerTemplate-cards .drawerFooter{opacity:.6}
body.drawerTemplate-floating .sideDrawer{background:linear-gradient(160deg,#fff 0,#fff4fb 58%,#f7eaff);padding:22px 18px}.drawerTemplate-floating .drawerTop{background:rgba(255,255,255,.75);padding:12px;border-radius:22px;box-shadow:0 12px 28px rgba(70,20,70,.1)}.drawerTemplate-floating .bonusCard{background:linear-gradient(135deg,#ff9b47,#ef36ad);box-shadow:0 14px 30px rgba(239,54,173,.28)}.drawerTemplate-floating .drawerNav button{background:#fff;border-radius:999px;padding:15px 17px;margin:5px 0;box-shadow:0 9px 20px rgba(62,24,63,.09)}.drawerTemplate-floating .drawerRestaurant{background:#fff;border:0;border-radius:18px;padding:14px;box-shadow:0 9px 20px rgba(62,24,63,.09)}.drawerTemplate-floating .drawerContact{background:linear-gradient(135deg,#ff8e42,#e934ae);color:#fff;border:0;border-radius:18px;padding:15px}.drawerTemplate-floating .drawerContact span{color:#fff}.drawerTemplate-floating .drawerFooter{display:none}
body.drawerTemplate-tabs .sideDrawer{width:min(92vw,390px);padding:0 0 20px 82px;background:#07101d;color:#fff}.drawerTemplate-tabs .sideDrawer:before{content:'⌂\A♙\A▣\A⌖\A•••\A?';white-space:pre;position:fixed;left:0;top:0;bottom:0;width:68px;padding-top:35px;text-align:center;font-size:23px;line-height:3.25;background:#151f36;color:#8ca5df}.drawerTemplate-tabs .drawerTop{padding:24px 16px 4px}.drawerTemplate-tabs .drawerClose,.drawerTemplate-tabs .drawerNav button{color:#fff}.drawerTemplate-tabs .bonusCard{margin:10px 14px 18px;background:linear-gradient(135deg,#263c7e,#171c42);border:1px solid #4268d4}.drawerTemplate-tabs .drawerNav,.drawerTemplate-tabs .drawerRestaurant,.drawerTemplate-tabs .drawerSectionTitle,.drawerTemplate-tabs .drawerContact,.drawerTemplate-tabs .drawerFooter{margin-left:14px;margin-right:14px}.drawerTemplate-tabs .drawerNav button{border-bottom:1px solid #1c2b45}.drawerTemplate-tabs .drawerRestaurant{border:1px solid #294a84;border-radius:14px;padding:14px}.drawerTemplate-tabs .drawerContact{border:1px solid #315aa5;border-radius:14px;padding:15px}.drawerTemplate-tabs .drawerHint,.drawerTemplate-tabs .drawerRestaurant span,.drawerTemplate-tabs .drawerContact span{color:#89a0c8}
body.drawerTemplate-restaurant .sideDrawer{background:radial-gradient(circle at 100% 0,#322713 0,#111 34%,#050505 75%);color:#f5dfaa;border-right:1px solid #8b682a}.drawerTemplate-restaurant .sideDrawer:after{content:'🍣';position:absolute;right:22px;top:22px;font-size:46px;opacity:.95}.drawerTemplate-restaurant .drawerTop{padding-right:55px}.drawerTemplate-restaurant .drawerClose,.drawerTemplate-restaurant .drawerNav button{color:#f5dfaa}.drawerTemplate-restaurant .bonusCard{background:rgba(0,0,0,.45);border:1px solid #b98d38;box-shadow:none}.drawerTemplate-restaurant .drawerNav button{border-bottom:1px solid rgba(185,141,56,.35)}.drawerTemplate-restaurant .drawerRestaurant{border:1px solid #9d772f;border-radius:13px;padding:14px;background:rgba(185,141,56,.08)}.drawerTemplate-restaurant .drawerSectionTitle{color:#d9ad55}.drawerTemplate-restaurant .drawerContact{border:1px solid #9d772f;border-radius:13px;padding:14px}.drawerTemplate-restaurant .drawerHint,.drawerTemplate-restaurant .drawerRestaurant span,.drawerTemplate-restaurant .drawerContact span{color:#bcae8d}.drawerTemplate-restaurant .drawerFooter{filter:sepia(1);opacity:.7}
body.drawerTemplate-neo .sideDrawer{background:#edf0f4;padding:24px 19px}.drawerTemplate-neo .drawerTop,.drawerTemplate-neo .bonusCard,.drawerTemplate-neo .drawerNav button,.drawerTemplate-neo .drawerRestaurant,.drawerTemplate-neo .drawerContact{background:#edf0f4;border:0;border-radius:17px;box-shadow:7px 7px 14px #cbd0d6,-7px -7px 14px #fff}.drawerTemplate-neo .drawerTop{padding:12px}.drawerTemplate-neo .bonusCard{color:#111}.drawerTemplate-neo .bonusCard>div span{background:#dfe4ea}.drawerTemplate-neo .drawerNav button{padding:14px;margin:7px 0}.drawerTemplate-neo .drawerRestaurant,.drawerTemplate-neo .drawerContact{padding:15px;margin:18px 0}.drawerTemplate-neo .drawerFooter{display:none}
body.drawerTemplate-gradient .sideDrawer{background:linear-gradient(145deg,#0c0614,#241033 55%,#130724);color:#fff}.drawerTemplate-gradient .sideDrawer:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(140,57,255,.4),transparent 32%);pointer-events:none}.drawerTemplate-gradient .drawerTop,.drawerTemplate-gradient .bonusCard,.drawerTemplate-gradient .drawerNav,.drawerTemplate-gradient .drawerRestaurant,.drawerTemplate-gradient .drawerContact{position:relative;z-index:1}.drawerTemplate-gradient .drawerClose,.drawerTemplate-gradient .drawerNav button{color:#fff}.drawerTemplate-gradient .bonusCard{background:linear-gradient(135deg,#ff467f,#6338ff);box-shadow:0 0 26px rgba(113,54,255,.5)}.drawerTemplate-gradient .drawerNav button{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:13px;margin:5px 0;backdrop-filter:blur(15px)}.drawerTemplate-gradient .drawerRestaurant,.drawerTemplate-gradient .drawerContact{border:1px solid rgba(193,119,255,.42);border-radius:15px;padding:14px;background:rgba(255,255,255,.05)}.drawerTemplate-gradient .drawerHint,.drawerTemplate-gradient .drawerRestaurant span,.drawerTemplate-gradient .drawerContact span{color:#cdbdde}.drawerTemplate-gradient .drawerFooter{opacity:.5}
body.drawerTemplate-illustration .sideDrawer{background:linear-gradient(160deg,#fff 0,#fff 75%,#fff1ef);padding-top:95px}.drawerTemplate-illustration .sideDrawer:before{content:'🍣';position:absolute;right:24px;top:17px;font-size:67px;filter:drop-shadow(0 12px 15px rgba(0,0,0,.18))}.drawerTemplate-illustration .sideDrawer:after{content:'';position:absolute;left:20px;right:20px;top:72px;height:3px;background:var(--accent);border-radius:3px}.drawerTemplate-illustration .drawerTop{margin-top:0}.drawerTemplate-illustration .bonusCard{background:#fff4f2;color:#bd201f;box-shadow:none;border-left:5px solid var(--accent)}.drawerTemplate-illustration .drawerNav button{border-bottom:1px solid #eee}.drawerTemplate-illustration .drawerRestaurant{background:#fff;border:1px solid #eee;border-radius:15px;padding:14px}.drawerTemplate-illustration .drawerContact{background:var(--accent);color:#fff;border:0;border-radius:16px;padding:15px}.drawerTemplate-illustration .drawerContact span{color:#fff}.drawerTemplate-illustration .drawerFooter{display:none}
body.drawerTemplate-eco .sideDrawer{background:linear-gradient(145deg,#f6f3e9,#eef2e7);color:#294322}.drawerTemplate-eco .sideDrawer:before{content:'🌿';position:absolute;right:18px;top:12px;font-size:48px}.drawerTemplate-eco .drawerTop{padding-right:45px}.drawerTemplate-eco .drawerClose,.drawerTemplate-eco .drawerNav button{color:#294322}.drawerTemplate-eco .bonusCard{background:linear-gradient(135deg,#6b914d,#365f2c);box-shadow:0 12px 26px rgba(54,95,44,.25)}.drawerTemplate-eco .drawerNav button{background:rgba(255,255,255,.62);border-radius:14px;padding:13px;margin:5px 0}.drawerTemplate-eco .drawerRestaurant{background:#52773d;color:#fff;border:0;border-radius:15px;padding:14px}.drawerTemplate-eco .drawerRestaurant b,.drawerTemplate-eco .drawerRestaurant span{color:#fff}.drawerTemplate-eco .drawerContact{background:#52773d;color:#fff;border:0;border-radius:15px;padding:14px}.drawerTemplate-eco .drawerContact span{color:#e1ecd9}.drawerTemplate-eco .drawerFooter{opacity:.5}

/* FoodCore 3.5.60 — layout engine, adaptive palettes and genuinely different drawer structures */
body[class*="drawerTemplate-"]{background:var(--theme-bg)!important;color:var(--theme-text)!important}
body[class*="drawerTemplate-"] .app,body[class*="drawerTemplate-"] .topbar,body[class*="drawerTemplate-"] .categoryDock,body[class*="drawerTemplate-"] .workline{background:var(--theme-bg)!important;color:var(--theme-text)!important}
body[class*="drawerTemplate-"] .topbar,body[class*="drawerTemplate-"] .categoryDock,body[class*="drawerTemplate-"] .bottomNav{border-color:var(--theme-line)!important}
body[class*="drawerTemplate-"] .category,body[class*="drawerTemplate-"] .product,body[class*="drawerTemplate-"] .popularCard,body[class*="drawerTemplate-"] .infoStrip{color:var(--theme-text)!important}
body[class*="drawerTemplate-"] .product,body[class*="drawerTemplate-"] .popularCard,body[class*="drawerTemplate-"] .infoStrip{background:var(--theme-surface)!important;border-color:var(--theme-line)!important}
body[class*="drawerTemplate-"] .product p,body[class*="drawerTemplate-"] .productPrice span,body[class*="drawerTemplate-"] .infoStrip span{color:var(--theme-muted)!important}
body[class*="drawerTemplate-"] .bottomNav{background:color-mix(in srgb,var(--theme-bg) 94%,transparent)!important}
body[class*="drawerTemplate-"] .sideDrawer *{text-decoration:none!important;text-shadow:none!important}
body[class*="drawerTemplate-"] .sideDrawer .drawerNav button{min-height:46px;opacity:1!important;visibility:visible!important}

/* 1 — Bento cards: dense dashboard with mixed tile sizes */
body.drawerTemplate-cards .drawerTop{display:grid!important;grid-template-columns:54px 1fr 38px!important;grid-column:1/-1!important}
body.drawerTemplate-cards .bonusCard{grid-column:1/-1!important}
body.drawerTemplate-cards .drawerNav:not(.drawerNavSmall){display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
body.drawerTemplate-cards .drawerNav:not(.drawerNavSmall) button{margin:0!important;min-height:74px!important;align-items:flex-end!important}
body.drawerTemplate-cards .drawerNav:not(.drawerNavSmall) button:nth-child(3){grid-column:1/-1!important;min-height:58px!important}
body.drawerTemplate-cards .drawerRestaurant{grid-column:1/-1!important}
body.drawerTemplate-cards .drawerNavSmall{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
body.drawerTemplate-cards .drawerNavSmall button{margin:0!important;min-height:54px!important;font-size:13px!important}
body.drawerTemplate-cards .drawerNavSmall button:last-child{grid-column:1/-1!important}
body.drawerTemplate-cards .drawerContact{grid-column:1/-1!important}
body.drawerTemplate-cards .sideDrawer{display:grid!important;grid-template-columns:1fr 1fr!important;align-content:start!important;gap:10px!important}
body.drawerTemplate-cards .drawerSectionTitle,body.drawerTemplate-cards .drawerFooter{grid-column:1/-1!important}

/* 2 — Floating actions: airy list, action dock at the bottom */
body.drawerTemplate-floating .drawerNav:not(.drawerNavSmall){display:flex!important;flex-direction:column!important;gap:4px!important}
body.drawerTemplate-floating .drawerNavSmall{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin:18px 0!important}
body.drawerTemplate-floating .drawerNavSmall button{aspect-ratio:1!important;border-radius:22px!important;padding:8px!important;display:grid!important;place-items:center!important;text-align:center!important;font-size:11px!important}
body.drawerTemplate-floating .drawerNavSmall button::first-letter{font-size:20px}
body.drawerTemplate-floating .drawerSectionTitle{display:none!important}
body.drawerTemplate-floating .drawerRestaurant{order:4!important}
body.drawerTemplate-floating .drawerContact{position:sticky!important;bottom:0!important;z-index:3!important}

/* 3 — Vertical tabs: real rail + content panel, no fake overlay */
body.drawerTemplate-tabs .sideDrawer{display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;padding:0!important;width:min(94vw,410px)!important;background:#07101d!important}
body.drawerTemplate-tabs .sideDrawer:before{position:sticky!important;grid-column:1!important;grid-row:1/20!important;width:74px!important;height:100dvh!important;inset:auto!important;padding-top:calc(34px + env(safe-area-inset-top,0px))!important;z-index:0!important}
body.drawerTemplate-tabs .drawerTop,body.drawerTemplate-tabs .bonusCard,body.drawerTemplate-tabs .drawerNav,body.drawerTemplate-tabs .drawerRestaurant,body.drawerTemplate-tabs .drawerSectionTitle,body.drawerTemplate-tabs .drawerContact,body.drawerTemplate-tabs .drawerFooter{grid-column:2!important;margin-left:14px!important;margin-right:14px!important;position:relative!important;z-index:1!important}
body.drawerTemplate-tabs .drawerTop{margin-top:0!important;padding-top:calc(24px + env(safe-area-inset-top,0px))!important}
body.drawerTemplate-tabs .drawerNav:not(.drawerNavSmall){display:grid!important;grid-template-columns:1fr!important}
body.drawerTemplate-tabs .drawerNavSmall button{padding:13px 4px!important}

/* 4 — Restaurant premium: hero-led menu with circular quick actions */
body.drawerTemplate-restaurant .sideDrawer{padding-top:128px!important;background:linear-gradient(rgba(5,5,5,.2),rgba(5,5,5,.94) 230px),radial-gradient(circle at 70% 0,#6e5224 0,#161008 35%,#060504 72%)!important}
body.drawerTemplate-restaurant .sideDrawer:before{content:'';position:absolute;left:0;right:0;top:0;height:118px;background:radial-gradient(circle at 70% 30%,rgba(213,170,85,.38),transparent 48%),linear-gradient(120deg,#171109,#050403);border-bottom:1px solid #8a672c}
body.drawerTemplate-restaurant .sideDrawer:after{font-size:68px!important;right:28px!important;top:18px!important}
body.drawerTemplate-restaurant .drawerTop{position:absolute!important;left:20px;right:20px;top:20px;z-index:2!important;background:transparent!important}
body.drawerTemplate-restaurant .drawerNavSmall{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin:18px 0!important}
body.drawerTemplate-restaurant .drawerNavSmall button{border:1px solid #8e6a2d!important;border-radius:50%!important;aspect-ratio:1!important;padding:6px!important;justify-content:center!important;text-align:center!important;font-size:10px!important;background:rgba(213,170,85,.08)!important}
body.drawerTemplate-restaurant .drawerSectionTitle{display:none!important}
body.drawerTemplate-restaurant .drawerNav:not(.drawerNavSmall) button{padding:15px 4px!important;font-size:16px!important}

/* 5 — Neomorphism: pill controls and raised sections */
body.drawerTemplate-neo .drawerNav:not(.drawerNavSmall){display:grid!important;gap:10px!important}
body.drawerTemplate-neo .drawerNavSmall{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
body.drawerTemplate-neo .drawerNavSmall button{margin:0!important;min-height:72px!important;justify-content:center!important;text-align:center!important}
body.drawerTemplate-neo .drawerSectionTitle{display:none!important}
body.drawerTemplate-neo .bonusCard{background:#e9edf2!important;color:#20262d!important}
body.drawerTemplate-neo .bonusCard small,body.drawerTemplate-neo .drawerHint,body.drawerTemplate-neo .drawerRestaurant span,body.drawerTemplate-neo .drawerContact span{color:#66717c!important}

/* 6 — Gradient dashboard: profile and restaurant as stacked glass cards */
body.drawerTemplate-gradient .drawerTop{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:22px!important;padding:13px!important}
body.drawerTemplate-gradient .drawerNav:not(.drawerNavSmall){display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
body.drawerTemplate-gradient .drawerNavSmall{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
body.drawerTemplate-gradient .drawerNavSmall button{min-height:66px!important;justify-content:center!important;text-align:center!important;background:rgba(255,255,255,.08)!important}
body.drawerTemplate-gradient .drawerSectionTitle{display:none!important}
body.drawerTemplate-gradient .drawerContact{background:linear-gradient(135deg,#6e36ff,#df3ea4)!important}

/* 7 — Editorial illustration: clean article-like sections */
body.drawerTemplate-illustration .drawerNav:not(.drawerNavSmall) button{padding:17px 0!important;font-size:17px!important;border-bottom:1px solid #eadfd9!important;border-radius:0!important;background:transparent!important}
body.drawerTemplate-illustration .drawerNavSmall{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin:18px 0!important}
body.drawerTemplate-illustration .drawerNavSmall button{border:1px solid #eadfd9!important;border-radius:50%!important;aspect-ratio:1!important;padding:7px!important;justify-content:center!important;text-align:center!important;font-size:10px!important;background:#fff!important}
body.drawerTemplate-illustration .drawerSectionTitle{display:none!important}
body.drawerTemplate-illustration .drawerRestaurant{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important}

/* 8 — Eco: modular natural cards with compact action row */
body.drawerTemplate-eco .drawerNav:not(.drawerNavSmall){display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
body.drawerTemplate-eco .drawerNav:not(.drawerNavSmall) button{margin:0!important;min-height:62px!important}
body.drawerTemplate-eco .drawerNav:not(.drawerNavSmall) button:nth-child(3){grid-column:1/-1!important}
body.drawerTemplate-eco .drawerNavSmall{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important}
body.drawerTemplate-eco .drawerNavSmall button{aspect-ratio:1!important;padding:6px!important;justify-content:center!important;text-align:center!important;font-size:10px!important}
body.drawerTemplate-eco .drawerSectionTitle{display:none!important}

@media(max-width:390px){body.drawerTemplate-floating .drawerNavSmall,body.drawerTemplate-restaurant .drawerNavSmall,body.drawerTemplate-illustration .drawerNavSmall,body.drawerTemplate-eco .drawerNavSmall{gap:6px!important}body.drawerTemplate-floating .drawerNavSmall button,body.drawerTemplate-restaurant .drawerNavSmall button,body.drawerTemplate-illustration .drawerNavSmall button,body.drawerTemplate-eco .drawerNavSmall button{font-size:9px!important}}

/* FoodCore 3.5.61 — constructor colors across header, app and drawer */
body[class*="drawerTemplate-"]:not(.multibrandHome):not(.multibrandRestaurant) .topbar,
body[class*="drawerTemplate-"]:not(.multibrandHome):not(.multibrandRestaurant) .categoryDock,
body[class*="drawerTemplate-"]:not(.multibrandHome):not(.multibrandRestaurant) .workline{background:var(--header-bg)!important;color:var(--header-text)!important;border-color:color-mix(in srgb,var(--header-text) 18%,transparent)!important}
body[class*="drawerTemplate-"] .topbar .menuBtn span{background:var(--header-text)!important}
body[class*="drawerTemplate-"] .topbar .menuBtn,body[class*="drawerTemplate-"] .topbar .profileBtn,body[class*="drawerTemplate-"] .topbar .brand,body[class*="drawerTemplate-"] .topbar .brand b{color:var(--header-text)!important}
body[class*="drawerTemplate-"] .category{color:color-mix(in srgb,var(--header-text) 72%,transparent)!important}
body[class*="drawerTemplate-"] .category.active{color:var(--header-text)!important}
body[class*="drawerTemplate-"] .sideDrawer{background:var(--drawer-custom-bg)!important;color:var(--drawer-custom-text)!important}
body[class*="drawerTemplate-"] .sideDrawer .drawerUser,body[class*="drawerTemplate-"] .sideDrawer .drawerClose,body[class*="drawerTemplate-"] .sideDrawer .drawerSectionTitle,body[class*="drawerTemplate-"] .sideDrawer .drawerRestaurant b,body[class*="drawerTemplate-"] .sideDrawer .drawerContact b{color:var(--drawer-custom-text)!important}
body[class*="drawerTemplate-"] .sideDrawer .drawerHint,body[class*="drawerTemplate-"] .sideDrawer .drawerRestaurant span,body[class*="drawerTemplate-"] .sideDrawer .drawerContact span,body[class*="drawerTemplate-"] .sideDrawer .drawerFooter{color:var(--drawer-custom-muted)!important}
body[class*="drawerTemplate-"] .sideDrawer .drawerNav button{background:var(--drawer-custom-button-bg)!important;color:var(--drawer-custom-button-text)!important;border-color:color-mix(in srgb,var(--drawer-custom-button-text) 18%,transparent)!important}
body[class*="drawerTemplate-"] .sideDrawer .drawerRestaurant,body[class*="drawerTemplate-"] .sideDrawer .drawerContact{border-color:color-mix(in srgb,var(--drawer-custom-text) 20%,transparent)!important}
body[class*="drawerTemplate-"] .app{background:var(--theme-bg)!important}
body[class*="drawerTemplate-"] .bottomNav{background:color-mix(in srgb,var(--theme-bg) 94%,transparent)!important}

.sliderDots{display:flex;justify-content:center;align-items:center;gap:7px;padding:8px 0 2px}.sliderDots i{display:block;width:7px;height:7px;border-radius:999px;background:rgba(60,67,78,.25);transition:width .22s ease,background .22s ease;cursor:pointer}.sliderDots i.active{width:21px;background:var(--accent,#ef2b2d)}.sliderDots.lines i{width:18px;height:3px;border-radius:3px}.sliderDots.lines i.active{width:34px}.aggBannerSlider{margin-bottom:16px}.aggBannerSlider .aggBannerRail{margin-bottom:0}.aggBannerSlider .sliderDots{padding-top:7px}

/* 3.5.64 — working product stickers */
.productStickerBadges{position:absolute;left:8px;top:8px;z-index:4;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 16px);pointer-events:none}.productStickerBadges span{display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;border-radius:999px;background:var(--sticker,#ef2b2d);color:#fff;font-size:10px;line-height:1;font-weight:900;letter-spacing:.01em;box-shadow:0 3px 10px rgba(0,0,0,.2);white-space:nowrap}.productImage.noImage .productStickerBadges{display:flex}.multibrandRestaurant .productStickerBadges{left:9px;top:9px;gap:4px}.multibrandRestaurant .productStickerBadges span{min-height:21px;padding:4px 7px;border-radius:8px;font-size:9px}@media(max-width:390px){.productStickerBadges{left:6px;top:6px;gap:3px}.productStickerBadges span{min-height:19px;padding:3px 6px;font-size:8px}}

/* FoodCore 3.5.67: компактная отметка количества персон */
.productServingsBadge{position:absolute;left:9px;bottom:9px;z-index:5;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px 5px 7px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:linear-gradient(135deg,rgba(14,17,22,.78),rgba(25,29,36,.62));color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);pointer-events:none;line-height:1}.productServingsBadge b{font-size:11px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.productServingsIcon{width:18px;height:18px;display:grid;place-items:center;color:#fff}.productServingsIcon svg{display:block;width:16px;height:16px}.popularImage,.recommendImage,.modalVisual{position:relative}.multibrandRestaurant .productServingsBadge{left:7px;bottom:7px;min-height:25px;padding:4px 8px 4px 6px;border-radius:9px}.multibrandRestaurant .productServingsBadge b{font-size:10px}.multibrandRestaurant .productServingsIcon{width:16px;height:16px}.multibrandRestaurant .productServingsIcon svg{width:14px;height:14px}@media(max-width:390px){.productServingsBadge{left:6px;bottom:6px;min-height:24px;padding:4px 8px 4px 6px;gap:5px;border-radius:8px}.productServingsBadge b{font-size:9px}.productServingsIcon{width:15px;height:15px}.productServingsIcon svg{width:13px;height:13px}}

.clientStories{margin:10px 0 4px;overflow:hidden}.clientStoriesRail{display:flex;gap:12px;overflow-x:auto;padding:2px 16px 8px;scrollbar-width:none}.clientStoriesRail::-webkit-scrollbar{display:none}.clientStory{flex:0 0 86px;border:0;background:transparent;padding:0;text-align:center}.clientStory span{display:block;width:76px;height:76px;margin:auto;border-radius:22px;padding:3px;background:linear-gradient(135deg,#ff7a00,#ef2b2d);box-shadow:0 5px 14px #0002}.clientStory img{width:100%;height:100%;object-fit:cover;border-radius:19px;border:2px solid #fff}.clientStory b,.clientStory small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clientStory b{font-size:12px;margin-top:6px}.clientStory small{font-size:10px;color:#7b8492;margin-top:2px}

/* FoodCore 3.5.91 — Stories marketing module */
.promoRail{gap:12px;padding:8px 14px 16px}.promoRail article{position:relative;flex:0 0 132px;height:132px;padding:0;border:0;border-radius:25px;overflow:hidden;background:#1b1b1b;box-shadow:0 0 0 3px var(--accent);display:block}.promoRail article img{width:100%;height:100%;object-fit:cover;display:block}.promoRail article:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),transparent 55%);pointer-events:none}.promoRail article em{position:absolute;z-index:2;left:9px;bottom:9px;max-width:calc(100% - 18px);padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storyCardRing{position:absolute;inset:3px;border:1px solid rgba(255,255,255,.26);border-radius:21px;pointer-events:none}.clientStoryDialog{border:0;padding:0;background:transparent;width:100%;height:100%;max-width:none;max-height:none}.clientStoryDialog::backdrop{background:#000}.clientStoryCard{position:fixed;inset:0;margin:auto;width:min(480px,100vw);height:100dvh;background:#090909;overflow:hidden;display:flex;flex-direction:column}.clientStoryTop{position:relative;z-index:8;flex:0 0 auto;height:calc(34px + env(safe-area-inset-top));padding:calc(9px + env(safe-area-inset-top)) 12px 7px;background:#090909;box-sizing:border-box}.clientStoryProgress{height:3px;display:flex;gap:4px;width:100%;padding-right:44px;box-sizing:border-box}.clientStoryProgress span{position:relative;flex:1;height:3px;border-radius:9px;background:rgba(255,255,255,.28);overflow:hidden}.clientStoryProgress i{display:block;width:0;height:100%;background:#fff;border-radius:inherit}.clientStoryProgress span.done i{width:100%}.clientStoryProgress span.current i{width:0}.clientStoryClose{position:absolute;z-index:9;right:7px;top:calc(2px + env(safe-area-inset-top));width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:24px}.clientStoryMedia{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#090909;touch-action:pan-y}.clientStoryImage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.clientStoryShade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0,rgba(0,0,0,.48) 36%,rgba(0,0,0,.05) 68%,rgba(0,0,0,.22) 100%);pointer-events:none}.clientStoryTapZone{position:absolute;z-index:2;top:0;bottom:0;width:34%}.clientStoryTapZone.prev{left:0}.clientStoryTapZone.next{right:0}.clientStoryContent{position:absolute;z-index:3;left:22px;right:22px;bottom:calc(26px + env(safe-area-inset-bottom));color:#fff;pointer-events:none}.clientStoryBadge,.clientStoryAction{pointer-events:auto}.clientStoryBadge{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--accent);font-size:11px;font-weight:900}.clientStoryContent h2{font-size:30px;line-height:1.05;margin:13px 0 9px}.clientStoryContent p{font-size:15px;line-height:1.45;color:rgba(255,255,255,.87);margin:0 0 18px;white-space:pre-line}.clientStoryAction{position:relative;z-index:5;width:100%;min-height:52px;border:0;border-radius:15px;background:var(--accent);color:#fff;font-size:16px;font-weight:900}.clientStoryAction:active{transform:scale(.98)}
@media(max-width:360px){.promoRail article{flex-basis:116px;height:116px}.clientStoryContent h2{font-size:27px}}

/* 3.5.92: compact story covers + saved promo state */
#promoRail{display:flex;gap:10px;overflow-x:auto;padding:4px 14px 8px;scrollbar-width:none}#promoRail::-webkit-scrollbar{display:none}#promoRail article{position:relative;flex:0 0 112px;width:112px;height:92px;border-radius:18px;overflow:hidden;border:0;background:#171717;padding:0;box-shadow:0 4px 12px rgba(0,0,0,.18)}#promoRail article img{display:block;width:100%;height:100%;object-fit:cover}#promoRail article em{position:absolute;left:7px;top:7px;max-width:88px;padding:4px 6px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storyCardRing{display:none!important}.promoStatus.pending{display:block;color:#8a5a00;background:#fff6d9;border:1px solid #f2d27a;border-radius:12px;padding:10px 12px}
@media(max-width:380px){#promoRail article{flex-basis:102px;width:102px;height:84px}}

/* FoodCore 3.6.1: address is requested only once and confirmed before ordering */
.addressConfirmCard{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #454545;background:#292929;border-radius:16px;padding:13px}.addressConfirmCard>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:900}.addressConfirmCard>div:nth-child(2){display:grid;gap:3px;min-width:0}.addressConfirmCard small{color:#aaa}.addressConfirmCard b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.addressConfirmActions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.addressConfirmActions button{border:0;border-radius:11px;padding:11px 10px;font-weight:850}.addressConfirmActions button:first-child{background:var(--accent);color:#fff}.addressConfirmActions button:last-child{background:#3a3a3a;color:#fff}.addressConfirmCard.confirmed{border-color:color-mix(in srgb,var(--accent) 55%,#454545);background:color-mix(in srgb,var(--accent) 10%,#292929)}.addressConfirmCard.confirmed .addressConfirmActions button:first-child{opacity:.65}


/* 3.6.2 — заметная центральная метка и выбор точки касанием карты */
body:not(.addressFirstRun) #addressModal .addressMap{position:relative!important;overflow:hidden!important}
body:not(.addressFirstRun) #addressModal .addressMap:before{content:''!important;position:absolute!important;z-index:150!important;left:50%!important;top:50%!important;width:30px!important;height:38px!important;transform:translate(-50%,-100%)!important;background:#f10f1b!important;border:4px solid #fff!important;border-radius:50% 50% 50% 4px!important;box-shadow:0 6px 16px rgba(0,0,0,.34)!important;pointer-events:none!important;opacity:1!important;rotate:-45deg!important;transition:transform .18s ease,box-shadow .18s ease!important}
body:not(.addressFirstRun) #addressModal .addressMap:after{content:''!important;position:absolute!important;z-index:151!important;left:50%!important;top:50%!important;width:9px!important;height:9px!important;transform:translate(-50%,-29px)!important;background:#fff!important;border-radius:50%!important;pointer-events:none!important;display:block!important;box-shadow:none!important;padding:0!important}
body:not(.addressFirstRun) #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 7px))!important;box-shadow:0 12px 20px rgba(0,0,0,.25)!important}
body:not(.addressFirstRun) #addressModal.addressMoving .addressMap:after{transform:translate(-50%,-36px)!important}
body:not(.addressFirstRun) #addressModal .addressMapStatus:empty{display:none!important}

/* FoodCore 3.7.0 gift ring */
.floatingCart{overflow:visible!important;gap:9px!important;padding-left:8px!important}.giftCartRing{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 44px;background:conic-gradient(var(--accent,#ef2b2d) var(--gift-progress),rgba(255,255,255,.24) 0);box-shadow:0 5px 16px rgba(0,0,0,.2)}.giftCartRing:before{content:"";position:absolute;inset:4px;border-radius:50%;background:#1c1c1e}.giftCartRing i{position:relative;z-index:1;font-style:normal;font-size:20px}.floatingCart.giftUnlocked .giftCartRing{animation:giftPulse 1.8s ease-in-out infinite;background:conic-gradient(#ffd84d 360deg,#ffd84d 0)}.cartBarText{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;min-width:0}.cartBarText strong{font-size:16px}.cartBarText small{font-size:10px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.82;margin-top:3px}@keyframes giftPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}.giftCartCard{width:100%;border:1px solid rgba(239,43,45,.28);background:rgba(239,43,45,.07);color:inherit;border-radius:18px;padding:14px;display:grid;grid-template-columns:44px 1fr 20px;gap:11px;align-items:center;text-align:left;margin:14px 0}.giftCartCard.unlocked{border-color:#f0c52f;background:rgba(255,216,77,.14)}.giftCardIcon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:22px}.giftCartCard b,.giftCartCard small{display:block}.giftCartCard small{opacity:.68;margin-top:4px}.giftCartCard i{font-style:normal;font-size:28px;opacity:.55}.giftSheet{max-height:82vh}.giftModalLead{opacity:.72;margin-top:-8px}.giftChoiceGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.giftChoice{border:1px solid rgba(128,128,128,.22);background:rgba(128,128,128,.07);color:inherit;border-radius:18px;padding:10px;text-align:left;overflow:hidden}.giftChoice.selected{border:2px solid var(--accent,#ef2b2d);box-shadow:0 0 0 3px rgba(239,43,45,.13)}.giftChoice>span{display:block;height:100px;border-radius:13px;overflow:hidden;background:rgba(128,128,128,.1)}.giftChoice>span img{width:100%;height:100%;object-fit:cover}.giftChoice b{display:block;margin-top:9px;font-size:14px}.giftChoice small{display:block;opacity:.65;margin-top:3px}.giftLockedBig{font-size:64px;text-align:center;margin:30px 0 15px}@media(max-width:380px){.giftCartRing{width:40px;height:40px;flex-basis:40px}.cartBarText small{max-width:115px}.giftChoiceGrid{grid-template-columns:1fr}}

/* FoodCore 3.7.5 — readable gift amount and all gift levels */
.floatingCart.hasGiftLevels{min-width:188px!important;max-width:min(270px,calc(100vw - 24px))!important}
.cartBarText{flex:1 1 auto!important;overflow:visible!important}
.cartBarText small{font-size:11px!important;max-width:none!important;width:max-content!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-weight:750!important}
.giftLevelsList{display:grid;gap:10px;margin:16px 0 20px}.giftLevelCard{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border-radius:16px;border:1px solid rgba(128,128,128,.22);background:rgba(128,128,128,.06)}.giftLevelCard.current{border-color:var(--accent,#ef2b2d);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#ef2b2d) 12%,transparent)}.giftLevelCard.reached{border-color:#d4ad1f;background:rgba(255,216,77,.12)}.giftLevelIcon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(128,128,128,.12);font-weight:900}.giftLevelCard.reached .giftLevelIcon{background:#ffd84d;color:#171717}.giftLevelCard b,.giftLevelCard small,.giftLevelCard em{display:block}.giftLevelCard small{opacity:.68;margin-top:3px;font-size:12px}.giftLevelCard em{font-style:normal;color:var(--accent,#ef2b2d);font-size:12px;font-weight:800;margin-top:5px}.giftLevelCard.reached em{color:#b88d00}.giftLevelCard>strong{white-space:nowrap;font-size:13px}.giftPickerSection{border-top:1px solid rgba(128,128,128,.18);padding-top:16px}.giftPickerSection h3{margin:0 0 4px}@media(max-width:380px){.floatingCart.hasGiftLevels{min-width:176px!important}.cartBarText small{font-size:10px!important}.giftLevelCard{grid-template-columns:34px minmax(0,1fr);}.giftLevelCard>strong{grid-column:2}}

/* FoodCore 3.7.6 — compact gift cart restored */
.floatingCart.hasGiftLevels,
.floatingCart{
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.floatingCart .giftCartRing{
  width:54px!important;
  height:54px!important;
  flex-basis:54px!important;
}
.floatingCart .cartBarText{display:none!important}
.floatingCart #cartCount{right:-2px!important;top:-4px!important}
body.multibrandRestaurant .floatingCart,
.multibrandRestaurant .floatingCart.hasGiftLevels{
  left:auto!important;
  right:18px!important;
  bottom:calc(82px + env(safe-area-inset-bottom))!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  border-radius:50%!important;
}

/* 3.7.8 — явный выбор подарка */
.giftPickerHint{margin:5px 0 14px;opacity:.72;font-size:13px;line-height:1.35}.giftChoice{display:flex;flex-direction:column;cursor:pointer}.giftChoiceAction{display:block;margin-top:10px;padding:10px 8px;border-radius:12px;text-align:center;background:var(--accent,#ef2b2d);color:#fff;font-size:13px;font-weight:900;line-height:1.15}.giftChoice.selected .giftChoiceAction{background:#18a957}.giftChoice:active{transform:scale(.985)}

/* FoodCore 3.7.9 — selected gift is visible in cart */
.giftCartItem{border:1px solid rgba(255,216,77,.5);background:rgba(255,216,77,.09)}.giftItemBadge{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:999px;background:#ffd84d;color:#1a1a1a;font-size:10px;font-weight:900;vertical-align:2px}.giftCartItem small strong{color:#18a957}.giftCartItem small s{opacity:.55;margin-left:4px}.giftItemChange{border:0;border-radius:12px;padding:9px 10px;background:rgba(128,128,128,.16);color:inherit;font-weight:800;font-size:12px;white-space:nowrap}

.bonusCheckout{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 55%,#444);border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,#191919)}.bonusCheckout>div:first-child{display:flex;justify-content:space-between;gap:12px}.bonusCheckout span,.bonusCheckout small{color:#aaa}.bonusCheckout input[type=range]{width:100%;accent-color:var(--accent);margin:16px 0}.bonusQuick{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}.bonusQuick button{border:1px solid #444;background:#262626;color:#fff;border-radius:10px;padding:9px 4px}.bonusCheckout strong,.bonusCheckout small{display:block;margin-top:10px}.bonusCheckout.muted{display:flex;flex-direction:column;gap:6px}.loyaltySettings select[multiple]{min-height:150px}
/* FoodCore 3.8.1 — loyalty information */
.bonusCard{cursor:pointer;transition:transform .18s ease,filter .18s ease}.bonusCard:active{transform:scale(.985)}.loyaltyInfoModal{width:min(92vw,520px);max-height:88vh;border:0;border-radius:26px;padding:0;background:#15171b;color:#fff;overflow:auto}.loyaltyInfoModal::backdrop{background:#000b;backdrop-filter:blur(4px)}.loyaltyInfoClose{position:sticky;float:right;top:14px;right:14px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff16;color:#fff;font-size:28px}.loyaltyInfoHero{clear:both;margin:18px;padding:20px;border-radius:22px;background:linear-gradient(135deg,#f5081a,#9f0010);display:flex;align-items:center;gap:16px}.loyaltyInfoHero>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#e60016;font-size:27px;font-weight:900}.loyaltyInfoHero div{display:grid}.loyaltyInfoHero small{color:#ffd8dc}.loyaltyInfoHero b{font-size:28px;margin:2px 0}.loyaltyInfoHero p{margin:0;color:#ffe5e8}.loyaltyInfoModal>h2,.loyaltyInfoLead,.loyaltyRuleGrid,.loyaltyInfoNotes,.loyaltyHistory{margin-left:20px;margin-right:20px}.loyaltyInfoModal>h2{font-size:25px;margin-bottom:5px}.loyaltyInfoLead{color:#aeb5bf;margin-top:0}.loyaltyRuleGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.loyaltyRuleGrid article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #333841;border-radius:16px;background:#202329}.loyaltyRuleGrid i{font-style:normal;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ffffff0d}.loyaltyRuleGrid span{display:grid}.loyaltyRuleGrid b{font-size:18px}.loyaltyRuleGrid small{color:#9da6b2;margin-top:3px}.loyaltyInfoNotes{margin-top:14px;padding:14px 16px;border-radius:16px;background:#ffffff0b}.loyaltyInfoNotes p{margin:7px 0;color:#c7cdd5}.loyaltyHistory{padding-bottom:22px}.loyaltyHistory h3{font-size:18px}.loyaltyHistory>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #2b2f36}.loyaltyHistory p{color:#89929e}.loyaltyHistory .plus{color:#35d876}.loyaltyHistory .minus{color:#ff6a72}@media(max-width:420px){.loyaltyRuleGrid{grid-template-columns:1fr}.loyaltyInfoHero b{font-size:24px}}

/* FoodCore 3.9.0 — Мои заказы */
.ordersSheet{max-height:92vh;overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.ordersHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ordersRefresh{border:1px solid #3b4149;background:#20252b;color:#fff;border-radius:14px;width:44px;height:44px;font-size:22px}.ordersFilters{display:flex;gap:8px;overflow:auto;margin:14px -2px 18px;padding:2px}.ordersFilters button{white-space:nowrap;border:1px solid #343a42;background:#171b20;color:#aeb6c1;border-radius:999px;padding:9px 13px;font-weight:700}.ordersFilters button.active{background:#fff;color:#111;border-color:#fff}.ordersMonth{text-transform:capitalize;color:#8e98a6;font-size:13px;font-weight:800;margin:20px 4px 8px}.orderHistoryCard{background:#171b20;border:1px solid #343a42;border-radius:22px;padding:16px;margin-bottom:12px}.orderHistoryCard.activeOrder{border-color:#e7262c;box-shadow:0 0 0 1px #e7262c33}.orderHistoryTop,.orderHistoryBottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.orderHistoryTop b{font-size:17px}.orderHistoryTop small{display:block;color:#8e98a6;margin-top:4px}.orderStatus{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#303640}.orderStatus.accepted,.orderStatus.cooking{background:#3b2f12;color:#ffd76b}.orderStatus.ready,.orderStatus.delivery{background:#123a31;color:#66e3bd}.orderStatus.completed{background:#21352a;color:#82e69a}.orderStatus.cancelled{background:#412126;color:#ff8c98}.orderSteps{display:flex;gap:5px;margin:15px 0}.orderSteps i{height:4px;flex:1;border-radius:5px;background:#343a42}.orderSteps i.done{background:#e7262c}.orderItemsPreview{display:grid;gap:5px;color:#c3cad3;font-size:14px;margin:12px 0 16px}.orderHistoryBottom strong{font-size:20px}.orderHistoryBottom>div{display:flex;gap:8px}.orderHistoryBottom button{border:1px solid #3b4149;background:transparent;color:#fff;border-radius:12px;padding:9px 11px;font-weight:800}.orderHistoryBottom .primaryMini{background:#e7262c;border-color:#e7262c}.ordersEmpty,.ordersLoading{text-align:center;padding:44px 18px;color:#929ba7}.ordersEmpty span{font-size:42px;display:block;margin-bottom:12px}.ordersEmpty b{font-size:19px;color:#fff}.ordersEmpty p{line-height:1.45}.ordersLoading{display:grid;place-items:center;gap:12px}.ordersLoading i{width:28px;height:28px;border:3px solid #ffffff22;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.orderDetailsSheet{max-height:94vh;overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.orderDetailTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.orderDetailTitle h2{margin:0}.orderDetailTitle p{margin:5px 0 0;color:#929ba7}.orderTimeline,.orderDetailItems,.orderTotals{margin-top:22px}.orderTimeline h3,.orderDetailItems h3{margin:0 0 12px}.orderTimeline>div{display:flex;gap:12px;min-height:48px;position:relative}.orderTimeline>div:not(:last-child):before{content:"";position:absolute;left:6px;top:15px;bottom:-5px;width:2px;background:#343a42}.orderTimeline i{width:14px;height:14px;border-radius:50%;background:#5b6470;margin-top:3px;z-index:1}.orderTimeline .current i{background:#e7262c;box-shadow:0 0 0 5px #e7262c22}.orderTimeline b,.orderTimeline small{display:block}.orderTimeline small{color:#8e98a6;margin-top:3px}.orderDetailItems>div,.orderTotals>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #2c3239}.orderTotals .grand{font-size:20px;border-bottom:0}.orderMeta{background:#171b20;border:1px solid #343a42;border-radius:16px;padding:13px;margin-top:10px}.orderMeta span,.orderMeta b{display:block}.orderMeta span{color:#8e98a6;font-size:12px;margin-bottom:4px}


/* FoodCore 3.10.0 — отзывы */
.reviewsSheet,.rateOrderSheet{max-height:92vh;overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.reviewsList{display:grid;gap:12px;margin-top:18px}.reviewHistoryCard{background:#171b20;border:1px solid #343a42;border-radius:20px;padding:16px}.reviewHistoryCard>div:first-child{display:flex;justify-content:space-between;gap:12px}.reviewHistoryCard small{display:block;color:#8e98a6;margin-top:4px}.reviewHistoryCard>strong{display:block;color:#ffc83d;font-size:24px;letter-spacing:2px;margin:12px 0}.reviewHistoryCard>p{white-space:pre-wrap;line-height:1.45}.reviewAnswer{background:#20262d;border-radius:14px;padding:12px;margin-top:12px}.reviewAnswer span{font-size:12px;color:#8e98a6;font-weight:800}.reviewAnswer p{margin:5px 0 0;line-height:1.4}.reviewWaiting{margin-top:10px}.rateOrderSheet{text-align:center}.rateOrderIcon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#ffc83d22;color:#ffc83d;font-size:34px;margin:0 auto 10px}.rateStars{display:flex;justify-content:center;gap:7px;margin:20px 0}.rateStars button{border:0;background:transparent;color:#48505a;font-size:44px;padding:0;line-height:1}.rateStars button.active{color:#ffc83d}.reviewReasons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 14px}.reviewReasons.hidden{display:none}.reviewReasons button{border:1px solid #3b424b;background:#1a1f25;color:#cbd2da;border-radius:999px;padding:9px 12px}.reviewReasons button.active{background:#e7262c;border-color:#e7262c;color:#fff}.rateOrderSheet textarea{width:100%;min-height:110px;resize:vertical;background:#15191e;border:1px solid #343a42;color:#fff;border-radius:15px;padding:13px;font:inherit;margin:4px 0 14px;box-sizing:border-box}.rateOrderSheet .secondary{margin-top:8px}

.reviewPhotoPick,.reviewPublicConsent{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #353b44;border-radius:15px;margin-top:10px}.reviewPhotoPick{cursor:pointer;flex-wrap:wrap}.reviewPhotoPick input{display:none}.reviewPhotoPick span{font-weight:800}.reviewPhotoPick small{display:block;width:100%;color:#9da5b2}.reviewPublicConsent input{width:21px;height:21px}.promocodesList{display:grid;gap:12px;margin-top:16px}.personalPromo{border:1px solid #3a414c;border-radius:18px;padding:16px;background:#171b20;display:grid;gap:12px}.personalPromo>div{display:flex;gap:12px;align-items:center}.personalPromo>div>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#d90012;font-size:22px}.personalPromo b,.personalPromo small{display:block}.personalPromo small{color:#9da5b2;margin-top:3px}.personalPromo code{font-size:21px;font-weight:900;letter-spacing:1px}.personalPromo button{border:0;border-radius:13px;padding:12px;font-weight:900;background:#e40016;color:#fff}.personalPromo.used,.personalPromo.expired{opacity:.55}.personalPromo em{font-style:normal;color:#aab1bc}.promoCodesSheet{max-height:88vh}

/* FoodCore 4.1.0 — public reviews and review rewards */
.publicReviewsSummary{margin:12px 0 18px}.publicReviewScore{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;padding:18px;border:1px solid #343842;border-radius:20px;background:#1d2025}.publicReviewScore>b{font-size:42px;grid-row:1/3}.publicReviewScore>span{color:#ffc43d;font-size:22px;letter-spacing:2px}.publicReviewScore>small{color:#9da6b2}.reviewsSectionTitle{margin:22px 0 10px}.publicReviewCard em{display:inline-block;margin:8px 0;color:#52d889;font-style:normal;font-size:13px}.publicReviewCard>img{width:100%;max-height:280px;object-fit:cover;border-radius:16px;margin-top:10px}.reviewRewardPreview{padding:14px 16px;border:1px solid #4a4130;border-radius:16px;background:linear-gradient(135deg,#2b2519,#1c1d20);margin:8px 0 12px}.reviewRewardPreview>b{display:block;margin-bottom:8px}.reviewRewardPreview>div{display:flex;flex-wrap:wrap;gap:8px}.reviewRewardPreview span{padding:8px 10px;border-radius:12px;background:#ffffff0d}.reviewRewardPreview small{display:block;color:#aeb5bf;margin-top:9px;line-height:1.35}.loyaltyRewardBlocks{display:grid;gap:10px;margin:14px 20px}.loyaltyRewardBlocks article{display:grid;grid-template-columns:42px 1fr;gap:2px 12px;align-items:center;padding:14px;border:1px solid #333841;border-radius:16px;background:#202329}.loyaltyRewardBlocks i{grid-row:1/3;font-style:normal;font-size:25px}.loyaltyRewardBlocks small{color:#9da6b2}

/* FoodCore 4.2.0 Loyalty Center */
.sideDrawer{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.loyaltyQuickStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 14px 16px}.loyaltyQuickStats span{padding:11px 6px;border:1px solid #343a43;border-radius:14px;background:#171b20;text-align:center}.loyaltyQuickStats b{display:block;font-size:18px}.loyaltyQuickStats small{display:block;margin-top:2px;color:#929ba6;font-size:11px}.loyaltyActionGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0 14px 18px!important}.loyaltyActionGrid button{min-height:102px!important;margin:0!important;padding:15px!important;border:1px solid #353c46!important;border-radius:19px!important;background:#191d22!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;text-align:left!important;color:#fff!important}.loyaltyActionGrid button i{font-style:normal;font-size:25px;line-height:1}.loyaltyActionGrid button>span{display:grid;gap:3px}.loyaltyActionGrid button b{font-size:17px;line-height:1.15}.loyaltyActionGrid button small{font-size:12px;color:#969faa;font-weight:500}.drawerNavSmall button{min-height:52px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0 14px!important;font-size:15px!important}.wheelSheet{background:#111419;color:#fff}.wheelHeader{display:flex;align-items:center;gap:14px;padding:8px 4px 18px}.wheelHeader>span{font-size:42px}.wheelHeader h2{margin:0;font-size:25px}.wheelHeader p{margin:4px 0 0;color:#9ca5b1}.rewardWheelWrap{position:relative;width:min(78vw,330px);aspect-ratio:1;margin:12px auto 22px}.rewardWheelPointer{position:absolute;z-index:2;left:50%;top:-19px;transform:translateX(-50%);font-size:34px;color:#fff;text-shadow:0 2px 8px #000}.rewardWheel{position:absolute;inset:0;border:10px solid #fff;border-radius:50%;box-shadow:0 14px 40px #0008;overflow:hidden}.rewardWheel:after{content:'';position:absolute;inset:42%;border-radius:50%;background:#15191f;border:6px solid #fff}.rewardWheel span{position:absolute;left:50%;top:50%;width:42%;transform-origin:0 0;transform:rotate(var(--a)) translate(18px,-50%) rotate(90deg);font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wheelSpinBtn{margin-top:8px}.wheelStatus{text-align:center;color:#aab2bd}.wheelPrizeList{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.wheelPrizeList div{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #303741;border-radius:13px;background:#1a1f26;font-size:12px}.wheelPrizeList span{font-size:18px}

/* FoodCore 4.2.1 — Loyalty Center mobile layout fix */
.sideDrawer{overflow-x:hidden!important;overscroll-behavior-x:none!important}
.sideDrawer>*{min-width:0!important;max-width:100%!important}
.loyaltyQuickStats,.loyaltyActionGrid{grid-column:1/-1!important;width:auto!important;min-width:0!important;align-self:start!important}
.loyaltyQuickStats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.loyaltyQuickStats span{min-width:0!important;height:auto!important;min-height:70px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.loyaltyQuickStats b,.loyaltyQuickStats small{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.loyaltyActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.loyaltyActionGrid button{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
.loyaltyActionGrid button>span,.loyaltyActionGrid button b,.loyaltyActionGrid button small{min-width:0!important;max-width:100%!important}
.loyaltyActionGrid button b,.loyaltyActionGrid button small{overflow-wrap:anywhere!important}
body.drawerTemplate-cards .loyaltyQuickStats,body.drawerTemplate-cards .loyaltyActionGrid{grid-column:1/-1!important}
body.drawerTemplate-cards .loyaltyQuickStats{margin-left:0!important;margin-right:0!important}
body.drawerTemplate-cards .loyaltyActionGrid{margin-left:0!important;margin-right:0!important}
@media(max-width:390px){
  .sideDrawer{width:min(92vw,360px)!important;padding-left:14px!important;padding-right:14px!important}
  .loyaltyQuickStats{gap:6px!important;margin-left:0!important;margin-right:0!important}
  .loyaltyQuickStats span{padding:9px 3px!important;min-height:64px!important}
  .loyaltyQuickStats b{font-size:17px!important}
  .loyaltyQuickStats small{font-size:10px!important}
  .loyaltyActionGrid{gap:8px!important;margin-left:0!important;margin-right:0!important}
  .loyaltyActionGrid button{min-height:94px!important;padding:12px!important}
  .loyaltyActionGrid button i{font-size:23px!important}
  .loyaltyActionGrid button b{font-size:15px!important}
  .loyaltyActionGrid button small{font-size:11px!important}
}

/* FoodCore 4.2.2 — compact promo tile and active-only promo list */
body.drawerTemplate-cards .loyaltyActionGrid button:nth-child(3){grid-column:auto!important;min-height:94px!important;}
.loyaltyActionGrid #drawerPromocodes{grid-column:auto!important;width:100%!important;min-height:94px!important;}
.loyaltyActionGrid #drawerPromocodes>span{width:100%!important;text-align:left!important;}
.loyaltyActionGrid #drawerPromocodes b,.loyaltyActionGrid #drawerPromocodes small{text-align:left!important;}
@media(max-width:380px){.loyaltyActionGrid #drawerPromocodes{min-height:90px!important;}}

/* FoodCore 4.5.0 — configurable payments */
.payOption span{display:flex;flex-direction:column;gap:3px}.payOption span b{font:inherit;font-weight:700}.payOption span small{font-size:12px;line-height:1.35;color:var(--muted,#8d95a3)}

/* FoodCore 4.6.9: client logout */
.profileLogout{margin-top:10px;min-height:48px;border:1px solid rgba(255,72,72,.55);border-radius:14px;background:rgba(255,55,55,.08);color:#ff5b5b;font:inherit;font-weight:800;cursor:pointer}.profileLogout:active{transform:scale(.99)}

/* FoodCore 4.7.1: обязательный вход по звонку */
.clientAuthGate{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0}.clientAuthGate::backdrop{background:rgba(3,7,18,.88);backdrop-filter:blur(12px)}.clientAuthCard{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 32px));padding:28px;border-radius:28px;background:var(--surface,#151922);color:var(--text,#fff);box-shadow:0 28px 80px rgba(0,0,0,.45)}.clientAuthLogo{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent,#f22);color:#fff;font-size:34px;font-weight:900}.clientAuthLogo.hasImage{width:84px;height:84px;border-radius:22px;background:transparent;overflow:hidden}.clientAuthLogo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.clientAuthLogo span{display:grid;place-items:center;width:100%;height:100%}.clientAuthCard h2{text-align:center;margin:0 0 10px;font-size:28px}.clientAuthCard>p{text-align:center;color:var(--muted,#9da6b6);line-height:1.45}.clientAuthCard label{display:grid;gap:8px;margin:16px 0;font-weight:700}.clientAuthCard input{width:100%;box-sizing:border-box;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px;font-size:18px;background:rgba(255,255,255,.06);color:inherit}.clientAuthStatus{min-height:22px;color:#ff8080!important;font-weight:700}.clientAuthLocked .app{pointer-events:none;user-select:none}

.clientPhoneInput{display:flex;align-items:center;min-height:60px;border:1.5px solid rgba(148,163,184,.38);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.055);box-shadow:none;transition:border-color .18s ease,background .18s ease}
.clientPhoneInput:focus-within{border-color:var(--accent,#ff1f1f);background:rgba(255,255,255,.075);box-shadow:0 0 0 3px rgba(255,31,31,.12)}
.clientPhoneInput span{font-size:20px;line-height:1;font-weight:800;padding:0 0 0 18px;white-space:nowrap;color:inherit;user-select:none}
.clientPhoneInput input{height:58px!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0 18px 0 8px!important;flex:1;min-width:0;font-size:20px!important;letter-spacing:.01em;caret-color:var(--accent,#ff1f1f);-webkit-appearance:none;appearance:none}
.clientPhoneInput input:focus,.clientPhoneInput input:focus-visible{border:0!important;outline:0!important;box-shadow:none!important}
.clientPhoneInput input[aria-invalid="true"]{color:#ff8b8b}
#clientAuthCall:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.6)}
.optionalLabel{font-size:.78em;font-weight:500;opacity:.65}
.profileHint{font-size:.9rem!important;margin-top:-6px!important;text-align:left!important}
.clientConsent{display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:.92rem!important;font-weight:500!important}
.clientConsent input{width:20px!important;height:20px!important;flex:0 0 auto;margin-top:2px}

.clientAuthMethodStep{margin-top:14px}.clientAuthMethods{display:grid;gap:10px;margin-top:14px}.clientAuthMethod{width:100%;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.045);color:inherit;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left}.clientAuthMethod i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-weight:900;background:rgba(255,255,255,.08)}.clientAuthMethod span{display:grid;gap:2px}.clientAuthMethod small{color:var(--muted,#9da6b6);font-weight:500}.clientAuthMethod em{font-style:normal;font-size:24px;color:var(--muted,#9da6b6)}.clientAuthMethod.telegram i{color:#38a8e8}.clientAuthMethod.max i{color:#9a78ff}.clientAuthMethod.vk i{color:#4c91d8;font-size:12px}.clientAuthMethod:active{transform:scale(.99)}

/* FoodCore 4.9.1 — polished authorization method cards */
.clientAuthCard{width:min(460px,calc(100vw - 28px));padding:26px 24px 24px;max-height:calc(100vh - 28px);overflow:auto}
.clientAuthCard h2{font-size:30px;margin-bottom:8px}.clientAuthCard>p{margin:0 auto 18px;max-width:360px}
.clientAuthMethodStep{margin-top:8px}.clientPhoneLabel{font-size:16px;margin:0 0 18px!important}.clientPhoneInput{min-height:66px;border:1.5px solid rgba(148,163,184,.38)!important;border-radius:20px!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;display:flex;align-items:center;padding:0 16px;overflow:hidden}.clientPhoneInput:focus-within{border-color:var(--accent,#f22)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#f22) 16%,transparent)!important}.clientPhoneInput>span{font-size:25px;font-weight:900;color:var(--text,#fff);padding-right:10px;white-space:nowrap}.clientPhoneInput input{border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;height:64px;font-size:24px!important;box-shadow:none!important;outline:0!important}
.clientAuthChooseTitle{font-weight:800;font-size:15px;color:var(--muted,#9da6b6);margin:2px 2px 10px}.clientAuthMethods{display:grid;gap:10px;margin-top:0}.clientAuthMethod{min-height:72px;border:1px solid rgba(148,163,184,.25);border-radius:19px;padding:12px 14px;background:rgba(255,255,255,.045);grid-template-columns:48px 1fr 22px;gap:13px;transition:transform .14s ease,border-color .14s ease,background .14s ease}.clientAuthMethod:hover,.clientAuthMethod:focus-visible{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.075);outline:none}.clientAuthMethod:active{transform:scale(.985)}.clientAuthMethod i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.09);overflow:hidden}.clientAuthMethod i svg{width:25px;height:25px;fill:currentColor}.clientAuthMethod b{font-size:16px;line-height:1.15}.clientAuthMethod small{font-size:13px;line-height:1.25}.clientAuthMethod em{font-size:30px;line-height:1;color:rgba(203,213,225,.75)}.clientAuthMethod.phone i{color:#ff5a62;background:rgba(255,90,98,.14)}.clientAuthMethod.vk i{color:#fff;background:#2787f5}.clientAuthMethod.max i{color:#fff;background:linear-gradient(145deg,#735cff,#a449f5)}.clientAuthMethod.telegram i{color:#fff;background:#2aabee}.clientAuthStatus:empty{display:none}.clientAuthStatus{margin:12px 4px 0;min-height:0!important;padding:10px 12px;border-radius:12px;background:rgba(255,80,80,.1);font-size:14px}
@media(max-width:420px){.clientAuthCard{padding:22px 18px 20px;border-radius:26px}.clientAuthLogo.hasImage{width:76px;height:76px}.clientAuthCard h2{font-size:27px}.clientPhoneInput{min-height:62px}.clientPhoneInput input{height:60px;font-size:22px!important}.clientAuthMethod{min-height:68px}}

/* FoodCore 4.10.3: branded logout confirmation */
.logoutConfirmDialog{border:0;padding:0;background:transparent;max-width:none;width:100%;height:100%;margin:0}.logoutConfirmDialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.logoutConfirmCard{position:fixed;left:20px;right:20px;top:50%;transform:translateY(-50%);max-width:420px;margin:auto;padding:28px 22px 22px;border-radius:28px;background:#171c25;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.48);text-align:center;border:1px solid rgba(255,255,255,.08)}.logoutConfirmIcon{width:64px;height:64px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;background:rgba(255,64,64,.13);color:#ff5a5f;font-size:34px;font-weight:900}.logoutConfirmCard h2{margin:0 0 10px;font-size:27px;line-height:1.15}.logoutConfirmCard p{margin:0 auto 24px;max-width:320px;color:#aeb6c4;font-size:16px;line-height:1.45}.logoutConfirmActions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.logoutConfirmActions button{min-height:54px;border:0;border-radius:16px;font:inherit;font-size:17px;font-weight:800}.logoutCancelBtn{background:#292f39;color:#fff}.logoutYesBtn{background:#ef2d36;color:#fff}.logoutConfirmActions button:active{transform:scale(.985)}.logoutConfirmActions button:disabled{opacity:.65}@media(max-width:360px){.logoutConfirmCard{left:14px;right:14px;padding:24px 17px 18px}.logoutConfirmActions{grid-template-columns:1fr}.logoutConfirmCard h2{font-size:24px}}


/* FoodCore 4.10.5 — compact profile form */
.profileSheet .checkout{gap:10px!important}
.profileSheet .checkout label{margin:0!important;gap:6px!important}
.profileSheet .checkout .primary,.profileSheet .checkout .secondary,.profileSheet .checkout .profileLogout{margin-top:2px!important}

/* FoodCore 4.10.13 — second-level filters inside menu categories */
.subcategoryRail{display:flex;gap:9px;overflow-x:auto;padding:2px 4px 14px;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.subcategoryRail::-webkit-scrollbar{display:none}.subcategoryChip{flex:0 0 auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:inherit;border-radius:999px;padding:10px 16px;font:700 14px/1.1 inherit;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}.subcategoryChip:active{transform:scale(.97)}.subcategoryChip.active{background:var(--accent,#ef2b2d);border-color:var(--accent,#ef2b2d);color:#fff}.subcategoryEmpty{padding:24px 12px;text-align:center;opacity:.62;font-weight:700}.categoryBlock>.subcategoryRail{margin-top:-3px}

/* FoodCore 4.11.22 — уменьшены быстрые счетчики в блоках «Выбор пользователей» и «Вам может понравиться» */
body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .popularAddButton,
body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .recommendAddButton{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  font-size:20px!important;
  right:6px!important;
  bottom:6px!important;
}
body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular,
body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend{
  min-height:30px!important;
  padding:0 1px!important;
  border-radius:999px!important;
}
body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular .quickQtyBtn,
body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend .quickQtyBtn{
  width:24px!important;
  height:28px!important;
  font-size:18px!important;
}
body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular .quickQtyCount,
body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend .quickQtyCount{
  min-width:18px!important;
  font-size:13px!important;
  padding:0 1px!important;
}
body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickControlSlot--overlay,
body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickControlSlot--overlay{
  right:6px!important;
  bottom:6px!important;
}
@media(max-width:390px){
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .popularAddButton,
  body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .recommendAddButton{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:18px!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular,
  body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend{
    min-height:28px!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular .quickQtyBtn,
  body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend .quickQtyBtn{
    width:22px!important;
    height:26px!important;
    font-size:17px!important;
  }
  body:not(.multibrandHome):not(.multibrandRestaurant) .popularImage .quickQtyControl--popular .quickQtyCount,
  body:not(.multibrandHome):not(.multibrandRestaurant) .recommendImage .quickQtyControl--recommend .quickQtyCount{
    min-width:16px!important;
    font-size:12px!important;
  }
}

/* FoodCore 4.11.23 — Пригласи друга */
.referralProfileCard{margin:6px 0 2px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,rgba(239,43,45,.16),rgba(255,255,255,.04));display:grid;gap:11px}.referralProfileHead{display:flex;align-items:center;justify-content:space-between}.referralProfileHead div{display:grid;gap:3px}.referralProfileHead small{color:#aaa;font-weight:800}.referralProfileHead b{font-size:24px;letter-spacing:.08em}.referralProfileHead>span{font-size:30px}.referralProfileCard p{margin:0;color:#bbb;font-size:12px;line-height:1.4}.referralActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.referralActions button,.referralApply button{border:0;border-radius:11px;padding:11px 9px;font-weight:900}.referralActions button:first-child{background:#fff;color:#111}.referralActions button:last-child,.referralApply button{background:var(--accent);color:#fff}.referralStats{display:flex;gap:14px;color:#aaa;font-size:11px}.referralStats b{color:#fff}.referralApply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.referralApply input{min-width:0;text-transform:uppercase}.referralStatus{min-height:16px;color:#aaa}.referralProfileCard.disabled{display:none}.referralProfileCard.used .referralApply{display:none}

/* FoodCore 4.11.29 — история рефералов и переход к наградам */
.referralPromoLink{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:11px 12px;background:rgba(255,255,255,.07);color:#fff;text-align:left;font-weight:850}.referralHistory{display:grid;gap:8px}.referralHistoryTitle{font-size:12px;font-weight:900;color:#fff;margin-top:2px}.referralHistoryEmpty{font-size:11px;line-height:1.4;color:#aaa;padding:10px 0}.referralHistoryItem{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:10px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.referralHistoryItem>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3a3a3a}.referralHistoryItem.completed>span{background:#20a85a}.referralHistoryItem div{display:grid;gap:2px;min-width:0}.referralHistoryItem b{font-size:12px}.referralHistoryItem small{font-size:10px;color:#999}.referralHistoryItem em{font-style:normal;font-size:10px;line-height:1.3;color:#bbb}.referralHistoryItem.completed em{color:#8fe0ad}


/* FoodCore 4.11.30 — профиль не сдвигается по горизонтали */
html,body{max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none!important}
#profileModal{width:100vw!important;max-width:100vw!important;overflow:hidden!important;overscroll-behavior-x:none!important;touch-action:pan-y!important}
#profileModal .profileSheet{width:min(480px,100vw)!important;max-width:100vw!important;overflow-x:hidden!important;overscroll-behavior-x:none!important;touch-action:pan-y!important}
#profileModal .profileSheet,#profileModal .profileSheet *{box-sizing:border-box!important}
#profileModal .profileSheet form,#profileModal .profileSheet section,#profileModal .profileSheet label,#profileModal .profileSheet input,#profileModal .profileSheet button{max-width:100%!important;min-width:0}
#profileModal .referralActions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#profileModal .referralApply{grid-template-columns:minmax(0,1fr) auto!important}
#profileModal .referralProfileHead>div{min-width:0!important}
#profileModal .referralProfileHead b{overflow-wrap:anywhere!important}
@media(max-width:390px){#profileModal .profileSheet{padding-left:14px!important;padding-right:14px!important}.referralProfileCard{padding:13px!important}}


/* FoodCore 4.11.31 — современный поиск */
.searchDialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:18px;border:0;background:transparent;overflow:hidden}.searchDialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.searchDialog[open]{display:grid;place-items:center}.searchDialogCard{position:relative;width:min(430px,100%);margin:0;padding:24px 20px 18px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(155deg,#1b1b1d 0%,#101011 100%);box-shadow:0 24px 80px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);color:#fff;animation:searchDialogIn .22s cubic-bezier(.2,.8,.2,1)}@keyframes searchDialogIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.searchDialogClose{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#bbb;font-size:25px;line-height:1}.searchDialogIcon{width:54px;height:54px;margin-bottom:16px;border-radius:17px;background:linear-gradient(145deg,var(--accent,#e31a1a),#8f0505);box-shadow:0 10px 28px rgba(220,20,20,.25);position:relative}.searchDialogIcon:before,.searchDialogFieldIcon:before{content:"";position:absolute;border:3px solid currentColor;border-radius:50%}.searchDialogIcon:after,.searchDialogFieldIcon:after{content:"";position:absolute;background:currentColor;border-radius:2px;transform:rotate(45deg);transform-origin:center}.searchDialogIcon{color:#fff}.searchDialogIcon:before{width:18px;height:18px;left:14px;top:12px}.searchDialogIcon:after{width:13px;height:3px;left:30px;top:31px}.searchDialogCopy{padding-right:42px}.searchDialogCopy h2{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.02em}.searchDialogCopy p{margin:7px 0 18px;color:#96969d;font-size:13px;line-height:1.45}.searchDialogField{height:58px;padding:0 46px 0 48px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:#27272a;display:flex;align-items:center;position:relative;transition:.18s}.searchDialogField:focus-within{border-color:color-mix(in srgb,var(--accent,#e31a1a) 75%,white 5%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#e31a1a) 15%,transparent)}.searchDialogFieldIcon{position:absolute;left:18px;top:18px;width:22px;height:22px;color:#8f8f96}.searchDialogFieldIcon:before{width:10px;height:10px;left:1px;top:1px;border-width:2px}.searchDialogFieldIcon:after{width:8px;height:2px;left:11px;top:14px}.searchDialogField input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:16px}.searchDialogField input::placeholder{color:#77777e}.searchDialogField input::-webkit-search-cancel-button{display:none}.searchDialogField button{position:absolute;right:10px;top:11px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#aaa;font-size:21px;opacity:0;pointer-events:none;transform:scale(.8);transition:.15s}.searchDialogField button.visible{opacity:1;pointer-events:auto;transform:scale(1)}.searchDialogActions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:18px}.searchDialogActions button{height:50px;border:0;border-radius:15px;font-weight:900;font-size:15px}.searchCancel{background:#29292c;color:#c5c5ca}.searchSubmit{background:var(--accent,#d71920);color:#fff;box-shadow:0 9px 22px color-mix(in srgb,var(--accent,#d71920) 28%,transparent)}@media(max-width:420px){.searchDialog{padding:14px}.searchDialogCard{padding:22px 16px 16px;border-radius:23px}.searchDialogCopy h2{font-size:23px}.searchDialogActions{grid-template-columns:1fr 1.2fr}}@media(max-height:540px){.searchDialog{align-items:start;overflow:auto;padding-top:24px}.searchDialogCard{margin:auto}}

.searchSuggestions{margin-top:10px;padding:6px;border:1px solid rgba(255,255,255,.10);border-radius:17px;background:rgba(255,255,255,.045);max-height:270px;overflow:auto}.searchSuggestions.hidden{display:none}.searchSuggestion{width:100%;min-height:64px;padding:7px;border:0;border-radius:13px;background:transparent;color:#fff;display:grid;grid-template-columns:50px 1fr auto;gap:11px;align-items:center;text-align:left}.searchSuggestion+ .searchSuggestion{margin-top:3px}.searchSuggestion:active,.searchSuggestion:hover{background:rgba(255,255,255,.08)}.searchSuggestionImage{width:50px;height:50px;border-radius:12px;overflow:hidden;background:#29292d;display:block}.searchSuggestionImage img{width:100%;height:100%;object-fit:cover;display:block}.searchSuggestionInfo{min-width:0;display:flex;flex-direction:column;gap:4px}.searchSuggestionInfo b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchSuggestionInfo small{max-width:220px;color:#8f8f97;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchSuggestion strong{font-size:13px;color:#fff;white-space:nowrap}.searchSuggestionEmpty{padding:18px 12px;color:#999;text-align:center;font-size:13px}@media(max-height:700px){.searchSuggestions{max-height:190px}}

/* FoodCore 4.11.34 — больше воздуха между баннером и историями, вертикальные Stories */
#promoRail{
  margin-top:18px;
  margin-bottom:14px;
  padding-top:2px;
  padding-bottom:10px;
  gap:12px;
}
#promoRail article{
  flex:0 0 112px;
  width:112px;
  height:120px;
  border-radius:20px;
  box-shadow:0 7px 20px rgba(0,0,0,.24);
}
#promoRail article img{object-fit:cover}
#promoRail article em{
  top:auto;
  bottom:8px;
  max-width:96px;
}
@media(max-width:380px){
  #promoRail{margin-top:16px;margin-bottom:12px;gap:10px}
  #promoRail article{flex-basis:102px;width:102px;height:110px;border-radius:18px}
  #promoRail article em{max-width:86px}
}

/* FoodCore 4.11.35 — unified modern bottom navigation and promotions */
.bottomNav{height:78px;grid-template-columns:repeat(5,1fr);padding:5px 4px max(5px,env(safe-area-inset-bottom));gap:0}.bottomNav button{min-width:0;gap:4px;font-weight:700;transition:color .18s ease,transform .18s ease}.bottomNav button:active{transform:scale(.94)}.bottomNav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.bottomNav span{font-size:10px;line-height:1}.bottomNav .active{color:var(--accent)}.bottomNav .active svg{stroke-width:2.25}.app{padding-bottom:84px}.floatingCart{bottom:92px}
.promosSheet .sheetCard{padding:0 0 28px;background:#080808}.promosPage{padding:22px 14px 30px}.promosPageHead{padding:8px 4px 18px}.promosPageHead small{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.promosPageHead h2{font-size:34px;margin:5px 0 6px}.promosPageHead p{margin:0;color:#92929a;font-size:14px}.promosList{display:grid;gap:16px}.clientPromoCard{border:0;padding:0;text-align:left;color:#fff;background:#17181c;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.3)}.clientPromoImage{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#2b2b2f,#111);overflow:hidden}.clientPromoImage img{width:100%;height:100%;object-fit:cover;display:block}.clientPromoBody{display:block;padding:15px 16px 17px}.clientPromoBody b{display:block;font-size:20px;line-height:1.15}.clientPromoBody span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#aaa;margin-top:7px;font-size:13px;line-height:1.4}.clientPromoMeta{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.clientPromoCode{padding:6px 9px;border-radius:9px;background:rgba(242,13,24,.13);color:var(--accent);font-size:11px;font-weight:900}.clientPromoMore{font-size:12px;font-weight:900;color:#fff}.promoDetailsHero{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#222;margin:4px 0 18px}.promoDetailsHero img{width:100%;height:100%;object-fit:cover}.promoDetailsContent{padding:0 4px 24px}.promoDetailsContent h2{font-size:29px;line-height:1.08;margin:0 0 10px}.promoDetailsContent .promoLead{font-size:15px;color:#b5b5ba;line-height:1.45;margin:0 0 16px}.promoDetailsContent .promoFull{font-size:15px;line-height:1.6;white-space:pre-wrap}.promoDetailsCode{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1c1d21;border:1px solid #303137;padding:13px 14px;border-radius:15px;margin:18px 0}.promoDetailsCode b{color:var(--accent);letter-spacing:.08em}.promoDetailsAction{width:100%;border:0;border-radius:15px;background:var(--accent);color:#fff;font-weight:900;font-size:16px;padding:15px}.promosEmpty{text-align:center;padding:60px 20px;color:#888}.promosEmpty b{display:block;color:#fff;font-size:20px;margin-bottom:7px}

/* FoodCore 4.11.43 — полноценное состояние пустой корзины */
.emptyCartState{min-height:min(720px,78vh);display:flex;flex-direction:column;padding:8px 2px 4px}.emptyCartHead span{display:block;color:var(--accent);font-size:11px;font-weight:950;letter-spacing:.14em}.emptyCartHead h2{font-size:34px;line-height:1;margin:7px 0 0}.emptyCartVisual{flex:1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 20px}.emptyCartIcon{width:116px;height:116px;border-radius:36px;display:grid;place-items:center;background:linear-gradient(145deg,#24252a,#121214);border:1px solid #303137;box-shadow:0 18px 44px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04)}.emptyCartIcon svg{width:68px;height:68px;fill:none;stroke:#f5f5f7;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.emptyCartVisual h3{font-size:24px;margin:23px 0 8px}.emptyCartVisual p{max-width:300px;margin:0;color:#999aa2;font-size:14px;line-height:1.45}.emptyCartPromo{background:#15161a;border:1px solid #2b2c31;border-radius:19px;padding:15px;margin:0 0 14px}.emptyCartPromo label{display:block;font-size:13px;font-weight:900;margin:0 0 9px}.emptyCartPromoRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.emptyCartPromoRow input{min-width:0;width:100%;height:49px;border:1px solid #34353b;border-radius:14px;background:#222328;color:#fff;padding:0 14px;font-size:15px;outline:0}.emptyCartPromoRow input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,13,24,.12)}.emptyCartPromoRow button{height:49px;border:0;border-radius:14px;background:#2a2b30;color:#fff;padding:0 15px;font-weight:900}.emptyCartPromoRow button:active{transform:scale(.98)}.emptyPromoStatus{font-size:11px;line-height:1.35;color:#8f9098;margin-top:9px}.emptyPromoStatus.saved{color:#71d89a}.emptyPromoStatus.error{color:#ff747c}.emptyCartMenuButton{min-height:56px;border-radius:17px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:12px}.emptyCartMenuButton span{font-size:23px;line-height:1}@media(max-width:390px){.emptyCartState{min-height:min(660px,77vh)}.emptyCartVisual{min-height:260px;padding:20px 14px}.emptyCartIcon{width:102px;height:102px;border-radius:31px}.emptyCartIcon svg{width:60px;height:60px}.emptyCartVisual h3{font-size:22px}.emptyCartPromoRow{grid-template-columns:1fr}.emptyCartPromoRow button{width:100%}}

/* FoodCore 4.11.45 — checkout blocks */
.checkoutBlocks{gap:14px;padding-bottom:92px}.checkoutCard{background:#1b1b1d;border:1px solid #303035;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.18)}.checkoutCardTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.checkoutCardTitle>div{display:grid;gap:3px}.checkoutCardTitle span{font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:900}.checkoutCardTitle b{font-size:20px;color:#fff}.checkoutCardTitle button{border:0;background:#2a2a2d;color:#ddd;border-radius:10px;padding:9px 11px;font-weight:800}.checkoutContactGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privateHouseToggle{display:flex!important;align-items:center;gap:12px;padding:13px;border:1px solid #39393d;border-radius:14px;background:#232326;color:#fff!important}.privateHouseToggle input{width:22px!important;height:22px!important;padding:0!important;accent-color:var(--accent)}.privateHouseToggle span{display:grid;gap:2px}.privateHouseToggle small{color:#92929a}.checkoutOrderList{display:grid;gap:0}.checkoutOrderItem{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #303035}.checkoutOrderItem:last-child{border-bottom:0}.checkoutOrderThumb{width:48px;height:48px;border-radius:12px;overflow:hidden;background:#28282b}.checkoutOrderThumb img{width:100%;height:100%;object-fit:cover}.checkoutOrderInfo{display:grid;gap:3px;min-width:0}.checkoutOrderInfo b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkoutOrderInfo small{font-size:11px;color:#92929a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkoutOrderInfo span{font-size:12px;color:#bbb}.checkoutOrderItem>strong{font-size:14px}.checkoutPromoCard .promoApplyRow{display:grid;grid-template-columns:1fr auto;gap:8px}.checkoutPromoCard .promoApplyRow button{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:0 14px;font-weight:900}.appliedDiscount{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(242,13,24,.12);border:1px solid rgba(242,13,24,.45);display:flex;justify-content:space-between;align-items:center}.appliedDiscount b{color:var(--accent);font-size:20px}.bonusCheckout--compact{margin:0}.bonusCompactHead{display:flex;justify-content:space-between;gap:12px;align-items:end}.bonusCompactHead>div{display:grid;gap:3px}.bonusCompactHead span{font-size:10px!important;letter-spacing:.12em;color:var(--accent)!important;font-weight:900}.bonusCompactHead b{font-size:20px}.bonusCompactHead strong{font-size:13px;color:#aaa}.bonusCheckout--compact input[type=range]{margin:14px 0 8px}.bonusCompactMeta{display:flex;justify-content:space-between;gap:12px;align-items:center}.bonusCompactMeta b{font-size:14px}.bonusCompactMeta span{font-size:12px;color:#aaa;text-align:right}.checkoutTotalCard .summary.compact{padding:0;border:0}.checkoutPaymentCard .paymentList{gap:8px}.checkoutPaymentCard .payOption{padding:13px 14px;border-radius:14px}.checkoutExtraCard{display:grid;gap:12px}.checkoutSubmitSticky{position:sticky;bottom:10px;z-index:7;box-shadow:0 12px 35px rgba(242,13,24,.3);border-radius:18px;font-size:16px}.checkoutSubmitSticky span{font:inherit}.checkoutAddress .addressFields{grid-template-columns:2fr 1fr 1fr}.checkoutAddress .apartmentFields{grid-template-columns:repeat(3,1fr)}@media(max-width:390px){.checkoutContactGrid{grid-template-columns:1fr}.checkoutAddress .addressFields,.checkoutAddress .apartmentFields{grid-template-columns:1fr 1fr}.checkoutOrderItem{grid-template-columns:44px minmax(0,1fr) auto}.bonusCompactMeta{align-items:flex-start;flex-direction:column;gap:5px}.bonusCompactMeta span{text-align:left}}

/* FoodCore 4.11.47 — checkout savings and compact bonus slider */
.bonusCheckout--compact{padding:14px 16px}.bonusCompactHead{align-items:center}.bonusCheckout--compact input[type=range]{height:18px;margin:9px 0 5px;accent-color:var(--accent)}.bonusCheckout--compact input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:99px}.bonusCheckout--compact input[type=range]::-webkit-slider-thumb{margin-top:-6px;width:16px;height:16px}.bonusCheckout--compact input[type=range]::-moz-range-track{height:4px;border-radius:99px}.bonusCheckout--compact input[type=range]::-moz-range-thumb{width:16px;height:16px}.removePromo{width:100%;margin-top:10px;border:1px solid #47474d;background:#242428;color:#f5f5f5;border-radius:12px;padding:11px 14px;font-weight:850}.appliedDiscount span{display:grid;gap:2px}.appliedDiscount span small{font-size:10px;color:#78dfa1;text-transform:uppercase;letter-spacing:.08em}.checkoutTotalCard .originalValueRow{padding-bottom:10px;border-bottom:1px solid #303035;margin-bottom:6px}.checkoutTotalCard .giftSavingRow b,.checkoutTotalCard .promoDiscountRow b,.checkoutTotalCard .bonusSavingRow b{color:#63d98b}.checkoutTotalCard .totalSavingRow{margin:10px -5px;padding:12px 10px;border-radius:12px;background:linear-gradient(135deg,rgba(35,166,91,.18),rgba(242,13,24,.1));border:1px solid rgba(73,213,125,.35)}.checkoutTotalCard .totalSavingRow span{font-weight:850}.checkoutTotalCard .totalSavingRow b{color:#63e39a;font-size:18px}.checkoutTotalCard .summaryRow.total{margin-top:8px;padding-top:13px;border-top:1px solid #39393d}.checkoutTotalCard .summaryRow.total b{color:var(--accent);font-size:22px}

/* 4.11.48 — locked bonuses and guided validation */
.bonusCheckout--locked{opacity:.58;filter:saturate(.45);border-color:rgba(255,255,255,.08)!important}
.bonusCheckout--locked input[type=range]{cursor:not-allowed;pointer-events:none}
.bonusCheckout--locked .bonusCompactMeta span{color:#a9adb7}
.attentionPulse{animation:foodcoreAttention 1.2s ease}
@keyframes foodcoreAttention{0%,100%{box-shadow:0 0 0 0 rgba(255,35,45,0)}35%{box-shadow:0 0 0 5px rgba(255,35,45,.22)}70%{box-shadow:0 0 0 10px rgba(255,35,45,0)}}


/* FoodCore 4.11.49 — компактная метка карты и симметричный блок адреса */
body.addressFirstRun #addressModal .addressMap:before{
  content:''!important;position:absolute!important;z-index:170!important;left:50%!important;top:50%!important;
  width:4px!important;height:31px!important;transform:translate(-50%,-100%)!important;rotate:0deg!important;
  border:0!important;border-radius:999px!important;background:#ff1717!important;
  box-shadow:0 5px 12px rgba(0,0,0,.24)!important;pointer-events:none!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
body.addressFirstRun #addressModal .addressMap:after{
  content:''!important;position:absolute!important;z-index:171!important;left:50%!important;top:50%!important;
  width:18px!important;height:18px!important;transform:translate(-50%,-50%)!important;
  border-radius:50%!important;background:#ff1717!important;border:4px solid #fff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.28)!important;pointer-events:none!important;
}
body.addressFirstRun #addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 7px))!important;box-shadow:0 10px 16px rgba(0,0,0,.18)!important}
body.addressFirstRun #addressModal.addressMoving .addressMap:after{transform:translate(-50%,calc(-50% - 7px))!important}
body.addressFirstRun #addressModal .addressFound{margin:0 0 10px!important}
body.addressFirstRun #addressModal .addressResultGrid{display:grid!important;gap:7px!important}
body.addressFirstRun #addressModal .addressResultRow{
  min-width:0!important;display:grid!important;grid-template-columns:20px minmax(0,1fr) auto!important;
  align-items:center!important;gap:9px!important;padding:9px 11px!important;border:1px solid rgba(255,255,255,.11)!important;
  border-radius:13px!important;background:rgba(255,255,255,.045)!important;color:#fff!important
}
body.addressFirstRun #addressModal .addressResultRow>div{min-width:0!important}
body.addressFirstRun #addressModal .addressResultRow small{display:block!important;margin:0 0 2px!important;color:rgba(255,255,255,.58)!important;font-size:10px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important}
body.addressFirstRun #addressModal .addressResultRow strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:14px!important;line-height:1.2!important;font-weight:850!important}
body.addressFirstRun #addressModal .addressResultRow>b{white-space:nowrap!important;color:#ff666d!important;font-size:13px!important;font-weight:850!important}
body.addressFirstRun #addressModal .addressResultRow.outside>b{color:#aaa!important}
.addressResultMiniPin{position:relative!important;width:14px!important;height:14px!important;border:3px solid #ff1717!important;border-radius:50%!important;box-sizing:border-box!important}
.addressResultMiniPin:after{content:''!important;position:absolute!important;left:50%!important;top:11px!important;width:2px!important;height:7px!important;transform:translateX(-50%)!important;background:#ff1717!important;border-radius:999px!important}
.addressResultZoneDot{width:10px!important;height:10px!important;border-radius:50%!important;background:#ff1717!important;box-shadow:0 0 0 4px rgba(255,23,23,.16)!important}
@media(max-width:390px){body.addressFirstRun #addressModal .addressResultRow{padding:8px 9px!important;gap:8px!important}body.addressFirstRun #addressModal .addressResultRow strong{font-size:13px!important}body.addressFirstRun #addressModal .addressResultRow>b{font-size:12px!important}}


/* FoodCore 4.11.50 — precise center point and clean delivery address card */
#addressModal .addressMap:before{
  content:''!important;position:absolute!important;z-index:180!important;left:50%!important;top:50%!important;
  width:3px!important;height:19px!important;box-sizing:border-box!important;
  transform:translate(-50%,-100%)!important;rotate:0deg!important;
  background:#ff101b!important;border:0!important;border-radius:999px!important;
  box-shadow:0 4px 8px rgba(0,0,0,.22)!important;pointer-events:none!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
#addressModal .addressMap:after{
  content:''!important;position:absolute!important;z-index:181!important;left:50%!important;top:50%!important;
  width:16px!important;height:16px!important;box-sizing:border-box!important;
  transform:translate(-50%,-31px)!important;rotate:0deg!important;
  border-radius:50%!important;background:#ff101b!important;border:3px solid #fff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.28)!important;pointer-events:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#addressModal.addressMoving .addressMap:before{transform:translate(-50%,calc(-100% - 6px))!important;box-shadow:0 9px 14px rgba(0,0,0,.18)!important}
#addressModal.addressMoving .addressMap:after{transform:translate(-50%,-37px)!important}
#addressModal .addressFound{margin:0 0 12px!important;padding:0!important;white-space:normal!important;overflow:visible!important}
#addressModal .addressResultCard{display:grid!important;gap:0!important;padding:4px 14px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:17px!important;background:rgba(255,255,255,.045)!important}
#addressModal .addressResultItem{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:14px!important;padding:11px 0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;min-width:0!important}
#addressModal .addressResultItem:last-child{border-bottom:0!important}
#addressModal .addressResultItem small{grid-column:1/-1!important;display:block!important;margin:0 0 5px!important;color:rgba(255,255,255,.58)!important;font-size:11px!important;line-height:1.15!important;font-weight:750!important;letter-spacing:.01em!important;text-transform:none!important}
#addressModal .addressResultItem strong{grid-column:1/-1!important;display:block!important;min-width:0!important;color:#fff!important;font-size:16px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.1px!important;white-space:normal!important;overflow-wrap:anywhere!important}
#addressModal .addressResultPrice{grid-template-columns:minmax(0,1fr) auto!important}
#addressModal .addressResultPrice small{grid-column:1!important;margin:0!important;align-self:center!important}
#addressModal .addressResultPrice strong{grid-column:2!important;color:#ff3943!important;font-size:18px!important;white-space:nowrap!important;text-align:right!important}
#addressModal .addressResultPrice.outside strong{color:#aaa!important;font-size:14px!important}
@media(max-width:390px){
  #addressModal .addressResultCard{padding:3px 12px!important;border-radius:15px!important}
  #addressModal .addressResultItem{padding:9px 0!important}
  #addressModal .addressResultItem small{font-size:10px!important;margin-bottom:4px!important}
  #addressModal .addressResultItem strong{font-size:15px!important}
  #addressModal .addressResultPrice strong{font-size:17px!important}
}

/* Checkout flow + modal stability v4.11.53 */
.checkoutBlocks{padding-bottom:28px!important}
.checkoutSubmitSticky{position:static!important;bottom:auto!important;z-index:auto!important}
.checkoutFinalActions{display:grid;gap:12px;margin-top:2px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.checkoutFinalActions .checkoutSubmit{position:static!important;margin:0!important;box-shadow:0 12px 34px rgba(242,13,24,.28)}
.editOrderButton{width:100%;border:0;background:transparent;color:#d7d7dc;text-decoration:underline;text-underline-offset:5px;font-size:16px;font-weight:800;padding:8px 12px 2px}
.checkoutTimeDetailsCard{display:grid;gap:12px}
.checkoutTimeDetailsCard .checkoutCardTitle{margin-bottom:0}
.checkoutTimeHint{margin:0;padding:11px 13px;border-radius:13px;background:#132331;border:1px solid #24465d;color:#b9d9ec;font-size:13px;line-height:1.45}
body.timePickerOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
#cartModal.timePickerMode{overflow:hidden!important;overscroll-behavior:contain!important}
#cartModal.timePickerMode #cartModalBody{height:min(92dvh,900px);max-height:min(92dvh,900px);overflow:hidden!important;overscroll-behavior:contain!important}
#cartModal.timePickerMode .timePicker{height:100%;max-height:100%;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(22px + env(safe-area-inset-bottom))}

/* Global precise map center marker — works in every address mode */
#addressModal .addressMap::before,
.addressMapSheet .addressMap::before{content:""!important;position:absolute!important;z-index:1001!important;left:50%!important;top:50%!important;width:3px!important;height:22px!important;background:#f10f1b!important;border:0!important;border-radius:999px!important;transform:translate(-50%,-9px)!important;rotate:0deg!important;box-shadow:0 2px 5px rgba(0,0,0,.22)!important;pointer-events:none!important;opacity:1!important;filter:none!important}
#addressModal .addressMap::after,
.addressMapSheet .addressMap::after{content:""!important;position:absolute!important;z-index:1002!important;left:50%!important;top:50%!important;width:14px!important;height:14px!important;box-sizing:border-box!important;background:#f10f1b!important;border:3px solid #fff!important;border-radius:50%!important;transform:translate(-50%,-24px)!important;box-shadow:0 4px 12px rgba(0,0,0,.30)!important;pointer-events:none!important;opacity:1!important;filter:none!important;padding:0!important}
#addressModal.addressMoving .addressMap::before{transform:translate(-50%,-14px)!important}
#addressModal.addressMoving .addressMap::after{transform:translate(-50%,-31px)!important;box-shadow:0 8px 16px rgba(0,0,0,.24)!important}


/* v4.11.54 — time picker, map marker and bonus range fixes */
#cartModal.timePickerMode>.sheetCard>.sheetClose{display:none!important}
#cartModal.timePickerMode .sheetCard{padding-top:calc(18px + env(safe-area-inset-top))!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important}
#cartModal.timePickerMode #cartModalBody{height:100%!important;max-height:100%!important}
#cartModal.timePickerMode .timePicker{padding:0 16px calc(24px + env(safe-area-inset-bottom))!important}
#cartModal.timePickerMode .timeHead{position:sticky!important;top:0!important;z-index:5!important;display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;align-items:center!important;gap:10px!important;background:#171717!important;padding:14px 0 12px!important;margin:0!important}
#cartModal.timePickerMode .timeHead h2{margin:0!important;font-size:clamp(28px,7vw,38px)!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important}
#cartModal.timePickerMode #closeTimePicker{position:static!important;width:48px!important;height:48px!important;border:0!important;border-radius:50%!important;background:#2a2a2d!important;color:#fff!important;font-size:34px!important;line-height:1!important;padding:0!important;display:grid!important;place-items:center!important}
#addressModal .addressMap::before,#addressModal .addressMap::after,.addressMapSheet .addressMap::before,.addressMapSheet .addressMap::after{display:none!important;content:none!important}
#addressMap{position:relative!important}
#addressMap .foodcoreCenterMarker{position:absolute!important;z-index:99999!important;left:50%!important;top:50%!important;width:26px!important;height:42px!important;transform:translate(-50%,-100%)!important;pointer-events:none!important;filter:drop-shadow(0 5px 7px rgba(0,0,0,.28))!important}
#addressMap .foodcoreCenterMarker i{position:absolute!important;left:50%!important;bottom:0!important;width:3px!important;height:24px!important;background:#f10f1b!important;border-radius:999px!important;transform:translateX(-50%)!important}
#addressMap .foodcoreCenterMarker b{position:absolute!important;left:50%!important;top:0!important;width:16px!important;height:16px!important;background:#f10f1b!important;border:3px solid #fff!important;border-radius:50%!important;transform:translateX(-50%)!important;box-shadow:0 3px 10px rgba(0,0,0,.26)!important}
#addressModal.addressMoving #addressMap .foodcoreCenterMarker{transform:translate(-50%,calc(-100% - 7px))!important}
.bonusCheckout--compact input[type=range]{width:calc(100% + 18px)!important;margin-left:-9px!important;margin-right:-9px!important}


/* v4.11.55 — time picker opens at dates, bonus starts at true zero */
#cartModal.timePickerMode #cartModalBody,
#cartModal.timePickerMode .timePicker{scroll-behavior:auto!important}
#cartModal.timePickerMode .timeDayPrompt{margin-top:18px;padding:22px 18px;border:1px solid #343438;border-radius:18px;background:#202023;display:grid;gap:7px;text-align:center}
#cartModal.timePickerMode .timeDayPrompt b{font-size:18px;color:#fff}
#cartModal.timePickerMode .timeDayPrompt span{font-size:13px;line-height:1.45;color:#9b9ba3}
.bonusCheckout--compact input[type=range]{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;padding:0!important}
.bonusCheckout--compact input[type=range]::-webkit-slider-thumb{margin-left:0!important}

/* v4.11.56 — compact, finger-friendly bonus slider */
.bonusCheckout--compact input[type=range]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:calc(100% - 20px)!important;
  height:44px!important;
  margin:4px 10px 2px!important;
  padding:0!important;
  background:transparent!important;
  cursor:pointer!important;
  touch-action:pan-y!important;
}
.bonusCheckout--compact input[type=range]::-webkit-slider-runnable-track{
  height:5px!important;
  border-radius:999px!important;
  background:#f1f1f3!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)!important;
}
.bonusCheckout--compact input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:22px!important;
  height:22px!important;
  margin-top:-8.5px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--accent)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.3)!important;
}
.bonusCheckout--compact input[type=range]::-moz-range-track{
  height:5px!important;
  border-radius:999px!important;
  background:#f1f1f3!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)!important;
}
.bonusCheckout--compact input[type=range]::-moz-range-progress{
  height:5px!important;
  border-radius:999px!important;
  background:var(--accent)!important;
}
.bonusCheckout--compact input[type=range]::-moz-range-thumb{
  width:22px!important;
  height:22px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--accent)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.3)!important;
}
.bonusCheckout--compact input[type=range]:focus{outline:none!important}
.bonusCheckout--compact input[type=range]:focus-visible::-webkit-slider-thumb{
  box-shadow:0 0 0 5px rgba(242,13,24,.2),0 2px 8px rgba(0,0,0,.3)!important;
}

/* FoodCore 4.11.58 — экран закрытого заведения при запуске */
#closedModal .closedSheet{padding:18px 20px 22px;text-align:center;background:#fff;box-shadow:0 28px 80px rgba(18,24,40,.24)}
#closedModal .closedArtwork{width:100%;max-width:320px;margin:0 auto 4px;color:var(--accent,#ef2b2d)}
#closedModal .closedArtwork svg{display:block;width:100%;height:auto}
#closedModal .closedIcon{display:none}
#closedModal h2{font-size:29px;line-height:1.08;margin:4px 0 8px;color:#171a20}
#closedModal #closedMessage{font-size:15px;line-height:1.5;color:#667085;margin:0 auto 20px;max-width:340px}
#closedModal #closedMenuButton{min-height:54px;border-radius:17px;font-size:17px;font-weight:850}
#closedModal .closedPreorderLink{display:none;width:100%;margin-top:7px;border:0;background:transparent;color:var(--accent,#ef2b2d);font-weight:800;font-size:15px;padding:12px;cursor:pointer}
#closedModal[data-subscription-blocked="1"] .closedArtwork{filter:grayscale(.45);opacity:.8}
@media(max-height:620px){#closedModal .closedArtwork{max-width:230px}#closedModal .sheetCard{padding-top:10px}#closedModal h2{font-size:25px}}

/* FoodCore 4.11.60 — modern review modal and stable gallery photo flow */
#rateOrderModal::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(5px)}
.rateOrderSheet{width:min(680px,calc(100vw - 28px));max-height:94vh;text-align:center;border:1px solid #3b4048;background:radial-gradient(circle at 50% 0,#24272d 0,#181a1e 38%,#15171a 100%);border-radius:30px;padding:28px 24px calc(24px + env(safe-area-inset-bottom));box-shadow:0 26px 70px #000b}
.rateOrderSheet .sheetClose{top:16px;right:16px;width:46px;height:46px;border-radius:50%;background:#ffffff14;border:1px solid #ffffff1f;color:#fff;font-size:31px;line-height:1}
.rateOrderIcon{width:82px;height:82px;margin:4px auto 22px;border-radius:50%;background:radial-gradient(circle,#6a4d1b,#3a2d18);border:1px solid #91671e;box-shadow:0 0 34px #ffb22422;position:relative}
.rateOrderIcon span{color:#ffb52f;font-size:43px;filter:drop-shadow(0 4px 10px #0006)}
.rateOrderSheet h2{font-size:34px;line-height:1.1;margin:0 0 12px;letter-spacing:-.6px}
.rateOrderSheet #rateOrderHint{margin:0;color:#a8afb9;font-size:17px}
.rateStars{display:flex;justify-content:center;align-items:center;gap:13px;margin:28px auto 8px;width:100%}
.rateStars button{flex:0 1 60px;width:60px;height:60px;display:grid;place-items:center;border:0;background:transparent;color:#676e78;font-size:53px;padding:0;line-height:1;transition:transform .16s,color .16s,filter .16s}
.rateStars button.active{color:#ffbd32;filter:drop-shadow(0 5px 12px #ffb62433);transform:translateY(-2px)}
.rateStarsHint{margin:0 0 22px;color:#aab1bb;font-size:15px}
.reviewReasons{margin:-6px 0 18px}
.reviewRewardPreview{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:16px;text-align:left;padding:18px;border:1px solid #5c4928;border-radius:20px;background:linear-gradient(135deg,#302618,#1d1d20);margin:0 0 18px}
.reviewRewardIcon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#ffb52f18;font-size:28px}
.reviewRewardBody>b{font-size:18px;display:block;margin:0 0 7px}.reviewRewardBody>div{display:flex;flex-wrap:wrap;gap:7px}.reviewRewardBody span{background:transparent;padding:0;color:#ffba35;font-weight:800}.reviewRewardBody small{display:block;color:#b7bdc6;margin-top:6px;line-height:1.4}
.reviewCommentWrap{position:relative;margin-bottom:16px}.rateOrderSheet .reviewCommentWrap textarea{min-height:130px;margin:0;padding:16px 16px 34px;border-radius:18px;background:#181b20;border-color:#3b414a}.reviewCommentWrap>small{position:absolute;right:14px;bottom:11px;color:#9299a4;font-size:13px}
.reviewPhotoPick{display:grid;grid-template-columns:45px 1fr 22px;align-items:center;gap:12px;text-align:left;padding:15px 16px;border:1px dashed #464c55;border-radius:18px;background:#191c20;margin:0;cursor:pointer}
.reviewPhotoPick input{display:none}.reviewPhotoIcon{width:42px;height:42px;border:2px solid #e7e9ed;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:20px}.reviewPhotoText b,.reviewPhotoText small{display:block}.reviewPhotoText b{font-size:17px}.reviewPhotoText small{width:auto;color:#a7aeb8;margin-top:4px}.reviewPhotoArrow{font-size:35px;color:#8e959f;font-weight:300}
.reviewPhotoPreview{margin-top:12px;padding:10px;border:1px solid #3d434c;border-radius:18px;background:#171a1e}.reviewPhotoPreview.hidden{display:none}.reviewPhotoPreview img{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:13px}.reviewPhotoPreview button{margin-top:10px;border:0;background:transparent;color:#ff7378;font-weight:800;padding:8px 12px}
.reviewPublicConsent{justify-content:flex-start;text-align:left;padding:16px 4px;border:0;margin:10px 0 4px}.reviewPublicConsent input{accent-color:#ff1f2d;flex:0 0 auto}
.rateOrderSheet #sendReviewBtn{height:56px;border-radius:17px;font-size:18px;margin-top:0}.rateOrderSheet #reviewLaterBtn{height:54px;border-radius:17px;margin-top:10px}
@media(max-width:560px){.rateOrderSheet{width:calc(100vw - 16px);padding:24px 16px calc(20px + env(safe-area-inset-bottom));border-radius:26px}.rateOrderSheet h2{font-size:30px}.rateStars{gap:5px}.rateStars button{width:52px;height:52px;font-size:46px;flex-basis:52px}.reviewRewardPreview{grid-template-columns:52px 1fr;padding:15px;gap:12px}.reviewRewardIcon{width:50px;height:50px}.reviewPublicConsent{font-size:15px}}

/* FoodCore 4.11.61 — premium centered review modal */
#rateOrderModal::backdrop{background:rgba(0,0,0,.82)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}
#rateOrderModal .rateOrderSheet{
  width:min(620px,calc(100vw - 20px))!important;
  max-height:94vh!important;
  overflow-y:auto!important;
  text-align:center!important;
  padding:36px 24px calc(26px + env(safe-area-inset-bottom))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:30px!important;
  background:radial-gradient(circle at 50% -12%,rgba(255,184,48,.08),transparent 30%),linear-gradient(180deg,#202329 0%,#17191d 100%)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.72)!important;
}
#rateOrderModal .rateOrderIcon{display:none!important}
#rateOrderModal .sheetClose{
  position:absolute!important;top:15px!important;right:15px!important;
  width:44px!important;height:44px!important;border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;
  color:#fff!important;font-size:30px!important;box-shadow:none!important;
}
#rateOrderModal #rateOrderTitle{
  width:100%!important;margin:10px auto 8px!important;padding:0 54px!important;box-sizing:border-box!important;
  color:#fff!important;text-align:center!important;font-size:34px!important;line-height:1.12!important;font-weight:900!important;letter-spacing:-.55px!important;
}
#rateOrderModal #rateOrderHint{
  display:block!important;width:100%!important;max-width:none!important;margin:0 auto!important;padding:0 12px!important;box-sizing:border-box!important;
  color:#9ea5af!important;text-align:center!important;font-size:16px!important;line-height:1.4!important;
}
#rateOrderModal .rateStars{
  display:grid!important;grid-template-columns:repeat(5,56px)!important;justify-content:center!important;align-items:center!important;
  gap:13px!important;width:100%!important;margin:26px auto 10px!important;padding:0!important;
}
#rateOrderModal .rateStars button{
  width:56px!important;height:56px!important;display:grid!important;place-items:center!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;
  color:#707782!important;font-size:50px!important;line-height:1!important;font-family:Arial,sans-serif!important;
  transform:none!important;transition:transform .16s ease,color .16s ease,filter .16s ease!important;
}
#rateOrderModal .rateStars button.active{color:#ffb72d!important;transform:scale(1.08)!important;filter:drop-shadow(0 4px 10px rgba(255,183,45,.28))!important}
#rateOrderModal .rateStarsHint{margin:0 auto 22px!important;text-align:center!important;color:#a9b0b9!important;font-size:15px!important;line-height:1.35!important}
#rateOrderModal .reviewRewardPreview{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  margin:0 auto 18px!important;padding:18px 20px!important;text-align:center!important;
  border:1px solid rgba(255,184,48,.34)!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,183,45,.10),rgba(255,255,255,.025))!important;
}
#rateOrderModal .reviewRewardIcon{
  width:50px!important;height:50px!important;display:grid!important;place-items:center!important;margin:0 auto 2px!important;
  border-radius:16px!important;background:rgba(255,183,45,.12)!important;font-size:25px!important;
}
#rateOrderModal .reviewRewardBody{width:100%!important;text-align:center!important}
#rateOrderModal .reviewRewardBody>b{display:block!important;margin:0 0 6px!important;font-size:18px!important;color:#fff!important;text-align:center!important}
#rateOrderModal .reviewRewardBody>div{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:6px 10px!important;text-align:center!important}
#rateOrderModal .reviewRewardBody span{display:inline-block!important;color:#ffbd38!important;font-size:16px!important;font-weight:850!important;text-align:center!important}
#rateOrderModal .reviewRewardBody small{display:block!important;max-width:430px!important;margin:7px auto 0!important;color:#abb2bc!important;line-height:1.42!important;text-align:center!important}
#rateOrderModal .reviewCommentWrap{margin:0 0 15px!important}
#rateOrderModal .reviewCommentWrap textarea{
  min-height:124px!important;margin:0!important;padding:17px 17px 36px!important;
  border:1px solid #3c424b!important;border-radius:20px!important;background:#171a1f!important;
  color:#fff!important;font-size:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
#rateOrderModal .reviewCommentWrap>small{right:16px!important;bottom:12px!important;color:#858d98!important}
#rateOrderModal .reviewPhotoPick{
  display:grid!important;grid-template-columns:52px minmax(0,1fr) 22px!important;align-items:center!important;gap:14px!important;
  width:100%!important;box-sizing:border-box!important;margin:0!important;padding:15px 17px!important;
  border:1px solid #3d434c!important;border-radius:20px!important;background:rgba(255,255,255,.025)!important;
  text-align:left!important;cursor:pointer!important;
}
#rateOrderModal .reviewPhotoIcon{
  width:50px!important;height:50px!important;display:grid!important;place-items:center!important;
  border:0!important;border-radius:16px!important;background:rgba(242,13,24,.12)!important;color:#ff3b47!important;
}
#rateOrderModal .reviewPhotoIcon svg{width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#rateOrderModal .reviewPhotoText{min-width:0!important}
#rateOrderModal .reviewPhotoText b{display:block!important;color:#fff!important;font-size:17px!important;line-height:1.25!important}
#rateOrderModal .reviewPhotoText small{display:block!important;width:auto!important;margin-top:4px!important;color:#9ca4af!important;font-size:13px!important;line-height:1.35!important;white-space:normal!important}
#rateOrderModal .reviewPhotoArrow{color:#7e8792!important;font-size:33px!important;line-height:1!important;text-align:right!important}
#rateOrderModal .reviewPublicConsent{
  display:flex!important;justify-content:center!important;align-items:center!important;gap:11px!important;
  margin:14px auto 5px!important;padding:10px 4px!important;border:0!important;text-align:center!important;color:#e5e7ea!important;
}
#rateOrderModal .reviewPublicConsent input{width:22px!important;height:22px!important;flex:0 0 auto!important;accent-color:#f20d18!important}
#rateOrderModal #sendReviewBtn{height:56px!important;margin-top:2px!important;border-radius:18px!important;font-size:18px!important;font-weight:900!important;box-shadow:0 12px 28px rgba(242,13,24,.22)!important}
#rateOrderModal #reviewLaterBtn{height:52px!important;margin-top:10px!important;border-radius:17px!important;background:transparent!important;border:1px solid #3d434b!important;color:#d9dde2!important}
@media(max-width:430px){
  #rateOrderModal .rateOrderSheet{width:calc(100vw - 12px)!important;padding:32px 15px calc(22px + env(safe-area-inset-bottom))!important;border-radius:26px!important}
  #rateOrderModal #rateOrderTitle{font-size:30px!important;padding:0 48px!important}
  #rateOrderModal #rateOrderHint{font-size:14px!important}
  #rateOrderModal .rateStars{grid-template-columns:repeat(5,48px)!important;gap:8px!important;margin-top:23px!important}
  #rateOrderModal .rateStars button{width:48px!important;height:48px!important;font-size:44px!important}
  #rateOrderModal .reviewRewardPreview{padding:16px 14px!important}
  #rateOrderModal .reviewPhotoPick{grid-template-columns:48px minmax(0,1fr) 18px!important;gap:11px!important;padding:14px!important}
  #rateOrderModal .reviewPhotoIcon{width:46px!important;height:46px!important}
  #rateOrderModal .reviewPublicConsent{align-items:flex-start!important;text-align:left!important;font-size:14px!important}
}

/* FoodCore 4.11.63 — strict centering for the review form */
#rateOrderModal .rateOrderSheet,
#rateOrderModal .rateOrderSheet *{box-sizing:border-box}
#rateOrderModal #rateOrderTitle,
#rateOrderModal #rateOrderHint,
#rateOrderModal .rateStarsHint,
#rateOrderModal .reviewRewardPreview,
#rateOrderModal .reviewRewardBody,
#rateOrderModal .reviewRewardBody>b,
#rateOrderModal .reviewRewardBody>div,
#rateOrderModal .reviewRewardBody span,
#rateOrderModal .reviewRewardBody small{
  text-align:center!important;
}
#rateOrderModal #rateOrderTitle,
#rateOrderModal #rateOrderHint,
#rateOrderModal .rateStars,
#rateOrderModal .rateStarsHint,
#rateOrderModal .reviewReasons,
#rateOrderModal .reviewRewardPreview,
#rateOrderModal .reviewCommentWrap,
#rateOrderModal .reviewPhotoPick,
#rateOrderModal #sendReviewBtn,
#rateOrderModal #reviewLaterBtn{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#rateOrderModal .reviewReasons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:9px!important;
  padding:0!important;
  margin-top:0!important;
  margin-bottom:18px!important;
}
#rateOrderModal .reviewReasons.hidden{display:none!important}
#rateOrderModal .reviewReasons button{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 12px!important;
  margin:0!important;
  text-align:center!important;
  line-height:1.25!important;
  white-space:normal!important;
}
#rateOrderModal .reviewRewardPreview{
  align-items:center!important;
  justify-content:center!important;
}
#rateOrderModal .reviewRewardBody>div{
  width:100%!important;
  align-items:center!important;
  justify-content:center!important;
}
#rateOrderModal .reviewRewardBody span{
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
#rateOrderModal .reviewPhotoPick{
  text-align:left!important;
}
#rateOrderModal .reviewPhotoText,
#rateOrderModal .reviewPhotoText b,
#rateOrderModal .reviewPhotoText small{
  text-align:left!important;
}
@media(max-width:430px){
  #rateOrderModal .reviewReasons{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #rateOrderModal .reviewReasons button{font-size:13px!important;padding:8px 7px!important}
}

/* FoodCore 4.11.64 — final reward card centering */
#rateOrderModal .reviewRewardPreview{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  text-align:center!important;
}
#rateOrderModal .reviewRewardIcon{
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#rateOrderModal .reviewRewardBody{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
#rateOrderModal .reviewRewardBody>b{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto 8px!important;
  padding:0!important;
  text-align:center!important;
  justify-self:stretch!important;
}
#rateOrderModal .reviewRewardBody>div{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  margin:0 auto!important;
}
#rateOrderModal .reviewRewardBody small{
  width:100%!important;
  margin:8px auto 0!important;
  text-align:center!important;
  justify-self:stretch!important;
}

/* FoodCore 4.11.70 — working gift wheel */
#drawerWheel[hidden]{display:none!important}
.wheelStatus{min-height:46px;margin:13px 0;color:#aab2bd;line-height:1.4}
.wheelWon,.wheelMiss{display:grid;gap:7px;padding:14px;border-radius:16px;text-align:center}
.wheelWon{background:rgba(31,190,105,.12);border:1px solid rgba(31,190,105,.38);color:#fff}
.wheelWon>b{font-size:18px}.wheelWon code{display:block;padding:9px;border-radius:10px;background:#fff;color:#111;font-size:20px;font-weight:950;letter-spacing:.08em}
.wheelWon button{border:0;border-radius:11px;background:var(--accent);color:#fff;padding:11px;font-weight:900}
.wheelMiss{background:rgba(255,255,255,.055);border:1px solid #343a43;color:#fff}.wheelMiss b{font-size:17px}.wheelMiss small{color:#9ba4b0}
.wheelSpinBtn:disabled{opacity:.55;cursor:not-allowed}
.wheelPrizeList div{min-width:0}.wheelPrizeList b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rewardWheel .wheelSectorIcon{left:50%;top:50%;width:36px;height:36px;margin:-18px;display:grid;place-items:center;transform:rotate(var(--a)) translateY(clamp(-125px,-28vw,-100px)) rotate(calc(-1 * var(--a)));font-size:22px;line-height:1;text-align:center;overflow:visible;text-overflow:clip;text-shadow:0 2px 7px rgba(0,0,0,.4)}

/* FoodCore 4.11.72 — equal wheel sectors and prize artwork */
.rewardWheel{border-color:#fff;box-shadow:0 16px 48px #0009,inset 0 0 34px #0005}
.rewardWheel:before{content:'';position:absolute;z-index:1;inset:4%;border:1px solid rgba(255,255,255,.3);border-radius:50%;box-shadow:0 0 18px rgba(255,255,255,.08)}
.rewardWheel:after{z-index:3;inset:41%;background:radial-gradient(circle at 35% 28%,#fff,#e8ebf1 42%,#aeb6c2);border-width:5px;box-shadow:0 5px 18px #0008}
.rewardWheel .wheelSectorIcon{z-index:2;width:42px;height:42px;margin:-21px;border-radius:13px;background:rgba(11,14,18,.24);font-size:23px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.18)}
.rewardWheel .wheelSectorIcon img,.wheelPrizeListIcon img{width:100%;height:100%;object-fit:cover;display:block}
.wheelPrizeList div{background:linear-gradient(135deg,#1d2229,#171b20)}
.wheelPrizeListIcon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:#282e36;font-size:18px!important}

/* FoodCore 4.11.73 — marketplace reward experience */
#wheelModal .wheelSheet{position:relative;isolation:isolate;padding:28px 18px max(28px,env(safe-area-inset-bottom));background:
 radial-gradient(circle at 50% 31%,color-mix(in srgb,var(--accent,#ef2b2d) 22%,transparent) 0,transparent 33%),
 linear-gradient(180deg,#15171b 0,#090a0d 72%);color:#fff;overflow:auto}
#wheelModal .wheelSheet:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.035) 48%,transparent 58%);pointer-events:none}
#wheelModal .sheetClose{top:19px;right:17px;width:38px;height:38px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:#c7cbd2;backdrop-filter:blur(10px)}
.wheelEyebrow{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 42px 8px;color:#d2d5da;font-size:10px;font-weight:900;letter-spacing:.18em}.wheelEyebrow i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent,#ef2b2d) 19%,transparent);color:var(--accent,#ef2b2d);font-style:normal;font-size:12px}
#wheelModal .wheelHeader{display:block;padding:0 15px;text-align:center}.wheelHeader h2{margin:0;font-size:32px;line-height:1.04;letter-spacing:-.045em;font-weight:950}.wheelHeader p{max-width:330px;margin:9px auto 0;color:#8f949d;font-size:13px;line-height:1.4}
.rewardWheelStage{position:relative;margin:8px -18px 0;padding:25px 18px 10px;overflow:hidden}.rewardWheelGlow{position:absolute;left:50%;top:49%;width:310px;height:310px;transform:translate(-50%,-50%);border-radius:50%;background:color-mix(in srgb,var(--accent,#ef2b2d) 22%,transparent);filter:blur(48px);opacity:.58}
.rewardWheelWrap{width:min(77vw,338px);margin:0 auto;z-index:1}.rewardWheelWrap:before{content:'';position:absolute;inset:-7px;border-radius:50%;background:linear-gradient(145deg,#fff 0,#777d86 22%,#f5f7f9 43%,#676c74 67%,#fff 100%);box-shadow:0 25px 65px #000c,0 0 0 1px rgba(255,255,255,.2)}
.rewardWheelWrap:after{content:'';position:absolute;z-index:0;inset:3px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),inset 0 0 18px #0008;pointer-events:none}
.rewardWheel{z-index:1;border:8px solid #0d0f12;box-shadow:inset 0 0 38px #0007;overflow:hidden}
.rewardWheel:before{inset:3%;border-color:rgba(255,255,255,.2);box-shadow:inset 0 0 16px rgba(0,0,0,.25)}
.rewardWheel:after{display:none}
.rewardWheelPointer{z-index:8;top:-24px;width:48px;height:62px;filter:drop-shadow(0 8px 9px #0009)}
.rewardWheelPointer:before{content:'';position:absolute;left:50%;top:0;width:36px;height:36px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(145deg,#fff,#a9afb7);box-shadow:inset 0 0 0 6px #17191d}
.rewardWheelPointer i{position:absolute;left:50%;top:25px;width:24px;height:31px;transform:translateX(-50%);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,#f7f8fa,#aeb4bd)}
.rewardWheel .wheelSectorIcon{width:48px;height:48px;margin:-24px;transform:rotate(var(--a)) translateY(clamp(-126px,-28vw,-103px)) rotate(calc(-1 * var(--a)));border:1px solid rgba(255,255,255,.24);border-radius:15px;background:rgba(10,11,14,.72);font-size:25px;box-shadow:0 7px 18px #0006;backdrop-filter:blur(5px)}
.wheelSpinBtn{position:absolute;z-index:7;left:50%;top:50%;width:106px;height:106px;margin:0;transform:translate(-50%,-50%);border:6px solid #f4f5f7;border-radius:50%;background:linear-gradient(155deg,var(--accent,#ef2b2d),color-mix(in srgb,var(--accent,#ef2b2d) 63%,#720008));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 12px 27px #0009,inset 0 2px 5px rgba(255,255,255,.35);cursor:pointer;transition:transform .18s,filter .18s}
.wheelSpinBtn:active{transform:translate(-50%,-50%) scale(.95)}.wheelSpinBtn small{font-size:8px;letter-spacing:.16em;font-weight:850;opacity:.75}.wheelSpinBtn b{font-size:15px;letter-spacing:.045em}.wheelSpinBtn:disabled{opacity:1;filter:grayscale(.65) brightness(.72);cursor:not-allowed}
#wheelModal .wheelStatus{position:relative;z-index:2;min-height:22px;margin:5px 0 19px;color:#c4c8cf;font-size:13px;font-weight:750}
.wheelPrizeTitle{display:flex;align-items:center;gap:12px;margin:0 1px 11px;color:#7f858e;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.wheelPrizeTitle i{height:1px;flex:1;background:linear-gradient(90deg,#30343a,transparent)}
#wheelModal .wheelPrizeList{display:flex;grid-template-columns:none;gap:9px;margin:0 -18px;padding:0 18px 5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}#wheelModal .wheelPrizeList::-webkit-scrollbar{display:none}
#wheelModal .wheelPrizeList div{flex:0 0 135px;min-height:61px;padding:8px 10px;border:1px solid rgba(255,255,255,.085);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));scroll-snap-align:start;box-shadow:inset 0 1px rgba(255,255,255,.04)}
#wheelModal .wheelPrizeListIcon{width:40px;height:40px;flex-basis:40px;border-radius:12px;background:#262a30}#wheelModal .wheelPrizeList b{font-size:11px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wheelLegal{display:block;margin:14px auto 0;max-width:340px;color:#5f646c;font-size:9px;line-height:1.45;text-align:center}
#wheelModal .wheelWon,#wheelModal .wheelMiss{padding:16px;border-radius:20px;background:linear-gradient(145deg,#1d2127,#111318);border:1px solid rgba(255,255,255,.11);box-shadow:0 15px 35px #0007}
#wheelModal .wheelWon>small,#wheelModal .wheelMiss>small{color:var(--accent,#ef2b2d);font-size:9px;letter-spacing:.16em;font-weight:950}#wheelModal .wheelWon>b,#wheelModal .wheelMiss>b{font-size:20px;letter-spacing:-.02em}
#wheelModal .wheelWon code{border:1px dashed #c8ccd1;border-radius:12px;background:#f4f5f6;font-size:18px}#wheelModal .wheelMiss span{color:#7f858e;font-size:11px}
@media(min-width:700px){#wheelModal .wheelSheet{width:min(460px,calc(100vw - 32px));max-height:min(850px,calc(100vh - 32px));border-radius:30px;padding-left:24px;padding-right:24px}#wheelModal .wheelPrizeList{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}}
@media(max-width:370px){.wheelHeader h2{font-size:28px}.rewardWheelStage{padding-top:20px}.rewardWheelWrap{width:min(76vw,305px)}.rewardWheel .wheelSectorIcon{width:42px;height:42px;margin:-21px;transform:rotate(var(--a)) translateY(-99px) rotate(calc(-1 * var(--a)))}.wheelSpinBtn{width:94px;height:94px}.wheelSpinBtn b{font-size:14px}}

/* FoodCore 4.11.75 — bright promotional gift wheel */
#wheelModal .wheelSheet{background:
 radial-gradient(circle at 50% 38%,rgba(255,111,0,.42) 0,rgba(114,22,0,.2) 35%,transparent 57%),
 linear-gradient(180deg,#260705 0,#100404 55%,#070202 100%)}
#wheelModal .wheelSheet:before{background:radial-gradient(circle at 20% 18%,rgba(255,174,0,.18),transparent 16%),radial-gradient(circle at 83% 27%,rgba(255,40,95,.16),transparent 18%)}
.wheelEyebrow{color:#ffd979;text-shadow:0 1px 8px #f60}.wheelEyebrow i{background:linear-gradient(145deg,#fff7a8,#ff9800);color:#b51c00;box-shadow:0 0 18px #ff9d00}
#wheelModal .wheelHeader h2{color:#fff3c4;font-size:34px;text-shadow:0 3px 0 #801600,0 0 22px #ff5b00;letter-spacing:-.035em}
#wheelModal .wheelHeader p{color:#ffc77f}
.rewardWheelStage{margin-top:2px;padding-top:32px}.rewardWheelGlow{width:370px;height:370px;background:#ff6a00;filter:blur(55px);opacity:.52}.rewardWheelWrap{width:min(84vw,360px)}
.rewardWheelWrap:before{inset:-13px;background:linear-gradient(145deg,#fff6a5 0,#ffb400 18%,#ff7300 43%,#ffe65a 68%,#ff8b00 100%);box-shadow:0 0 0 4px #9d2600,0 0 28px #ff8a00,0 28px 65px #000d,inset 0 3px 4px rgba(255,255,255,.65)}
.rewardWheelWrap:after{inset:-5px;z-index:3;border:2px solid rgba(255,246,155,.9);box-shadow:inset 0 0 0 5px rgba(130,25,0,.42),inset 0 0 20px #9a2100;pointer-events:none}
.rewardWheel{border:8px solid #8f2200;box-shadow:inset 0 0 34px rgba(80,0,0,.5)}
.rewardWheel:before{inset:1%;border:2px solid rgba(255,232,126,.55);box-shadow:inset 0 0 22px rgba(80,0,0,.35)}
.wheelBulbs{position:absolute;z-index:5;inset:0;border-radius:50%;pointer-events:none}.wheelBulbs i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border:2px solid #fff3a2;border-radius:50%;background:#fffbd1;transform:rotate(var(--a)) translateY(clamp(-174px,-40vw,-136px));box-shadow:0 0 5px #fff,0 0 11px #ffd500,0 0 17px #ff7a00;animation:wheelBulbPulse 1.15s ease-in-out infinite alternate}.wheelBulbs i:nth-child(2n){animation-delay:-.55s}.wheelBulbs i:nth-child(3n){animation-delay:-.8s}
@keyframes wheelBulbPulse{from{filter:brightness(.75);transform:rotate(var(--a)) translateY(clamp(-174px,-40vw,-136px)) scale(.82)}to{filter:brightness(1.35);transform:rotate(var(--a)) translateY(clamp(-174px,-40vw,-136px)) scale(1.08)}}
.rewardWheelPointer{top:-35px;width:64px;height:76px}.rewardWheelPointer:before{width:52px;height:52px;border:5px solid #ffdc3f;background:radial-gradient(circle at 38% 30%,#fff58c 0,#ff5a00 28%,#c51100 70%);box-shadow:0 0 0 4px #b54100,0 0 22px #ff9b00,inset 0 4px 7px rgba(255,255,255,.8)}.rewardWheelPointer i{top:39px;width:34px;height:38px;background:linear-gradient(180deg,#ffd94b,#ff8a00 65%,#d63400);filter:drop-shadow(0 4px 2px #751600)}
.rewardWheel .wheelSectorIcon{width:86px;height:78px;margin:-43px -39px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transform:rotate(var(--a)) translateY(clamp(-121px,-28.5vw,-94px)) rotate(calc(-1 * var(--a)));border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;backdrop-filter:none}
.wheelSectorVisual{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff5a4;font-size:28px;font-weight:1000;line-height:1;text-shadow:0 3px 0 rgba(91,8,0,.55),0 0 10px rgba(255,229,91,.7);filter:drop-shadow(0 5px 4px rgba(75,0,0,.36));overflow:hidden}.wheelSectorVisual img{width:100%;height:100%;object-fit:cover;border:2px solid #ffe36a;border-radius:12px;box-sizing:border-box}
.rewardWheel .wheelSectorIcon>b{display:-webkit-box;max-width:86px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;font-size:9px;line-height:1.05;font-weight:1000;letter-spacing:.01em;text-align:center;text-transform:uppercase;white-space:normal;text-shadow:0 2px 0 rgba(80,0,0,.8),0 0 7px rgba(80,0,0,.8)}
.rewardWheel[data-sectors="2"] .wheelSectorIcon,.rewardWheel[data-sectors="3"] .wheelSectorIcon,.rewardWheel[data-sectors="4"] .wheelSectorIcon{width:105px;margin-left:-52px;transform:rotate(var(--a)) translateY(clamp(-112px,-25vw,-88px)) rotate(calc(-1 * var(--a)))}.rewardWheel[data-sectors="2"] .wheelSectorIcon>b,.rewardWheel[data-sectors="3"] .wheelSectorIcon>b,.rewardWheel[data-sectors="4"] .wheelSectorIcon>b{max-width:105px;font-size:11px}
.rewardWheel[data-sectors="9"] .wheelSectorIcon>b,.rewardWheel[data-sectors="10"] .wheelSectorIcon>b,.rewardWheel[data-sectors="11"] .wheelSectorIcon>b,.rewardWheel[data-sectors="12"] .wheelSectorIcon>b,.rewardWheel[data-sectors="13"] .wheelSectorIcon>b,.rewardWheel[data-sectors="14"] .wheelSectorIcon>b,.rewardWheel[data-sectors="15"] .wheelSectorIcon>b,.rewardWheel[data-sectors="16"] .wheelSectorIcon>b,.rewardWheel[data-sectors="17"] .wheelSectorIcon>b,.rewardWheel[data-sectors="18"] .wheelSectorIcon>b,.rewardWheel[data-sectors="19"] .wheelSectorIcon>b,.rewardWheel[data-sectors="20"] .wheelSectorIcon>b,.rewardWheel[data-sectors="21"] .wheelSectorIcon>b,.rewardWheel[data-sectors="22"] .wheelSectorIcon>b,.rewardWheel[data-sectors="23"] .wheelSectorIcon>b,.rewardWheel[data-sectors="24"] .wheelSectorIcon>b{display:none}
.wheelSpinBtn{width:116px;height:116px;border:7px solid #ffd83d;background:radial-gradient(circle at 42% 30%,#ff5631,#c80b00 58%,#780900);box-shadow:0 0 0 4px #a93500,0 0 23px #ffae00,0 12px 27px #0009,inset 0 4px 7px rgba(255,255,255,.35);gap:0}.wheelSpinBtn span{font-size:27px;line-height:1;filter:drop-shadow(0 3px 2px #760900)}.wheelSpinBtn small{margin-top:2px;color:#ffe596;font-size:7px}.wheelSpinBtn b{font-size:14px;text-shadow:0 2px 0 #700}
#wheelModal .wheelStatus{color:#ffe1a5;text-shadow:0 1px 7px #9c2600}
.wheelPrizeTitle{color:#ffcf68}.wheelPrizeTitle i{background:linear-gradient(90deg,#d76a00,transparent)}
#wheelModal .wheelPrizeList div{border-color:rgba(255,183,48,.25);background:linear-gradient(145deg,rgba(104,24,7,.85),rgba(35,7,5,.82));box-shadow:inset 0 1px rgba(255,231,158,.14),0 8px 20px rgba(0,0,0,.22)}#wheelModal .wheelPrizeListIcon{background:linear-gradient(145deg,#ff9c00,#d82800);color:#fff7ba;box-shadow:0 4px 11px rgba(255,89,0,.35)}
.wheelLegal{color:#9f6c57}
.wheelConfetti{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.wheelConfetti i{position:absolute;width:8px;height:17px;border-radius:2px;background:#ffcf00;box-shadow:0 0 8px currentColor;animation:wheelConfettiFloat 4.8s ease-in-out infinite alternate}.wheelConfetti i:nth-child(1){left:6%;top:16%;color:#ff168b;background:#ff168b;transform:rotate(24deg)}.wheelConfetti i:nth-child(2){left:18%;top:7%;color:#7f28ff;background:#7f28ff;transform:rotate(62deg);animation-delay:-1s}.wheelConfetti i:nth-child(3){left:33%;top:18%;color:#ff9d00;background:#ff9d00;transform:rotate(15deg);animation-delay:-2.2s}.wheelConfetti i:nth-child(4){left:72%;top:8%;color:#ff1677;background:#ff1677;transform:rotate(76deg);animation-delay:-.7s}.wheelConfetti i:nth-child(5){left:89%;top:20%;color:#ffbf00;background:#ffbf00;transform:rotate(34deg);animation-delay:-3s}.wheelConfetti i:nth-child(6){left:9%;top:48%;color:#ff3b1a;background:#ff3b1a;transform:rotate(82deg);animation-delay:-1.8s}.wheelConfetti i:nth-child(7){left:91%;top:48%;color:#8e2bff;background:#8e2bff;transform:rotate(18deg);animation-delay:-2.7s}.wheelConfetti i:nth-child(8){left:5%;top:73%;color:#ff168b;background:#ff168b;transform:rotate(45deg);animation-delay:-3.7s}.wheelConfetti i:nth-child(9){left:94%;top:72%;color:#ff9d00;background:#ff9d00;transform:rotate(73deg);animation-delay:-1.3s}.wheelConfetti i:nth-child(10){left:24%;top:88%;color:#7e27ff;background:#7e27ff;transform:rotate(29deg);animation-delay:-2.4s}.wheelConfetti i:nth-child(11){left:74%;top:89%;color:#ff1677;background:#ff1677;transform:rotate(61deg);animation-delay:-.4s}.wheelConfetti i:nth-child(12){left:52%;top:11%;color:#ffcf00;background:#ffcf00;transform:rotate(42deg);animation-delay:-3.4s}
@keyframes wheelConfettiFloat{from{translate:0 -4px;rotate:-7deg}to{translate:5px 12px;rotate:9deg}}
@media(max-width:370px){.wheelBulbs i{width:10px;height:10px;margin:-5px;transform:rotate(var(--a)) translateY(-133px)}@keyframes wheelBulbPulse{from{filter:brightness(.75);transform:rotate(var(--a)) translateY(-133px) scale(.82)}to{filter:brightness(1.35);transform:rotate(var(--a)) translateY(-133px) scale(1.08)}}.rewardWheel .wheelSectorIcon{width:76px;height:68px;margin:-38px -34px;transform:rotate(var(--a)) translateY(-91px) rotate(calc(-1 * var(--a)))}.wheelSectorVisual{width:36px;height:36px;font-size:24px}.rewardWheel .wheelSectorIcon>b{max-width:76px;font-size:8px}.wheelSpinBtn{width:100px;height:100px}.wheelSpinBtn span{font-size:23px}}

/* FoodCore 4.11.76 — radial text-only wheel sectors */
.rewardWheel .wheelSectorIcon{width:108px;height:30px;margin:-15px -54px;display:grid;place-items:center;transform:rotate(var(--a)) translateY(clamp(-114px,-27vw,-91px)) rotate(calc(-90deg + var(--flip)));overflow:visible}
.rewardWheel .wheelSectorIcon>b{display:-webkit-box!important;width:108px;max-width:108px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;font-size:9px;line-height:1.04;font-weight:1000;letter-spacing:.005em;text-align:center;text-transform:uppercase;white-space:normal;text-shadow:0 2px 0 rgba(76,0,0,.92),0 0 6px rgba(76,0,0,.8)}
.rewardWheel[data-sectors="2"] .wheelSectorIcon,.rewardWheel[data-sectors="3"] .wheelSectorIcon,.rewardWheel[data-sectors="4"] .wheelSectorIcon{width:122px;height:34px;margin:-17px -61px;transform:rotate(var(--a)) translateY(clamp(-108px,-25vw,-86px)) rotate(calc(-90deg + var(--flip)))}.rewardWheel[data-sectors="2"] .wheelSectorIcon>b,.rewardWheel[data-sectors="3"] .wheelSectorIcon>b,.rewardWheel[data-sectors="4"] .wheelSectorIcon>b{width:122px;max-width:122px;font-size:11px}
.rewardWheel[data-sectors="9"] .wheelSectorIcon>b,.rewardWheel[data-sectors="10"] .wheelSectorIcon>b,.rewardWheel[data-sectors="11"] .wheelSectorIcon>b,.rewardWheel[data-sectors="12"] .wheelSectorIcon>b,.rewardWheel[data-sectors="13"] .wheelSectorIcon>b,.rewardWheel[data-sectors="14"] .wheelSectorIcon>b,.rewardWheel[data-sectors="15"] .wheelSectorIcon>b,.rewardWheel[data-sectors="16"] .wheelSectorIcon>b,.rewardWheel[data-sectors="17"] .wheelSectorIcon>b,.rewardWheel[data-sectors="18"] .wheelSectorIcon>b,.rewardWheel[data-sectors="19"] .wheelSectorIcon>b,.rewardWheel[data-sectors="20"] .wheelSectorIcon>b,.rewardWheel[data-sectors="21"] .wheelSectorIcon>b,.rewardWheel[data-sectors="22"] .wheelSectorIcon>b,.rewardWheel[data-sectors="23"] .wheelSectorIcon>b,.rewardWheel[data-sectors="24"] .wheelSectorIcon>b{font-size:7px;-webkit-line-clamp:1}
@media(max-width:370px){.rewardWheel .wheelSectorIcon{width:94px;height:28px;margin:-14px -47px;transform:rotate(var(--a)) translateY(-94px) rotate(calc(-90deg + var(--flip)))}.rewardWheel .wheelSectorIcon>b{width:94px;max-width:94px;font-size:8px}}

/* FoodCore 4.11.77 — readable sector labels and next attempt */
.rewardWheel .wheelSectorIcon{width:78px;height:38px;margin:-19px -39px;display:grid;place-items:center;transform:rotate(var(--a)) translateY(clamp(-108px,-26vw,-96px)) rotate(calc(-1 * var(--a) + var(--tilt)));pointer-events:none}
.rewardWheel .wheelSectorIcon>b{width:78px;max-width:78px;font-size:8.5px;line-height:1.08;-webkit-line-clamp:2;text-align:center;transform:none}
.rewardWheel[data-sectors="2"] .wheelSectorIcon,.rewardWheel[data-sectors="3"] .wheelSectorIcon,.rewardWheel[data-sectors="4"] .wheelSectorIcon{width:112px;height:42px;margin:-21px -56px;transform:rotate(var(--a)) translateY(clamp(-104px,-25vw,-92px)) rotate(calc(-1 * var(--a) + var(--tilt)))}.rewardWheel[data-sectors="2"] .wheelSectorIcon>b,.rewardWheel[data-sectors="3"] .wheelSectorIcon>b,.rewardWheel[data-sectors="4"] .wheelSectorIcon>b{width:112px;max-width:112px;font-size:10px}
.rewardWheel[data-sectors="9"] .wheelSectorIcon,.rewardWheel[data-sectors="10"] .wheelSectorIcon,.rewardWheel[data-sectors="11"] .wheelSectorIcon,.rewardWheel[data-sectors="12"] .wheelSectorIcon{width:66px;margin-left:-33px}.rewardWheel[data-sectors="9"] .wheelSectorIcon>b,.rewardWheel[data-sectors="10"] .wheelSectorIcon>b,.rewardWheel[data-sectors="11"] .wheelSectorIcon>b,.rewardWheel[data-sectors="12"] .wheelSectorIcon>b{width:66px;max-width:66px;font-size:7px}
.wheelNextAttempt{display:block;margin-top:3px;padding:9px 10px;border:1px solid rgba(255,207,104,.28);border-radius:11px;background:rgba(255,140,0,.08);color:#ffdba0;font-size:11px;line-height:1.35}
@media(max-width:370px){.rewardWheel .wheelSectorIcon{width:70px;height:34px;margin:-17px -35px;transform:rotate(var(--a)) translateY(-91px) rotate(calc(-1 * var(--a) + var(--tilt)))}.rewardWheel .wheelSectorIcon>b{width:70px;max-width:70px;font-size:7.5px}}

/* FoodCore 4.11.78 — symmetric symbol-only sectors */
.rewardWheel .wheelSectorIcon{width:50px;height:50px;margin:-25px;transform:rotate(var(--a)) translateY(clamp(-108px,-26vw,-96px)) rotate(calc(-1 * var(--a)));display:grid;place-items:center;pointer-events:none}
.rewardWheel .wheelSectorIcon>b{display:grid!important;width:42px;max-width:42px;height:42px;place-items:center;overflow:visible;-webkit-line-clamp:unset;border:1px solid rgba(255,245,185,.55);border-radius:50%;background:rgba(93,14,0,.22);color:#fff8c9;font-size:23px;line-height:1;font-weight:1000;text-align:center;text-shadow:0 2px 0 rgba(92,9,0,.72),0 0 9px rgba(255,221,91,.75);box-shadow:inset 0 1px 4px rgba(255,255,255,.22),0 5px 11px rgba(67,5,0,.25)}
.rewardWheel[data-sectors="9"] .wheelSectorIcon,.rewardWheel[data-sectors="10"] .wheelSectorIcon,.rewardWheel[data-sectors="11"] .wheelSectorIcon,.rewardWheel[data-sectors="12"] .wheelSectorIcon{width:42px;height:42px;margin:-21px}.rewardWheel[data-sectors="9"] .wheelSectorIcon>b,.rewardWheel[data-sectors="10"] .wheelSectorIcon>b,.rewardWheel[data-sectors="11"] .wheelSectorIcon>b,.rewardWheel[data-sectors="12"] .wheelSectorIcon>b{width:34px;max-width:34px;height:34px;font-size:19px}
@media(max-width:370px){.rewardWheel .wheelSectorIcon{width:44px;height:44px;margin:-22px;transform:rotate(var(--a)) translateY(-91px) rotate(calc(-1 * var(--a)))}.rewardWheel .wheelSectorIcon>b{width:36px;max-width:36px;height:36px;font-size:20px}}


/* FoodCore 4.11.86 — centered informational widgets and story advertising */
.clientWidgetHost{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 24px));z-index:88;pointer-events:none}
.clientWidgetHost.show .clientWidgetShell{opacity:1;transform:translateY(0) scale(1)}
.clientWidgetShell{opacity:0;transform:translateY(8px) scale(.985);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.clientWidgetCard{background:linear-gradient(180deg,rgba(54,47,57,.97),rgba(44,37,47,.97));border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 48px rgba(0,0,0,.46);border-radius:22px;overflow:hidden;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.clientWidgetMedia{background:#1d1d1d;max-height:min(54dvh,520px);overflow:hidden}
.clientWidgetMedia img{display:block;width:100%;max-height:min(54dvh,520px);object-fit:cover}
.clientWidgetCard--story .clientWidgetMedia img{aspect-ratio:9/14;object-fit:cover}
.clientWidgetBody{padding:16px 16px 14px}
.clientWidgetBody h3{margin:0 0 8px;font-size:18px;line-height:1.1;font-weight:900}
.clientWidgetBody p{margin:0;color:rgba(255,255,255,.92);font-size:14px;line-height:1.45}
.clientWidgetActions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.clientWidgetBtn{height:52px;border-radius:18px;font-size:16px;font-weight:900;padding:0 14px;border:2px solid var(--accent);cursor:pointer}
.clientWidgetBtn--ghost{background:transparent;color:var(--accent)}
.clientWidgetBtn--primary{background:var(--accent);color:#fff}
body.multibrandRestaurant .clientWidgetCard,body.multibrandHome .clientWidgetCard{background:#fff;color:#171717;border-color:#ececec;box-shadow:0 18px 44px rgba(0,0,0,.18)}
body.multibrandRestaurant .clientWidgetBody p,body.multibrandHome .clientWidgetBody p{color:#4b5563}
@media(max-width:390px){.clientWidgetHost{width:calc(100vw - 16px)}.clientWidgetBody{padding:14px}.clientWidgetBody h3{font-size:17px}.clientWidgetBody p{font-size:13px}.clientWidgetActions{gap:10px}.clientWidgetBtn{height:48px;border-radius:16px;font-size:15px}.clientWidgetMedia,.clientWidgetMedia img{max-height:48dvh}}

/* FoodCore 4.11.87 — widgets and story advertising are independent */
.clientWidgetCard--info .clientWidgetMedia.is-widget{display:block}
.clientWidgetCard--info .clientWidgetMedia.is-widget img{width:100%;max-height:180px;object-fit:cover}
.clientWidgetCard--story .clientWidgetMedia.is-story{display:block}

/* FoodCore 4.11.88 — one top slide-down widget; stories stay full-screen */
.clientWidgetHost{position:fixed!important;left:50%!important;top:calc(env(safe-area-inset-top) + 82px)!important;transform:translateX(-50%)!important;width:min(460px,calc(100vw - 20px))!important;z-index:88!important;pointer-events:none!important}
.clientWidgetShell{opacity:0!important;transform:translateY(-130%) scale(.98)!important;transition:opacity .28s ease,transform .42s cubic-bezier(.22,.9,.3,1.08)!important;pointer-events:auto!important}
.clientWidgetHost.show .clientWidgetShell{opacity:1!important;transform:translateY(0) scale(1)!important}
.clientWidgetCard--info{background:linear-gradient(180deg,rgba(56,48,58,.98),rgba(42,35,45,.98))!important;border-radius:20px!important;box-shadow:0 18px 48px rgba(0,0,0,.45)!important}
.clientWidgetCard--info .clientWidgetBody{padding:16px!important}
.clientWidgetCard--info .clientWidgetBody h3{font-size:18px!important;margin:0 0 7px!important}
.clientWidgetCard--info .clientWidgetBody p{font-size:14px!important;line-height:1.42!important;margin:0!important}
.clientWidgetCard--info .clientWidgetActions{margin-top:15px!important}
@media(max-width:390px){.clientWidgetHost{top:calc(env(safe-area-inset-top) + 72px)!important;width:calc(100vw - 14px)!important}.clientWidgetCard--info .clientWidgetBody{padding:14px!important}}


/* FoodCore 4.11.94 — desktop website layout. Mobile remains untouched. */
.desktopSiteNav{display:none}
@media (min-width: 960px){
  html,body{background:var(--bg);min-width:960px}
  body{overflow-x:hidden}
  .app{width:100%;max-width:none;min-height:100vh;padding-bottom:0;background:var(--bg)}
  .statusAccent{height:4px;position:fixed;left:0;right:0;top:0;z-index:100}
  .topbar{height:92px;top:4px;z-index:90;grid-template-columns:minmax(250px,1fr) auto;gap:28px;padding:0 max(34px,calc((100vw - 1280px)/2));background:color-mix(in srgb,var(--bg) 92%,#000);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.12)}
  .menuBtn{display:none!important}
  .brand{justify-content:flex-start;padding:0;max-width:none}
  .brandmark{width:62px;height:62px;flex-basis:62px;border-radius:18px;border:2px solid color-mix(in srgb,var(--text) 22%,transparent)}
  .brand b{font-size:28px;max-width:460px}
  .profileBtn{display:grid;width:auto;min-width:142px;height:46px;padding:0 20px;border-radius:14px;background:var(--accent);color:#fff;font-size:0;font-weight:900;place-items:center}
  .profileBtn:after{content:'Мой кабинет';font-size:14px}
  .workline{position:absolute;top:28px;right:max(210px,calc((100vw - 1280px)/2 + 190px));z-index:95;width:auto;padding:0;background:transparent;color:var(--muted);font-size:13px;text-align:right;pointer-events:none}
  .desktopSiteNav{display:flex;position:sticky;top:96px;z-index:82;height:54px;align-items:center;gap:4px;padding:0 max(34px,calc((100vw - 1280px)/2));background:color-mix(in srgb,var(--bg) 96%,#000);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(0,0,0,.08)}
  .desktopSiteNav button{border:0;background:transparent;color:var(--muted);font-weight:800;font-size:14px;padding:10px 15px;border-radius:10px;cursor:pointer;white-space:nowrap}
  .desktopSiteNav button:hover{background:var(--card);color:var(--text)}
  .categoryDock{top:150px;z-index:80;min-height:64px;padding:10px max(170px,calc((100vw - 1280px)/2 + 160px)) 10px max(34px,calc((100vw - 1280px)/2));background:color-mix(in srgb,var(--bg) 97%,#000);border-bottom:1px solid var(--line);box-shadow:0 7px 20px rgba(0,0,0,.09)}
  .searchIcon{flex-basis:42px}
  .categories{gap:24px;padding-right:0}
  .category{font-size:14px;padding:11px 0}
  main{width:min(1280px,calc(100% - 68px));margin:0 auto;padding:28px 0 70px}
  .heroSlider{padding:0 0 12px}
  .heroCard{height:390px;border-radius:28px}
  .heroCopy{padding:52px 54px;max-width:54%}
  .heroCopy h1{font-size:52px;line-height:.98}
  .heroCopy p{font-size:16px}
  .heroCopy button{padding:14px 20px;font-size:14px;border-radius:12px}
  .heroFood{font-size:130px;right:9%;bottom:42px}
  .promoRail{padding:12px 0 24px;gap:16px}
  .promoRail article{flex:0 0 170px;width:170px;height:210px;border-radius:22px}
  .infoStrip{margin:4px 0 26px;max-width:760px;padding:17px 10px}
  .section{padding:10px 0 12px}
  .sectionHead{padding:0 0 8px}
  .sectionHead h2,.categoryTitle{font-size:30px}
  .popularRail{padding:0 0 24px;gap:16px}
  .popularCard{flex:0 0 320px;height:170px;border-radius:22px;grid-template-columns:142px 1fr}
  .popularImage{height:142px}
  .categoryBlock{padding:0 0 30px}
  .products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .product{border-radius:20px;border:1px solid var(--line);box-shadow:0 10px 28px rgba(0,0,0,.09)}
  .productImage{height:220px}
  .productBody{padding:16px}
  .product h3{font-size:18px;min-height:42px}
  .product p{font-size:13px;min-height:34px}
  .productPrice b{font-size:21px}
  .addButton{width:44px;height:44px}
  .bottomNav{display:none!important}
  .floatingCart{display:flex!important;position:fixed;z-index:87;top:160px;right:max(34px,calc((100vw - 1280px)/2));bottom:auto;width:136px;height:46px;border-radius:14px;background:var(--accent);color:#fff;border:0;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 22px rgba(0,0,0,.22)}
  .floatingCart.hidden{visibility:visible!important;opacity:.58;pointer-events:none}
  .floatingCart .giftCartRing{display:inline-grid;place-items:center}
  .floatingCart .giftCartRing i{font-style:normal}
  .floatingCart b{position:static;width:auto;height:auto;background:transparent;color:#fff;font-size:12px}
  .floatingCart strong{display:inline!important;color:#fff;font-size:14px}
  .floatingCart .cartBarText{display:flex;align-items:center}
  .floatingCart .cartBarText small{display:none}
  .sheetCard{width:min(760px,calc(100vw - 80px));left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:26px;max-height:88vh}
  #productModal .sheetCard{width:min(920px,calc(100vw - 80px));border-radius:26px}
  .sideDrawer{width:min(420px,34vw)}
  .clientWidgetHost{top:calc(env(safe-area-inset-top) + 26px)!important;width:min(600px,calc(100vw - 80px))!important}
}
@media (min-width: 1280px){
  .products{grid-template-columns:repeat(5,minmax(0,1fr))}
  .productImage{height:205px}
}
@media (min-width: 1550px){
  main{width:min(1420px,calc(100% - 90px))}
  .topbar,.desktopSiteNav{padding-left:max(45px,calc((100vw - 1420px)/2));padding-right:max(45px,calc((100vw - 1420px)/2))}
  .categoryDock{padding-left:max(45px,calc((100vw - 1420px)/2));padding-right:max(190px,calc((100vw - 1420px)/2 + 160px))}
  .floatingCart{right:max(45px,calc((100vw - 1420px)/2))}
  .products{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* FoodCore 4.11.95 — polished desktop site adaptation */
@media (min-width:960px){
  /* Header closer to a real desktop restaurant site */
  .topbar{height:104px;top:4px;grid-template-columns:minmax(300px,1fr) auto;padding-top:8px;padding-bottom:8px}
  .brandmark{width:70px;height:70px;flex-basis:70px;border-radius:20px}
  .brand b{font-size:31px}
  .workline{top:35px;right:max(225px,calc((100vw - 1280px)/2 + 205px));font-size:14px}
  .desktopSiteNav{top:108px;height:52px}
  .categoryDock{top:160px;min-height:62px}

  /* Always understandable cart in the sticky category line */
  .floatingCart{top:168px;right:max(34px,calc((100vw - 1280px)/2));width:154px;height:48px;border-radius:999px;font-size:15px;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .floatingCart.hidden{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .floatingCart strong{display:inline!important;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .floatingCart b{font-size:13px}

  /* Stories become a desktop content rail instead of tiny mobile tiles */
  #promoRail,.promoRail{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;overflow:visible!important;padding:14px 0 28px!important}
  #promoRail article,.promoRail article{width:100%!important;height:auto!important;aspect-ratio:4/5;min-width:0!important;flex:none!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(0,0,0,.24)!important;outline:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}
  #promoRail article img,.promoRail article img{width:100%!important;height:100%!important;object-fit:cover!important}
  #promoRail article em,.promoRail article em{left:10px!important;top:auto!important;bottom:10px!important;max-width:calc(100% - 20px)!important;padding:6px 9px!important;font-size:10px!important}

  /* Story itself opens as an elegant desktop lightbox, not a phone stretched full-screen */
  .clientStoryDialog{background:transparent;width:auto;height:auto;max-width:none;max-height:none}
  .clientStoryDialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
  .clientStoryCard{position:relative;inset:auto;width:min(520px,calc(100vw - 80px));height:min(82vh,820px);margin:auto;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
  .clientStoryContent{left:30px;right:30px;bottom:30px}
  .clientStoryContent h2{font-size:36px}

  /* Top slide widget moves to lower-left on desktop and cannot hide behind banners */
  .clientWidgetHost{left:max(28px,calc((100vw - 1280px)/2))!important;right:auto!important;top:auto!important;bottom:28px!important;transform:none!important;width:min(410px,calc(100vw - 56px))!important;z-index:130!important}
  .clientWidgetShell{transform:translateY(24px) scale(.985)!important}
  .clientWidgetHost.show .clientWidgetShell{transform:translateY(0) scale(1)!important}
  .clientWidgetCard{box-shadow:0 22px 54px rgba(0,0,0,.46)!important}

  /* Cart page: desktop two-column composition */
  #cartModal .sheetCard{width:min(1120px,calc(100vw - 80px));max-height:90vh;padding:26px 30px 30px;border-radius:28px}
  #cartModal:not(.timePickerMode) #cartModalBody{max-height:calc(90vh - 54px);overflow:auto;padding-right:5px}
  #cartModal .cartTitle{font-size:34px;margin:0 0 22px}
  #cartModal .cartItem{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;margin-bottom:12px;background:var(--card)}
  #cartModal .cartThumb{width:82px;height:82px;border-radius:14px;overflow:hidden}
  #cartModal .summary{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
  #cartModal .checkoutNext{max-width:360px;margin-left:auto;min-height:54px;border-radius:16px}

  /* Checkout: true desktop form instead of one long phone column */
  #cartModal .checkoutModern.checkoutBlocks{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}
  #cartModal .checkoutModern .checkoutDeliveryCard{grid-column:1}
  #cartModal .checkoutModern .checkoutTimeDetailsCard{grid-column:1}
  #cartModal .checkoutModern .checkoutOrderCard{grid-column:2;grid-row:1}
  #cartModal .checkoutModern .checkoutPromoCard{grid-column:2}
  #cartModal .checkoutModern .bonusCheckout{grid-column:2}
  #cartModal .checkoutModern .checkoutTotalCard{grid-column:2}
  #cartModal .checkoutModern .checkoutPaymentCard{grid-column:1}
  #cartModal .checkoutModern .checkoutCard{padding:20px;border-radius:20px;margin:0;background:var(--card);border:1px solid var(--line)}
  #cartModal .checkoutModern .checkoutContactGrid{grid-template-columns:1fr 1fr}
  #cartModal .checkoutModern .addressFields{grid-template-columns:2fr 1fr 1fr}
  #cartModal .checkoutModern .checkoutOrderList{max-height:330px;overflow:auto;padding-right:4px}
  #cartModal .checkoutModern .checkoutOrderItem{grid-template-columns:58px 1fr auto}
  #cartModal .checkoutModern .checkoutSubmit,.checkoutModern button[type=submit]{min-height:56px;border-radius:16px}

  /* Product modals and secondary sheets also read as desktop dialogs */
  #productModal .sheetCard{width:min(980px,calc(100vw - 80px));max-height:88vh}
  #profileModal .sheetCard,#ordersModal .sheetCard,#promosModal .sheetCard,#promoDetailsModal .sheetCard,#reviewsModal .sheetCard{width:min(900px,calc(100vw - 80px));max-height:88vh;border-radius:26px}
}
@media (min-width:1280px){
  #promoRail,.promoRail{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:1550px){
  #promoRail,.promoRail{grid-template-columns:repeat(6,minmax(0,1fr))}
  .floatingCart{right:max(45px,calc((100vw - 1420px)/2))}
  .clientWidgetHost{left:max(45px,calc((100vw - 1420px)/2))!important}
}


/* FoodCore 4.11.96 — separate desktop website composition */
.desktopWebHeader{display:none}
@media(min-width:960px){
  html,body{background:var(--bg);overflow-x:hidden}
  .app{max-width:none;width:100%;padding-bottom:0;background:var(--bg)}
  .statusAccent{height:4px;position:relative;top:auto}
  .topbar,.workline{display:none!important}
  .desktopWebHeader{display:block;background:var(--bg);border-bottom:1px solid var(--line)}
  .desktopWebTopLinks{height:42px;display:flex;align-items:center;gap:26px;width:min(1280px,calc(100% - 64px));margin:0 auto;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
  .desktopWebTopLinks button{border:0;background:none;color:var(--muted);font-size:13px;padding:0;cursor:pointer}
  .desktopWebTopLinks button:first-child{color:var(--accent);font-weight:900}
  .desktopWebMainRow{width:min(1280px,calc(100% - 64px));height:112px;margin:0 auto;display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(260px,1fr) minmax(235px,.9fr) auto;gap:28px;align-items:center}
  .desktopWebBrand{border:0;background:none;color:var(--text);display:flex;align-items:center;gap:14px;text-align:left;padding:0;cursor:pointer;min-width:0}
  .desktopWebLogo{width:68px;height:68px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:27px;font-weight:1000;overflow:hidden;flex:0 0 auto;border:2px solid color-mix(in srgb,var(--accent) 72%,#fff)}
  .desktopWebLogo img{width:100%;height:100%;object-fit:cover}
  .desktopWebBrand strong{font-size:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktopWebContact,.desktopWebHours{display:flex;align-items:center;gap:12px;min-width:0}
  .desktopWebContact i,.desktopWebHours i{font-style:normal;color:var(--accent);font-size:27px;flex:0 0 auto}
  .desktopWebContact span,.desktopWebHours span{min-width:0}
  .desktopWebContact small,.desktopWebHours small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktopWebContact b,.desktopWebHours b{display:block;color:var(--text);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktopWebAccountActions{display:flex;align-items:center;gap:22px;justify-content:flex-end}
  .desktopWebAccountActions button{border:0;background:none;color:var(--text);display:grid;justify-items:center;gap:5px;cursor:pointer;padding:6px}
  .desktopWebAccountActions button>span{font-size:21px;color:var(--accent);font-weight:900}
  .desktopWebAccountActions small{font-size:12px;font-weight:800;white-space:nowrap}
  .categoryDock{position:sticky!important;top:0!important;z-index:85!important;min-height:62px!important;width:100%!important;padding:0 max(32px,calc((100vw - 1280px)/2))!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) 154px!important;gap:14px!important;align-items:center!important;background:color-mix(in srgb,var(--bg) 92%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .categoryDock .searchIcon{width:42px;height:42px;flex:none}
  .categoryDock .categories{gap:28px;padding:0;min-width:0}
  .categoryDock .category{font-size:14px;padding:20px 0 17px}
  .categoryDock .floatingCart{position:static!important;inset:auto!important;width:154px!important;height:44px!important;border-radius:999px!important;margin:0!important;display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;justify-self:end!important;transform:none!important}
  main{width:min(1280px,calc(100% - 64px))!important;margin:0 auto!important;padding:26px 0 80px!important}
  .heroSlider{display:none!important}
  #promoRail,.promoRail{margin-top:2px!important;padding-top:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important}
  #promoRail article,.promoRail article{aspect-ratio:4/5!important;border-radius:18px!important}
  .infoStrip{margin-top:0!important}
  .sectionHead h2,.categoryTitle{font-size:28px!important}
  .products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
  .productImage{height:220px!important}
  .clientWidgetHost{left:max(24px,calc((100vw - 1280px)/2))!important;bottom:24px!important;top:auto!important;width:min(410px,calc(100vw - 48px))!important}
  #cartModal .sheetCard{width:min(1120px,calc(100vw - 70px))!important}
  #productModal .sheetCard{width:min(980px,calc(100vw - 70px))!important}
}
@media(min-width:1280px){.products{grid-template-columns:repeat(5,minmax(0,1fr))!important}.productImage{height:205px!important}}
@media(min-width:1550px){.desktopWebTopLinks,.desktopWebMainRow,main{width:min(1420px,calc(100% - 90px))!important}.categoryDock{padding-left:max(45px,calc((100vw - 1420px)/2))!important;padding-right:max(45px,calc((100vw - 1420px)/2))!important}#promoRail,.promoRail{grid-template-columns:repeat(6,minmax(0,1fr))!important}}


/* FoodCore 4.11.97 — desktop header, logo, bonuses, cart and sticky categories fixes */
@media(min-width:960px){
  .desktopWebTopLinks{overflow-x:auto;scrollbar-width:none;gap:8px;height:48px}
  .desktopWebTopLinks::-webkit-scrollbar{display:none}
  .desktopWebTopLinks button{flex:0 0 auto;padding:9px 13px;border-radius:10px;font-weight:800;color:var(--muted)}
  .desktopWebTopLinks button:first-child{color:var(--text)}
  .desktopWebTopLinks button:hover{background:var(--card);color:var(--text)}
  .desktopWebMainRow{height:106px}
  .desktopWebLogo{width:auto;height:64px;min-width:64px;max-width:210px;border-radius:0;background:transparent;border:0;overflow:visible}
  .desktopWebLogo.hasImage{background:transparent}
  .desktopWebLogo img{width:auto;height:64px;max-width:210px;object-fit:contain;display:block}
  .desktopWebLogo>span{width:64px;height:64px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff}
  .desktopWebBrand strong{display:none}
  .desktopWebAccountActions button[data-desktop-action="loyalty"]{min-width:88px}
  .desktopWebAccountActions button[data-desktop-action="loyalty"] small{max-width:110px;overflow:hidden;text-overflow:ellipsis}
  .categoryDock{position:sticky!important;top:0!important;z-index:120!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important}
  .categoryDock .categories{overflow-x:auto!important;scrollbar-width:none!important}
  .categoryDock .categories::-webkit-scrollbar{display:none}
  .categoryDock .floatingCart{width:188px!important;height:48px!important;padding:0 17px!important;display:grid!important;grid-template-columns:auto auto 1fr!important;gap:8px!important;border-radius:14px!important}
  .categoryDock .floatingCart:before{content:'Корзина';font-size:13px;font-weight:900;color:#fff;order:2}
  .categoryDock .floatingCart .giftCartRing{order:1}
  .categoryDock .floatingCart b{order:3;background:#fff!important;color:var(--accent)!important;min-width:22px;height:22px!important;border-radius:999px!important;display:grid!important;place-items:center!important;padding:0 6px!important}
  .categoryDock .floatingCart .cartBarText{display:none!important}
  .infoStrip{display:none!important}
  #cartModal .sheetCard{background:var(--bg)!important}
  #cartModal .cartItem,#cartModal .summary,#cartModal .checkoutModern .checkoutCard{box-shadow:0 8px 22px rgba(0,0,0,.08)}
}


/* FoodCore 4.11.98 — desktop account icon, live hours, cart and reliable sticky categories */
@media(min-width:960px){
  .desktopAccountIcon{width:28px;height:28px!important;display:grid!important;place-items:center;color:var(--accent)!important}
  .desktopAccountIcon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .desktopAccountButton:hover .desktopAccountIcon{transform:translateY(-1px)}
  #desktopCategorySpacer{display:block;width:100%;height:0;transition:none}
  .categoryDock.desktopDockFixed{position:fixed!important;left:0!important;right:0!important;top:0!important;transform:none!important;width:100%!important;z-index:999!important;box-shadow:0 10px 30px rgba(0,0,0,.28)!important}
  .categoryDock .floatingCart{width:210px!important;height:48px!important;padding:0 16px!important;display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;border-radius:12px!important;background:var(--accent)!important;border:0!important;box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 35%,transparent)!important}
  .categoryDock .floatingCart:before{content:'Корзина'!important;order:2!important;font-size:14px!important;font-weight:900!important;color:#fff!important;text-align:left!important}
  .categoryDock .floatingCart .giftCartRing{order:1!important;width:28px!important;height:28px!important;border:0!important;background:rgba(255,255,255,.14)!important;display:grid!important;place-items:center!important}
  .categoryDock .floatingCart .giftCartRing i{font-size:16px!important}
  .categoryDock .floatingCart b{order:3!important;position:static!important;min-width:30px!important;height:26px!important;background:#fff!important;color:var(--accent)!important;border-radius:999px!important;font-size:12px!important;padding:0 8px!important}
  .categoryDock .floatingCart.hidden{display:grid!important}
  .categoryDock .categories{overscroll-behavior-inline:contain!important}
}


/* FoodCore 4.11.99 — desktop cart, actual schedule, address and checkout alignment */
@media(min-width:960px){
  .desktopWebContact span{min-width:0}
  .desktopWebContact em{display:block;margin-top:4px;max-width:270px;color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktopWebHours b{white-space:nowrap}

  /* Desktop cart button: text only, with a small counter above it. */
  .categoryDock .floatingCart{position:relative!important;width:150px!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 18px!important;border-radius:12px!important;overflow:visible!important}
  .categoryDock .floatingCart:before{content:'Корзина'!important;display:block!important;font-size:15px!important;font-weight:900!important;color:#fff!important;text-align:center!important}
  .categoryDock .floatingCart .giftCartRing,.categoryDock .floatingCart .cartBarText{display:none!important}
  .categoryDock .floatingCart b{position:absolute!important;right:8px!important;top:-10px!important;min-width:24px!important;height:24px!important;padding:0 6px!important;border:2px solid var(--bg)!important;border-radius:999px!important;background:#fff!important;color:var(--accent)!important;font-size:11px!important;line-height:20px!important;display:grid!important;place-items:center!important;box-shadow:0 4px 10px rgba(0,0,0,.25)!important}

  /* One scroll area only inside cart and checkout dialogs. */
  #cartModal{overflow:hidden!important;padding:0!important}
  #cartModal>.sheetCard{overflow:hidden!important;display:flex!important;flex-direction:column!important;max-height:90dvh!important}
  #cartModal:not(.timePickerMode) #cartModalBody{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 8px 24px 2px!important;scrollbar-gutter:stable!important;overscroll-behavior:contain!important}
  #cartModal>.sheetCard>.sheetClose{z-index:20!important}

  /* Balanced two-column desktop checkout. */
  #cartModal .checkoutModern.checkoutBlocks{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:
    'delivery order'
    'details promo'
    'payment bonus'
    'payment total'
    'actions actions'!important;gap:18px!important;align-items:start!important}
  #cartModal .checkoutDeliveryCard{grid-area:delivery!important}
  #cartModal .checkoutTimeDetailsCard{grid-area:details!important}
  #cartModal .checkoutOrderCard{grid-area:order!important;grid-row:auto!important}
  #cartModal .checkoutPromoCard{grid-area:promo!important}
  #cartModal .bonusCheckout{grid-area:bonus!important}
  #cartModal .checkoutTotalCard{grid-area:total!important}
  #cartModal .checkoutPaymentCard{grid-area:payment!important}
  #cartModal .checkoutFinalActions{grid-area:actions!important;display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr)!important;gap:12px!important;margin-top:0!important}
  #cartModal .checkoutModern .checkoutCard{height:auto!important;min-width:0!important;margin:0!important;padding:20px!important;border-radius:20px!important}
  #cartModal .checkoutModern .checkoutOrderList{max-height:360px!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable!important}
  #cartModal .checkoutContactGrid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  #cartModal .addressFields{grid-template-columns:2fr 1fr 1fr!important;gap:10px!important}
  #cartModal .checkoutFinalActions button{min-height:56px!important;margin:0!important}
}


/* FoodCore 4.12.0 — desktop account, loyalty and cart refinements */
.drawerRestaurantAddress{display:block;margin-top:4px;color:var(--drawer-custom-muted,var(--muted));font-size:11px;line-height:1.35}
@media(min-width:960px){
  /* Web cart: text-only elongated button with a small quantity badge */
  .categoryDock .floatingCart{position:relative!important;right:auto!important;bottom:auto!important;transform:none!important;width:154px!important;min-width:154px!important;height:48px!important;flex:0 0 154px!important;border-radius:14px!important;padding:0 38px 0 22px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--accent)!important;color:#fff!important;border:1px solid color-mix(in srgb,var(--accent) 80%,#fff)!important;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 23%,transparent)!important;font-size:0!important;overflow:visible!important}
  .categoryDock .floatingCart:before{content:'Корзина';font-size:14px;font-weight:900;letter-spacing:.01em;white-space:nowrap}
  .categoryDock .floatingCart>span,.categoryDock .floatingCart>i,.categoryDock .floatingCart>svg,.categoryDock .floatingCart .giftCartRing,.categoryDock .floatingCart .cartBarText{display:none!important}
  .categoryDock .floatingCart>b{position:absolute!important;right:10px!important;top:-8px!important;min-width:24px!important;width:auto!important;height:24px!important;padding:0 7px!important;border-radius:999px!important;background:#fff!important;color:var(--accent)!important;border:2px solid var(--accent)!important;display:grid!important;place-items:center!important;font-size:11px!important;font-weight:1000!important;box-shadow:0 4px 12px rgba(0,0,0,.22)!important}

  /* Loyalty becomes a true desktop dashboard */
  .loyaltyInfoModal{width:min(980px,calc(100vw - 80px))!important;max-width:980px!important;max-height:88dvh!important;border-radius:28px!important;overflow-y:auto!important;background:#111318!important}
  .loyaltyInfoModal .loyaltyInfoClose{position:sticky!important;top:16px!important;right:16px!important;margin:16px 16px -58px auto!important;float:none!important;display:grid!important;place-items:center!important}
  .loyaltyInfoModal .loyaltyInfoHero{margin:26px!important;padding:28px 30px!important;min-height:150px!important;border-radius:24px!important}
  .loyaltyInfoModal .loyaltyInfoHero>span{width:82px!important;height:82px!important;font-size:34px!important}
  .loyaltyInfoModal .loyaltyInfoHero b{font-size:38px!important}
  .loyaltyInfoModal>h2,.loyaltyInfoModal>.loyaltyInfoLead{margin-left:30px!important;margin-right:30px!important}
  .loyaltyInfoModal>h2{font-size:31px!important}
  .loyaltyInfoModal .loyaltyRewardBlocks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:20px 30px!important}
  .loyaltyInfoModal .loyaltyRewardBlocks article{min-height:130px!important;padding:20px!important;border-radius:18px!important}
  .loyaltyInfoModal .loyaltyRuleGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0 30px!important}
  .loyaltyInfoModal .loyaltyRuleGrid article{min-height:92px!important}
  .loyaltyInfoModal .loyaltyInfoNotes,.loyaltyInfoModal .loyaltyHistory{margin-left:30px!important;margin-right:30px!important}
  .loyaltyInfoModal .loyaltyHistory{padding-bottom:30px!important}

  /* Profile becomes a centered web account panel, not a mobile bottom sheet */
  #profileModal{width:auto!important;max-width:none!important;padding:0!important;background:transparent!important}
  #profileModal::backdrop{background:rgba(0,0,0,.72)!important;backdrop-filter:blur(6px)!important}
  #profileModal .profileSheet{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(980px,calc(100vw - 80px))!important;max-width:980px!important;max-height:88dvh!important;margin:auto!important;border-radius:28px!important;padding:30px!important;overflow-y:auto!important;background:#14171c!important;color:#fff!important;box-shadow:0 30px 90px rgba(0,0,0,.55)!important}
  #profileModal .profileSheet>.sheetClose{position:absolute!important;top:18px!important;right:18px!important}
  #profileModal .cartTitle{font-size:31px!important;margin:0 0 6px!important}
  #profileModal .profileHint{max-width:680px!important;margin-bottom:24px!important}
  #profileModal #profileForm{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 18px!important}
  #profileModal #profileForm>label{min-width:0!important}
  #profileModal #profileForm>button[type=submit]{grid-column:1/-1!important;min-height:50px!important}
  #profileModal .referralProfileCard{grid-column:1/-1!important;margin:4px 0!important;padding:22px!important;border-radius:20px!important}
  #profileModal #profileAddresses,#profileModal #profileLogout{width:100%!important;min-height:48px!important}

  /* Keep header address visible and balanced */
  .desktopWebContact{align-items:flex-start!important}
  .desktopWebContact em{display:block!important;max-width:310px!important;color:var(--muted)!important;font-size:12px!important;margin-top:4px!important}
}


/* FoodCore 4.12.1 — venue address in client UI */
.mobileVenueAddress{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 16px 9px;background:var(--header-bg,#050505);color:var(--header-text,#fff);border-bottom:1px solid color-mix(in srgb,var(--header-text,#fff) 12%,transparent);font-size:12px;font-weight:700;line-height:1.35;text-align:center}
.mobileVenueAddress[hidden]{display:none!important}
@media(min-width:960px){.mobileVenueAddress{display:none!important}}


/* FoodCore 4.12.3 — keep the mobile slide-down widget below the sticky header/categories */
@media(max-width:959px){
  .clientWidgetHost{
    top:var(--client-widget-top,calc(env(safe-area-inset-top) + 150px))!important;
    max-height:calc(100dvh - var(--client-widget-top,150px) - 12px)!important;
  }
  .clientWidgetCard{max-height:inherit!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
}
@media(min-width:960px){
  .clientWidgetHost{top:auto!important}
}


/* FoodCore 4.12.4 — branch-aware venue information near the top of the mobile drawer */
.drawerVenueCard{margin:8px 0 16px;padding:16px 16px 15px;border:1px solid var(--drawer-custom-line,var(--line));border-radius:20px;background:var(--drawer-custom-button-bg,var(--card));color:var(--drawer-custom-text,var(--text));display:grid;gap:11px;position:relative;overflow:hidden}
.drawerVenueCard:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.drawerVenueEyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.drawerVenueHead{display:flex;align-items:center;gap:11px;min-width:0}.drawerVenuePin{width:38px;height:38px;flex:0 0 38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:23px;font-weight:900}.drawerVenueHead>div{min-width:0}.drawerVenueHead b{display:block;font-size:20px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawerVenueHead small{display:block;margin-top:3px;color:var(--drawer-custom-muted,var(--muted));font-size:13px;font-weight:700}
.drawerVenueAddress{font-size:16px!important;line-height:1.3!important;font-weight:900!important;color:var(--drawer-custom-text,var(--text))!important;margin:0!important;padding:11px 0;border-top:1px solid color-mix(in srgb,var(--drawer-custom-muted,var(--muted)) 28%,transparent);border-bottom:1px solid color-mix(in srgb,var(--drawer-custom-muted,var(--muted)) 28%,transparent)}
.drawerVenueHours{display:flex;align-items:center;gap:10px}.drawerVenueHours>span{font-size:21px;color:var(--accent)}.drawerVenueHours small{display:block;color:var(--drawer-custom-muted,var(--muted));font-size:11px}.drawerVenueHours b{display:block;margin-top:2px;font-size:14px;line-height:1.25}
body.drawerTemplate-cards .drawerVenueCard,body.drawerTemplate-cards .loyaltyQuickStats{grid-column:1/-1!important}
body.drawerTemplate-cards .drawerVenueCard{background:#1c2128;border-color:#303741}
body.drawerTemplate-neo .drawerVenueCard{background:#edf0f4;border:0;box-shadow:7px 7px 14px #cbd0d6,-7px -7px 14px #fff}
body.drawerTemplate-tabs .drawerVenueCard,body.drawerTemplate-floating .drawerVenueCard,body.drawerTemplate-restaurant .drawerVenueCard,body.drawerTemplate-gradient .drawerVenueCard,body.drawerTemplate-illustration .drawerVenueCard,body.drawerTemplate-eco .drawerVenueCard{margin-left:0;margin-right:0}
@media(max-width:390px){.drawerVenueCard{padding:14px;border-radius:18px}.drawerVenueHead b{font-size:18px}.drawerVenueAddress{font-size:15px!important}}


/* FoodCore 4.12.5 — clear venue summary in mobile drawer */
.drawerVenueSummary{
  grid-column:1/-1!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
  display:block!important;overflow:visible!important;margin:8px 0 18px!important;padding:17px 16px 16px!important;
  border:1px solid #343b45!important;border-radius:20px!important;background:#1c2128!important;color:#fff!important;
  box-sizing:border-box!important;position:relative!important;
}
.drawerVenueSummary:before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:0 8px 8px 0;background:var(--accent,#f20d18)}
.drawerVenueSummaryLabel{display:block!important;margin:0 0 8px 3px!important;color:var(--accent,#f20d18)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.2!important}
.drawerVenueSummaryName{display:block!important;margin:0 0 14px 3px!important;color:#fff!important;font-size:21px!important;font-weight:900!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important}
.drawerVenueSummaryRow{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:11px 2px!important;border-top:1px solid #343b45!important;min-width:0!important;height:auto!important;overflow:visible!important}
.drawerVenueSummaryRow:last-child{padding-bottom:1px!important}
.drawerVenueSummaryIcon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:11px!important;background:rgba(242,13,24,.14)!important;color:var(--accent,#f20d18)!important;font-size:19px!important;font-weight:900!important}
.drawerVenueSummaryRow>div{display:block!important;min-width:0!important;overflow:visible!important}
.drawerVenueSummaryRow small{display:block!important;margin:0 0 3px!important;color:#929ba6!important;font-size:11px!important;font-weight:700!important;line-height:1.25!important}
.drawerVenueSummaryRow b{display:block!important;margin:0!important;color:#fff!important;font-size:15px!important;font-weight:900!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word!important}
body.drawerTemplate-cards .drawerVenueSummary,body.drawerTemplate-neo .drawerVenueSummary,body.drawerTemplate-floating .drawerVenueSummary,body.drawerTemplate-tabs .drawerVenueSummary,body.drawerTemplate-restaurant .drawerVenueSummary,body.drawerTemplate-gradient .drawerVenueSummary,body.drawerTemplate-illustration .drawerVenueSummary,body.drawerTemplate-eco .drawerVenueSummary{display:block!important;grid-column:1/-1!important;height:auto!important;max-height:none!important;overflow:visible!important}
@media(max-width:390px){.drawerVenueSummary{padding:15px 14px!important;border-radius:18px!important}.drawerVenueSummaryName{font-size:19px!important}.drawerVenueSummaryRow b{font-size:14px!important}}


/* FoodCore 4.12.6 — isolated, non-overlapping venue card in mobile drawer */
.sideDrawer>.drawerVenueSummary{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:220px!important;
  max-height:none!important;
  margin:8px 0 16px!important;
  padding:17px 16px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  overflow:hidden!important;
  align-self:start!important;
  clear:both!important;
  border:1px solid #3a424d!important;
  border-radius:21px!important;
  background:#1b2027!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  z-index:1!important;
}
.sideDrawer>.drawerVenueSummary>*{position:static!important;inset:auto!important;transform:none!important;float:none!important;max-width:100%!important}
.sideDrawer>.drawerVenueSummary:before{content:''!important;position:absolute!important;left:0!important;top:17px!important;bottom:17px!important;width:4px!important;border-radius:0 8px 8px 0!important;background:var(--accent,#f20d18)!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryLabel{display:block!important;margin:0 0 7px 5px!important;color:var(--accent,#f20d18)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.2!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryName{display:block!important;margin:0 0 13px 5px!important;color:#fff!important;font-size:22px!important;font-weight:900!important;line-height:1.15!important;white-space:normal!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryRow{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;width:100%!important;min-height:64px!important;padding:11px 4px!important;border-top:1px solid #343c47!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryIcon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:12px!important;background:rgba(242,13,24,.15)!important;color:var(--accent,#f20d18)!important;font-size:20px!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryRow>div{display:block!important;min-width:0!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryRow small{display:block!important;margin:0 0 3px!important;color:#9aa3af!important;font-size:11px!important;font-weight:700!important;line-height:1.25!important}
.sideDrawer>.drawerVenueSummary .drawerVenueSummaryRow b{display:block!important;margin:0!important;color:#fff!important;font-size:15px!important;font-weight:900!important;line-height:1.35!important;white-space:normal!important;word-break:break-word!important}
.sideDrawer>.drawerVenueSummary+nav.loyaltyActionGrid{grid-column:1/-1!important;margin-top:0!important;position:relative!important;z-index:0!important}
@media(max-width:390px){.sideDrawer>.drawerVenueSummary{min-height:210px!important;padding:15px 14px!important}.sideDrawer>.drawerVenueSummary .drawerVenueSummaryName{font-size:20px!important}.sideDrawer>.drawerVenueSummary .drawerVenueSummaryRow b{font-size:14px!important}}


/* FoodCore 4.12.7 — compact venue summary in mobile drawer */
.sideDrawer>.drawerVenueSummaryCompact{
  display:grid!important;
  grid-template-columns:minmax(0,1.6fr) 1px minmax(108px,.8fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:8px 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #353c46!important;
  border-radius:18px!important;
  background:#1c2128!important;
  overflow:hidden!important;
  box-shadow:none!important;
  grid-column:1/-1!important;
}
.sideDrawer>.drawerVenueSummaryCompact:before{display:none!important}
.drawerVenueSummaryCompact .drawerVenueCompactItem{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  min-width:0!important;
}
.drawerVenueSummaryCompact .drawerVenueSummaryIcon{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:10px!important;
  background:rgba(242,13,24,.14)!important;
  color:var(--accent,#f20d18)!important;
  font-size:17px!important;
}
.drawerVenueSummaryCompact .drawerVenueCompactItem>div{min-width:0!important}
.drawerVenueSummaryCompact small{
  display:block!important;
  margin:0 0 2px!important;
  color:#929ba6!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.15!important;
}
.drawerVenueSummaryCompact b{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:break-word!important;
}
.drawerVenueCompactDivider{width:1px!important;height:42px!important;background:#343b45!important}
.drawerVenueSummaryCompact .drawerVenueCompactHours b{white-space:nowrap!important;font-size:13px!important}
.sideDrawer>.drawerVenueSummaryCompact+nav.loyaltyActionGrid{margin-top:0!important}
@media(max-width:390px){
  .sideDrawer>.drawerVenueSummaryCompact{grid-template-columns:1fr!important;gap:9px!important;padding:11px 13px!important}
  .drawerVenueCompactDivider{width:100%!important;height:1px!important}
  .drawerVenueSummaryCompact .drawerVenueCompactItem{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important}
  .drawerVenueSummaryCompact .drawerVenueSummaryIcon{width:28px!important;height:28px!important;font-size:16px!important}
  .drawerVenueSummaryCompact b{font-size:12.5px!important}
}


/* FoodCore 4.12.8 — one compact venue strip, no icons and no overlap */
.sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  clear:both!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-auto-rows:auto!important;
  align-items:center!important;
  column-gap:16px!important;
  row-gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:6px 0 10px!important;
  padding:11px 14px!important;
  border:1px solid #353c46!important;
  border-radius:16px!important;
  background:#1c2128!important;
  overflow:hidden!important;
  box-shadow:none!important;
  z-index:0!important;
  grid-column:1/-1!important;
  grid-row:auto!important;
}
.sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact:before,
.sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact:after,
.sideDrawer>#drawerVenueCard .drawerVenueSummaryIcon,
.sideDrawer>#drawerVenueCard .drawerVenueCompactDivider{display:none!important}
.sideDrawer>#drawerVenueCard .drawerVenueCompactLine{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:baseline!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{
  display:block!important;
  margin:0!important;
  color:#929ba6!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  color:#fff!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  justify-self:end!important;
  grid-template-columns:auto auto!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactHours>b{white-space:nowrap!important}
.sideDrawer>#drawerVenueCard+nav.loyaltyActionGrid{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding-top:0!important;
  z-index:0!important;
  grid-column:1/-1!important;
  grid-row:auto!important;
}
@media(max-width:430px){
  .sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:10px 12px!important;
    margin:5px 0 9px!important;
  }
  .sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
  .sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
    justify-self:stretch!important;
    grid-template-columns:108px minmax(0,1fr)!important;
  }
  .sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{font-size:12.5px!important}
}

/* FoodCore 4.12.9 — final spacing fix for compact venue strip */
.sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  height:auto!important;
  min-height:76px!important;
  overflow:visible!important;
  margin:6px 0 16px!important;
  padding:12px 14px!important;
  position:relative!important;
  z-index:1!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactLine{
  min-height:22px!important;
  align-items:center!important;
}
.sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.3!important;
}
.sideDrawer>#drawerVenueCard+nav.loyaltyActionGrid{
  margin-top:0!important;
  padding-top:0!important;
  position:relative!important;
  z-index:0!important;
  clear:both!important;
}
@media(max-width:430px){
  .sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
    min-height:84px!important;
    margin-bottom:18px!important;
    padding:12px 13px!important;
  }
  .sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
  .sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
    grid-template-columns:112px minmax(0,1fr)!important;
    row-gap:2px!important;
  }
}


/* FoodCore 4.12.11 — configurable platform branding in the drawer */
#platformBrandingFooter[hidden]{display:none!important}
#platformBrandingFooter{margin-top:26px;padding:0 0 max(18px,env(safe-area-inset-bottom));text-align:center}
#platformBrandingFooter img{display:block;width:100%;max-width:620px;height:auto;max-height:180px;object-fit:contain;margin:0 auto;border-radius:14px}


/* FoodCore 4.12.20 — индивидуальный экран авторизации */
.clientAuthEntryConsent{display:flex!important;grid-template-columns:26px 1fr!important;align-items:flex-start;gap:12px!important;margin:14px 2px 16px!important;font-size:13px!important;font-weight:600!important;line-height:1.35;color:rgba(255,255,255,.86)}.clientAuthEntryConsent[hidden]{display:none!important}.clientAuthEntryConsent input{width:23px!important;height:23px!important;margin:0!important;padding:0!important;accent-color:var(--accent,#ef2b2d);flex:0 0 auto}
.clientAuthGate.customAuthScreen{--client-auth-bg:none;--client-auth-overlay:.45;background:#080b10}.clientAuthGate.customAuthScreen::backdrop{background:#080b10}.clientAuthGate.customAuthScreen .clientAuthCard{position:fixed;inset:0;transform:none;width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;padding:max(26px,env(safe-area-inset-top)) 28px max(28px,env(safe-area-inset-bottom));box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;overflow:auto;background:transparent;color:#fff;box-shadow:none}.clientAuthGate.customAuthScreen .clientAuthCard::before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(0,0,0,var(--client-auth-overlay)),rgba(0,0,0,var(--client-auth-overlay))),var(--client-auth-bg);background-position:center;background-size:cover;background-repeat:no-repeat;z-index:-2}.clientAuthGate.customAuthScreen .clientAuthCard::after{content:"";position:fixed;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));z-index:-1;pointer-events:none}.clientAuthGate.customAuthScreen .clientAuthLogo{margin-bottom:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(0,0,0,.25)}.clientAuthGate.customAuthScreen .clientAuthCard h2{font-size:34px;text-shadow:0 2px 14px rgba(0,0,0,.5)}.clientAuthGate.customAuthScreen .clientAuthCard>p{color:rgba(255,255,255,.82);text-shadow:0 2px 10px rgba(0,0,0,.5)}.clientAuthGate.customAuthScreen .clientPhoneInput{background:rgba(8,12,18,.52)!important;border-color:rgba(255,255,255,.72)!important;backdrop-filter:blur(14px)}.clientAuthGate.customAuthScreen .clientAuthMethod{background:rgba(8,12,18,.62);border-color:rgba(255,255,255,.25);backdrop-filter:blur(14px)}.clientAuthGate.customAuthScreen .clientAuthChooseTitle{color:rgba(255,255,255,.82)}.clientAuthGate.customAuthScreen .clientAuthStatus{background:rgba(70,12,22,.78)}
@media(min-width:760px){.clientAuthGate.customAuthScreen .clientAuthCard{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 40px));height:min(880px,calc(100vh - 40px));border-radius:30px;overflow:hidden}.clientAuthGate.customAuthScreen .clientAuthCard::before,.clientAuthGate.customAuthScreen .clientAuthCard::after{position:absolute;border-radius:inherit}}

/* FoodCore 4.12.34 — compact modern branch switch row */
.drawerBranchChoiceHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin:10px 0 8px!important;
  padding:0 2px!important;
  min-width:0!important;
}
.drawerBranchChoiceHead>b{
  min-width:0!important;
  margin:0!important;
  color:var(--drawer-custom-muted,var(--muted,#9aa2ad))!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.drawerBranchChoiceHead>button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:36px!important;
  margin:0!important;
  padding:8px 14px!important;
  border:1px solid color-mix(in srgb,var(--accent,#f20d18) 34%,transparent)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--accent,#f20d18) 14%,transparent)!important;
  color:var(--accent,#f20d18)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.14)!important;
  font:800 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .14s ease,background .14s ease,border-color .14s ease!important;
}
.drawerBranchChoiceHead>button:active,
.drawerBranchChoiceHead>button.pressed{
  transform:scale(.97)!important;
  background:color-mix(in srgb,var(--accent,#f20d18) 22%,transparent)!important;
}
@media(max-width:390px){
  .drawerBranchChoiceHead{gap:8px!important}
  .drawerBranchChoiceHead>b{font-size:11px!important}
  .drawerBranchChoiceHead>button{min-height:34px!important;padding:7px 12px!important;font-size:12px!important;border-radius:11px!important}
}


/* FoodCore 4.12.36 — stable compact drawer layout, equal tiles, no overlap */
#sideDrawer.sideDrawer{
  display:block!important;
  width:min(92vw,390px)!important;
  padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
#sideDrawer>*{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#sideDrawer .drawerTop{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:72px!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
}
#sideDrawer .drawerAvatar{font-size:30px!important;line-height:1!important}
#sideDrawer .drawerUser{font-size:19px!important;line-height:1.1!important}
#sideDrawer .drawerClose{width:34px!important;height:34px!important;padding:0!important;line-height:1!important}
#sideDrawer .bonusCard{
  display:block!important;
  min-height:122px!important;
  height:auto!important;
  margin:0 0 10px!important;
  padding:16px!important;
  overflow:hidden!important;
  border-radius:20px!important;
}
#sideDrawer .bonusCard>div{display:flex!important;align-items:center!important;gap:12px!important}
#sideDrawer .bonusCard>div span{flex:0 0 auto!important}
#sideDrawer .bonusCard b{font-size:25px!important;line-height:1.1!important}
#sideDrawer .bonusCard p{margin:11px 0 4px!important;font-size:17px!important;line-height:1.15!important}
#sideDrawer .bonusCard small{display:block!important;font-size:11px!important;line-height:1.25!important}
#sideDrawer .loyaltyQuickStats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 10px!important;
}
#sideDrawer .loyaltyQuickStats span{
  min-width:0!important;
  min-height:72px!important;
  padding:9px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:16px!important;
}
#sideDrawer .loyaltyQuickStats b{font-size:18px!important;line-height:1!important}
#sideDrawer .loyaltyQuickStats small{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important}
#sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  min-height:0!important;
  height:auto!important;
  margin:0 0 10px!important;
  padding:11px 12px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  z-index:1!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{
  order:-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  margin:0 0 3px!important;
  padding:0!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>b{
  font-size:12px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{
  min-height:32px!important;
  height:32px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:12px!important;
  line-height:1!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  display:grid!important;
  grid-template-columns:100px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{font-size:10px!important;line-height:1.25!important}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  min-width:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
#sideDrawer>#drawerVenueCard.drawerVenueBranchTarget{padding-right:12px!important}
#sideDrawer>#drawerVenueCard.drawerVenueBranchTarget:after{display:none!important}
#sideDrawer .loyaltyActionGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:86px!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
}
#sideDrawer .loyaltyActionGrid button,
body.drawerTemplate-cards #sideDrawer .loyaltyActionGrid button,
body[class*="drawerTemplate-"] #sideDrawer .loyaltyActionGrid button{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  align-content:center!important;
  justify-content:stretch!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  margin:0!important;
  padding:10px!important;
  overflow:hidden!important;
  border-radius:17px!important;
  text-align:left!important;
}
#sideDrawer .loyaltyActionGrid button i{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  font-size:23px!important;
  line-height:1!important;
}
#sideDrawer .loyaltyActionGrid button>span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:0!important;
  width:100%!important;
}
#sideDrawer .loyaltyActionGrid button b{
  display:block!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#sideDrawer .loyaltyActionGrid button small{
  display:block!important;
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#sideDrawer .drawerContact{
  min-height:58px!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
}
#sideDrawer .drawerContact span{font-size:11px!important;line-height:1.1!important}
#sideDrawer .drawerContact b{font-size:16px!important;line-height:1.15!important}
#sideDrawer .drawerFooter{margin:0!important;padding:8px 0 4px!important}
#sideDrawer .drawerFooter img{max-height:120px!important}
@media(max-width:360px){
  #sideDrawer.sideDrawer{padding-left:10px!important;padding-right:10px!important}
  #sideDrawer .loyaltyActionGrid{gap:7px!important;grid-auto-rows:82px!important}
  #sideDrawer .loyaltyActionGrid button,
  body[class*="drawerTemplate-"] #sideDrawer .loyaltyActionGrid button{height:82px!important;min-height:82px!important;max-height:82px!important;padding:8px!important;grid-template-columns:30px minmax(0,1fr)!important;gap:7px!important}
  #sideDrawer .loyaltyActionGrid button i{width:30px!important;height:30px!important;font-size:20px!important}
  #sideDrawer .loyaltyActionGrid button b{font-size:13.5px!important}
  #sideDrawer .loyaltyActionGrid button small{font-size:9.5px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
  #sideDrawer>#drawerVenueCard .drawerVenueCompactHours{grid-template-columns:88px minmax(0,1fr)!important}
}

/* FoodCore 4.12.37 — финальная полировка панели: аккуратный филиал, без дубля, отдельные контакты */
#sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin:0 0 10px!important;
  padding:12px 14px!important;
  min-height:0!important;
  height:auto!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 4px!important;
  min-height:34px!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>b{
  font-size:13px!important;
  line-height:1.2!important;
  color:var(--drawer-custom-muted,#9ca3af)!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{
  min-width:98px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  min-height:22px!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{
  font-size:10px!important;
  line-height:1.3!important;
  color:var(--drawer-custom-muted,#9ca3af)!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:800!important;
  overflow-wrap:anywhere!important;
}
#sideDrawer .loyaltyActionGrid{
  margin-bottom:0!important;
}
#sideDrawer .drawerContact{
  clear:both!important;
  margin:16px 0 10px!important;
  padding:12px 14px!important;
  min-height:62px!important;
  position:relative!important;
  z-index:1!important;
}
#sideDrawer .drawerContact span{
  display:block!important;
  margin:0 0 5px!important;
}
#sideDrawer .drawerContact b{
  display:block!important;
}
#sideDrawer #drawerBranches{
  display:none!important;
}
@media(max-width:360px){
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
  #sideDrawer>#drawerVenueCard .drawerVenueCompactHours{grid-template-columns:82px minmax(0,1fr)!important}
  #sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{min-width:92px!important;padding:0 11px!important}
}


/* FoodCore 4.12.38 — симметричный блок филиала */
#sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:14px 16px!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{
  order:-1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 0 8px!important;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>b{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  color:var(--drawer-custom-text,#fff)!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:104px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
  font-size:13px!important;
  line-height:1!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:0!important;
  width:100%!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{
  display:block!important;
  margin:0!important;
  color:var(--drawer-custom-muted,#9ca3af)!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  color:var(--drawer-custom-text,#fff)!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.28!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours>b{
  white-space:nowrap!important;
}
@media(max-width:360px){
  #sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{padding:12px 13px!important;gap:8px!important}
  #sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{gap:8px!important}
  #sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{min-width:92px!important;height:34px!important;min-height:34px!important;padding:0 11px!important;font-size:12px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
  #sideDrawer>#drawerVenueCard .drawerVenueCompactHours{grid-template-columns:92px minmax(0,1fr)!important;column-gap:9px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{font-size:10px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{font-size:13px!important}
}

/* FoodCore 4.12.39 — филиал столбиком, кнопка в правом верхнем углу */
#sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:18px 16px 16px!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:3!important;
  display:block!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>b{
  display:none!important;
}
#sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:104px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 15px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine,
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine:first-of-type{
  padding-right:124px!important;
  min-height:58px!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>span{
  display:block!important;
  margin:0!important;
  color:var(--drawer-custom-muted,#9ca3af)!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:var(--drawer-custom-text,#fff)!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours{
  padding-top:11px!important;
  border-top:1px solid rgba(148,163,184,.16)!important;
}
#sideDrawer>#drawerVenueCard .drawerVenueCompactHours>b{
  white-space:nowrap!important;
}
@media(max-width:360px){
  #sideDrawer>#drawerVenueCard.drawerVenueSummaryCompact{padding:15px 13px 14px!important;gap:10px!important}
  #sideDrawer>#drawerVenueCard .drawerBranchChoiceHead{top:12px!important;right:12px!important}
  #sideDrawer>#drawerVenueCard .drawerBranchChoiceHead>button{min-width:92px!important;height:35px!important;min-height:35px!important;padding:0 11px!important;font-size:12px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine:first-of-type{padding-right:108px!important;min-height:54px!important}
  #sideDrawer>#drawerVenueCard .drawerVenueCompactLine>b{font-size:14px!important}
}


/* FoodCore 4.12.40 — блокировка прокрутки фона при выборе филиала */
html.branchSelectorOpen,
body.branchSelectorOpen{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.clientBranchSelector.cityBranchSelector{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.clientBranchSelector .cityBranchSelectorCard{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  max-height:min(88dvh,820px)!important;
}
.clientBranchSelector .cityBranchCities{
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
}


/* FoodCore 4.12.42 — order history modal owns scrolling; background stays frozen */
html.ordersModalOpen,body.ordersModalOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
#ordersModal{overscroll-behavior:none!important}
#ordersModal::backdrop{background:rgba(0,0,0,.72)}
#ordersModal .ordersSheet{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;max-height:92dvh!important}
#ordersModal .ordersList{overscroll-behavior-y:contain!important}
#ordersModal .ordersHead{padding-right:48px}

/* FoodCore 4.12.43 — компактная и понятная бонусная программа */
html.loyaltyModalOpen,body.loyaltyModalOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
#loyaltyInfoModal.loyaltyInfoModal{width:min(520px,calc(100vw - 20px))!important;max-width:520px!important;max-height:92dvh!important;margin:auto!important;padding:0!important;border:0!important;border-radius:26px!important;background:#111419!important;color:#f8fafc!important;overflow:hidden!important;box-shadow:0 28px 80px rgba(0,0,0,.55)!important}
#loyaltyInfoModal::backdrop{background:rgba(0,0,0,.74)!important;backdrop-filter:blur(5px)}
#loyaltyInfoModal .loyaltyPanel{max-height:92dvh!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:14px!important}
#loyaltyInfoModal .loyaltyPanelHead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 2px!important}
#loyaltyInfoModal .loyaltyPanelHead small{display:block!important;color:#9ca3af!important;font-size:12px!important;font-weight:700!important;margin-bottom:2px!important}
#loyaltyInfoModal .loyaltyPanelHead h2{margin:0!important;font-size:26px!important;line-height:1.05!important;letter-spacing:-.02em!important}
#loyaltyInfoModal .loyaltyInfoClose{position:static!important;float:none!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:14px!important;background:#20242c!important;color:#fff!important;font-size:30px!important;line-height:1!important;display:grid!important;place-items:center!important}
#loyaltyInfoModal .loyaltyBalanceCard{display:flex!important;align-items:center!important;gap:14px!important;padding:18px!important;border-radius:20px!important;background:linear-gradient(135deg,#f10b16,#a70710)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 28px rgba(225,0,18,.18)!important}
#loyaltyInfoModal .loyaltyCoin{display:grid!important;place-items:center!important;flex:0 0 58px!important;width:58px!important;height:58px!important;border-radius:50%!important;background:#fff!important;color:#d70712!important;font-size:24px!important;font-weight:900!important}
#loyaltyInfoModal .loyaltyBalanceCard b{display:block!important;font-size:25px!important;line-height:1.1!important;color:#fff!important}
#loyaltyInfoModal .loyaltyBalanceCard small{display:block!important;margin-top:5px!important;color:rgba(255,255,255,.8)!important;font-size:13px!important}
#loyaltyInfoModal .loyaltyCompactSection,#loyaltyInfoModal .loyaltyTerms,#loyaltyInfoModal .loyaltyHistory{margin:0!important;padding:15px!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:18px!important;background:#191d24!important}
#loyaltyInfoModal .loyaltyCompactSection h3,#loyaltyInfoModal .loyaltyHistory h3{margin:0 0 12px!important;font-size:16px!important;line-height:1.2!important;color:#fff!important}
#loyaltyInfoModal .loyaltyEarnList{display:flex!important;flex-direction:column!important;gap:0!important}
#loyaltyInfoModal .loyaltyEarnList article{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:62px!important;padding:9px 0!important;border:0!important;border-bottom:1px solid rgba(148,163,184,.12)!important;background:transparent!important}
#loyaltyInfoModal .loyaltyEarnList article:last-child{border-bottom:0!important;padding-bottom:0!important}
#loyaltyInfoModal .loyaltyEarnList article:first-child{padding-top:0!important}
#loyaltyInfoModal .loyaltyEarnList i{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:11px!important;background:#252a33!important;font-style:normal!important;font-size:20px!important}
#loyaltyInfoModal .loyaltyEarnList b{display:block!important;font-size:14px!important;line-height:1.2!important;color:#fff!important}
#loyaltyInfoModal .loyaltyEarnList small{display:block!important;margin-top:3px!important;font-size:11.5px!important;line-height:1.3!important;color:#9ca3af!important}
#loyaltyInfoModal .loyaltyStatGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#loyaltyInfoModal .loyaltyStatGrid article{display:flex!important;align-items:center!important;gap:9px!important;min-height:66px!important;padding:10px!important;border-radius:14px!important;background:#222730!important;border:1px solid rgba(148,163,184,.11)!important}
#loyaltyInfoModal .loyaltyStatGrid i{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#2b303a!important;font-style:normal!important;font-size:18px!important}
#loyaltyInfoModal .loyaltyStatGrid b{display:block!important;font-size:16px!important;line-height:1.1!important;color:#fff!important}
#loyaltyInfoModal .loyaltyStatGrid small{display:block!important;margin-top:3px!important;color:#9ca3af!important;font-size:10.5px!important;line-height:1.15!important}
#loyaltyInfoModal .loyaltyTerms{display:flex!important;flex-direction:column!important;gap:0!important}
#loyaltyInfoModal .loyaltyTerms>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:10px 0!important;border-bottom:1px solid rgba(148,163,184,.12)!important}
#loyaltyInfoModal .loyaltyTerms span{color:#aab1bd!important;font-size:12px!important}
#loyaltyInfoModal .loyaltyTerms b{color:#fff!important;font-size:13px!important;text-align:right!important}
#loyaltyInfoModal .loyaltyTerms p{margin:11px 0 0!important;color:#89919e!important;font-size:10.5px!important;line-height:1.35!important}
#loyaltyInfoModal .loyaltyHistoryHead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
#loyaltyInfoModal .loyaltyHistoryHead h3{margin:0!important}
#loyaltyInfoModal .loyaltyHistoryHead small{display:grid!important;place-items:center!important;min-width:24px!important;height:24px!important;padding:0 7px!important;border-radius:999px!important;background:#252a33!important;color:#aab1bd!important;font-size:11px!important}
#loyaltyInfoModal .loyaltyHistoryRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:11px 0!important;border-bottom:1px solid rgba(148,163,184,.12)!important}
#loyaltyInfoModal .loyaltyHistoryRow:last-child{border-bottom:0!important;padding-bottom:0!important}
#loyaltyInfoModal .loyaltyHistoryRow span{min-width:0!important;color:#d7dce4!important;font-size:12px!important;line-height:1.25!important}
#loyaltyInfoModal .loyaltyHistoryRow b{flex:0 0 auto!important;font-size:13px!important}
#loyaltyInfoModal .loyaltyHistoryRow b.plus{color:#6ee7a0!important}
#loyaltyInfoModal .loyaltyHistoryRow b.minus{color:#ff8f98!important}
#loyaltyInfoModal .loyaltyHistory>p{margin:10px 0 0!important;color:#89919e!important;font-size:12px!important;line-height:1.35!important}
@media(max-width:380px){#loyaltyInfoModal .loyaltyPanel{padding:15px!important;gap:11px!important}#loyaltyInfoModal .loyaltyPanelHead h2{font-size:23px!important}#loyaltyInfoModal .loyaltyBalanceCard{padding:15px!important}#loyaltyInfoModal .loyaltyBalanceCard b{font-size:22px!important}#loyaltyInfoModal .loyaltyCoin{width:52px!important;height:52px!important;flex-basis:52px!important}#loyaltyInfoModal .loyaltyCompactSection,#loyaltyInfoModal .loyaltyTerms,#loyaltyInfoModal .loyaltyHistory{padding:13px!important}}

/* FoodCore 4.12.44 — полезность и обсуждение отзывов */
.reviewSort{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}.reviewSort::-webkit-scrollbar{display:none}.reviewSort button{flex:0 0 auto;border:1px solid #39414b;background:#181c21;color:#aeb6c1;border-radius:999px;padding:9px 13px;font-weight:800}.reviewSort button.active{background:#fff;color:#111;border-color:#fff}.reviewCardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.reviewCardHead>div{display:grid;gap:5px}.reviewCardHead em{color:#52d889;font-style:normal;font-size:12px}.reviewAnswer.official{border-left:3px solid #e7262c}.reviewAnswer.official span{color:#ff6a6f}.reviewSocial{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #2e343c}.reviewSocial button{border:1px solid #363d46;background:#20252b;color:#cbd2db;border-radius:999px;padding:8px 12px;font-weight:800}.reviewSocial button.active{background:#244d39;border-color:#3f9c70;color:#75e6ad}.reviewSocial button.active.down{background:#552d32;border-color:#9d4d56;color:#ff9aa5}.reviewComments{margin-top:12px;padding-top:12px;border-top:1px solid #2e343c}.reviewComments.hidden{display:none}.reviewCommentsList{display:grid;gap:9px}.reviewComment{background:#20252b;border-radius:13px;padding:10px 12px}.reviewComment>div{display:flex;justify-content:space-between;gap:10px}.reviewComment small{margin:0;color:#89939f}.reviewComment p{margin:6px 0 0;line-height:1.35;white-space:pre-wrap}.noReviewComments{color:#8f98a4}.reviewCommentForm{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.reviewCommentForm input{min-width:0;background:#15191e;border:1px solid #363d46;color:#fff;border-radius:12px;padding:10px 12px;font:inherit}.reviewCommentForm button{border:0;border-radius:12px;background:#e7262c;color:#fff;font-weight:900;padding:10px 13px}


/* FoodCore 4.12.45 — блокировка фоновой прокрутки в окне отзывов */
html.reviewsModalOpen, body.reviewsModalOpen { overflow: hidden !important; overscroll-behavior: none !important; }
#reviewsModal { overflow: hidden !important; overscroll-behavior: none; touch-action: none; }
#reviewsModal .reviewsSheet {
  max-height: calc(100dvh - 22px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
#reviewsModal::backdrop { touch-action: none; overscroll-behavior: none; }

/* 3.1.53 — neutral placeholder when a product has no uploaded photo */
.productImage.noImage,.popularImage:has(.productPhotoSoon),.recommendImage:has(.productPhotoSoon),.modalVisual:has(.productPhotoSoon),.cartThumb:has(.productPhotoSoon),.checkoutOrderThumb:has(.productPhotoSoon),.giftChoice span:has(.productPhotoSoon),.addonProductImage:has(.productPhotoSoon),.searchSuggestionImage:has(.productPhotoSoon){background:#000!important;}
.productPhotoSoon{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:100%!important;background:#000!important;color:#fff!important;text-align:center!important;font-size:clamp(13px,3.8vw,18px)!important;line-height:1.18!important;font-weight:800!important;letter-spacing:.02em!important;}
.productImage.noImage .productPhotoSoon{position:absolute;inset:0;}
.cartThumb .productPhotoSoon,.checkoutOrderThumb .productPhotoSoon,.searchSuggestionImage .productPhotoSoon,.addonProductImage .productPhotoSoon,.giftChoice span .productPhotoSoon{font-size:7px!important;line-height:1.1!important;}

/* FoodCore 3.1.54 — soft photo-to-card transition */
.productImage.hasImage{position:relative!important;isolation:isolate}
.productImage.hasImage>img{position:relative;z-index:0}
.productImage.hasImage::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:34%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(32,32,32,0) 0%,rgba(32,32,32,.16) 35%,rgba(32,32,32,.58) 72%,var(--card,#202020) 100%);
}
.productImage.hasImage .productStickerBadges,
.productImage.hasImage .productServingsBadge,
.productImage.hasImage .quickControlSlot--overlay{position:absolute;z-index:4}

/* Keep the same soft transition in the wide/desktop product grid. */
@media (min-width:601px){
  .productImage.hasImage::after{height:30%}
}

/* FoodCore 4.12.46 — legal pages */
.drawerLegalLinks{display:grid;margin:12px 14px 18px;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}.drawerLegalLinks button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent);background:transparent;color:inherit;padding:13px 2px;text-align:left;font:700 12px/1.25 inherit}.drawerLegalLinks button:last-child{border-bottom:0}.drawerLegalLinks button span{font-size:19px;opacity:.6}.legalInlineLink{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}.clientAuthEntryConsent .legalInlineLink,.clientConsent .legalInlineLink{color:#fff}.legalPageDialog{z-index:220}.legalPageSheet{max-height:min(86vh,820px);overflow:auto;padding:24px 20px 30px}.legalPageSheet h2{padding-right:45px;margin:0 0 18px;font-size:24px;line-height:1.15}.legalPageText{white-space:pre-wrap;font-size:14px;line-height:1.62;color:#d8dce2}.legalPageSheet .sheetClose{position:sticky;float:right;top:0;z-index:2}

/* FoodCore 3.1.61 — balanced privacy consent block */
.clientAuthEntryConsent{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;margin:14px 2px 18px!important}.clientAuthEntryConsent input{align-self:center}.clientConsentText{display:grid;gap:3px;min-width:0;text-align:left;line-height:1.32}.clientConsentText>span{display:block}.clientConsentText .legalInlineLink{display:block!important;width:fit-content;max-width:100%;padding:0!important;text-align:left!important;line-height:1.28!important}.clientConsent{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:12px!important}.clientConsent>input{margin:0!important}.clientConsent .clientConsentText{font-weight:600}
@media(max-width:420px){.clientAuthEntryConsent{gap:10px!important;font-size:12.5px!important}.clientConsentText .legalInlineLink{font-size:12.5px!important}}

/* FoodCore 4.12.47 legal modal close fix */
.legalPageDialog .legalPageSheet{position:relative}.legalPageDialog .sheetClose{position:sticky!important;top:0!important;float:right!important;z-index:50!important;pointer-events:auto!important;touch-action:manipulation!important;min-width:44px!important;min-height:44px!important}.legalPageDialog .legalPageText{padding-bottom:max(18px,env(safe-area-inset-bottom))}


/* FoodCore 3.1.81 — branded splash for browser/PWA client */
.launchSplash{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;
  min-height:100dvh;padding:24px;
  background:
    radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--launch-accent,#ef2b2d) 16%,transparent) 0,transparent 38%),
    var(--launch-bg,#0b0d11);
  color:#fff;opacity:1;visibility:visible;
  transition:opacity .34s ease,visibility .34s ease;
}
.launchSplash.hidden{opacity:0;visibility:hidden;pointer-events:none}
.launchSplashInner{width:min(360px,88vw);text-align:center;display:grid;justify-items:center;gap:12px;transform:translateY(-2vh)}
.launchLogoFallback,.launchLogoImage{
  width:126px;height:126px;border-radius:31px;display:grid;place-items:center;overflow:hidden;
  box-shadow:0 18px 54px rgba(0,0,0,.28);margin-bottom:5px;
}
.launchLogoFallback{background:var(--launch-accent,#ef2b2d);color:#fff;font-size:54px;font-weight:950;letter-spacing:-2px}
.launchLogoImage{background:rgba(255,255,255,.96);padding:10px}
.launchLogoImage img{width:100%;height:100%;object-fit:contain;display:block}
.launchBrand{font-size:30px;line-height:1.08;font-weight:950;letter-spacing:-.6px;color:#fff;max-width:100%;overflow-wrap:anywhere}
.launchText{font-size:14px;color:rgba(255,255,255,.58);margin-top:1px}
.launchLoader{width:42px;height:42px;border:4px solid rgba(255,255,255,.13);border-top-color:var(--launch-accent,#ef2b2d);border-radius:50%;animation:launchSpin .78s linear infinite;margin-top:9px}
.launchSplash.nativeLaunchSplash{display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important}
.launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner{width:54px;height:54px;border-radius:50%;box-sizing:border-box;border:6px solid rgba(0,0,0,.10);border-top-color:var(--accent,#ef2b2d);animation:foodcoreMinimalSpin .75s linear infinite}
@keyframes foodcoreMinimalSpin{to{transform:rotate(360deg)}}
@media (prefers-color-scheme:dark){.launchSplash.nativeLaunchSplash{background:#050505!important}.launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner{border-color:rgba(255,255,255,.14);border-top-color:var(--accent,#ef2b2d)}}
@media(max-width:520px){.launchLogoFallback,.launchLogoImage{width:112px;height:112px;border-radius:28px}.launchBrand{font-size:27px}}


/* FoodCore 2026-08-09 — slightly wider mobile product cards: category inner side padding 12px -> 6px */
\n\n/* FoodCore gift shelf + multi-level progress — 2026-08-09 */\n.giftInlineBlock{margin:14px 0 18px;padding:14px 0 4px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}\n.giftInlineHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 2px 10px}.giftInlineHead>b,.giftInlineHead div>b{display:block;font-size:18px;font-weight:900}.giftInlineHead small{display:block;margin-top:3px;font-size:12px;line-height:1.3;opacity:.62}.giftInlineHead>span{font-size:25px;line-height:1}\n.giftProgressWrap{padding:2px 2px 12px}.giftProgressTrack{height:9px;display:flex;gap:3px;width:100%;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.giftProgressSegment{height:9px;position:relative;min-width:12px;overflow:hidden;background:rgba(255,255,255,.09)}.giftProgressSegment i{display:block;width:var(--seg-fill);height:100%;background:var(--seg-color);border-radius:999px;transition:width .25s ease;box-shadow:0 0 10px color-mix(in srgb,var(--seg-color) 45%,transparent)}.giftProgressSegment.done i{width:100%}.giftProgressCaption{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:7px;font-size:10px;line-height:1.2}.giftProgressCaption b{font-weight:800;opacity:.78}.giftProgressCaption span{opacity:.62;text-align:right}\n.giftMiniScroller{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 12px;scrollbar-width:none}.giftMiniScroller::-webkit-scrollbar{display:none}.giftMiniTile{flex:0 0 116px;scroll-snap-align:start;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:7px;background:rgba(255,255,255,.055);color:inherit;text-align:left;position:relative;overflow:hidden}.giftMiniImage{display:block;width:100%;aspect-ratio:1.25/1;border-radius:11px;overflow:hidden;background:#0b0b0c}.giftMiniImage img{width:100%;height:100%;object-fit:cover;display:block}.giftMiniName{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:31px;margin:7px 2px 4px;font-size:12px;line-height:1.25;font-weight:850}.giftMiniState{display:block;margin:0 2px 2px;font-size:10px;font-weight:850;color:var(--accent,#ef2b2d)}.giftMiniTile.locked{filter:grayscale(1);opacity:.42}.giftMiniTile.locked .giftMiniState{color:inherit}.giftMiniTile.available{border-color:color-mix(in srgb,var(--accent,#ef2b2d) 46%,rgba(255,255,255,.12))}.giftMiniTile.selected{border:2px solid #20b66a;box-shadow:0 0 0 3px rgba(32,182,106,.14);background:rgba(32,182,106,.09)}.giftMiniTile.selected .giftMiniState{color:#20b66a}.giftMiniTile:active:not(:disabled){transform:scale(.98)}\n@media(max-width:380px){.giftMiniTile{flex-basis:108px}.giftMiniName{font-size:11.5px}.giftProgressCaption{font-size:9.5px}}\n
/* FoodCore 2026-08-09 — compact inline gift shelf fix */
#cartModal .giftInlineBlock{
  margin:10px 0 14px!important;
  padding:10px 0 2px!important;
}
#cartModal .giftInlineHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px 10px!important;
  align-items:start!important;
  padding:0 0 8px!important;
}
#cartModal .giftInlineHead div>b{
  font-size:16px!important;
  line-height:1.15!important;
  margin:0!important;
}
#cartModal .giftInlineHead small{
  font-size:10.5px!important;
  line-height:1.25!important;
  margin-top:2px!important;
  opacity:.58!important;
}
#cartModal .giftInlineHead>span{
  font-size:20px!important;
  line-height:1!important;
}
#cartModal .giftProgressWrap{padding:0 0 9px!important}
#cartModal .giftProgressTrack{height:7px!important;gap:2px!important}
#cartModal .giftProgressSegment{height:7px!important;min-width:8px!important}
#cartModal .giftProgressCaption{
  margin-top:5px!important;
  font-size:9.5px!important;
  gap:8px!important;
}
#cartModal .giftMiniScroller{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 0 9px!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch!important;
}
#cartModal .giftMiniScroller>.giftMiniTile{
  flex:0 0 104px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  height:154px!important;
  min-height:154px!important;
  max-height:154px!important;
  padding:6px!important;
  margin:0!important;
  border-radius:13px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:hidden!important;
}
#cartModal .giftMiniImage{
  display:block!important;
  width:92px!important;
  height:82px!important;
  min-width:92px!important;
  min-height:82px!important;
  max-width:92px!important;
  max-height:82px!important;
  aspect-ratio:auto!important;
  flex:0 0 82px!important;
  border-radius:9px!important;
  overflow:hidden!important;
  margin:0!important;
}
#cartModal .giftMiniImage img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#cartModal .giftMiniName{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:29px!important;
  max-height:29px!important;
  margin:6px 1px 2px!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
}
#cartModal .giftMiniState{
  display:block!important;
  margin:auto 1px 1px!important;
  font-size:9.5px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#cartModal .giftMiniTile.locked{
  filter:grayscale(1)!important;
  opacity:.38!important;
}
#cartModal .giftMiniTile.selected{
  border-width:2px!important;
}
@media(max-width:380px){
  #cartModal .giftMiniScroller>.giftMiniTile{
    flex-basis:96px!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
  }
  #cartModal .giftMiniImage{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    flex-basis:76px!important;
  }
  #cartModal .giftMiniName{font-size:10.5px!important}
}

/* FoodCore — single gift progress bar with threshold marks — 2026-08-09 */
.giftProgressTrack.giftProgressSingle{position:relative;display:block;height:10px;overflow:visible;border-radius:999px;background:rgba(255,255,255,.12);margin:5px 0 24px}
.giftProgressSingle .giftProgressFill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--accent,#ef2b2d);transition:width .25s ease}
.giftProgressSingle .giftProgressMark{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}
.giftProgressSingle .giftProgressMark i{display:block;width:12px;height:12px;border-radius:50%;background:#353539;border:2px solid rgba(255,255,255,.72);box-sizing:border-box}
.giftProgressSingle .giftProgressMark.reached i{background:var(--accent,#ef2b2d);border-color:#fff}
.giftProgressSingle .giftProgressMark b{position:absolute;top:15px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;line-height:1;font-weight:800;opacity:.72}
.giftProgressSingle .giftProgressMark.reached b{opacity:1}
.giftProgressSingle .giftProgressMark:last-child{transform:translate(-100%,-50%)}
.giftProgressSingle .giftProgressMark:last-child b{left:auto;right:0;transform:none}
.giftProgressCaption{margin-top:0}

/* 3.0.65 — modern closed-state card */
#closedModal[data-subscription-blocked="0"] .closedSheet{width:min(390px,calc(100% - 32px));padding:28px 22px 22px;border-radius:30px;background:#fff;color:#171a20;box-shadow:0 30px 90px rgba(8,15,28,.28);overflow:hidden}
#closedModal[data-subscription-blocked="0"] .closedStatusIcon{width:118px;height:92px;margin:0 auto 16px;display:grid;place-items:center;position:relative}
#closedModal[data-subscription-blocked="0"] .closedStatusIcon:before{content:"";position:absolute;width:82px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--accent,#ef2b2d) 9%,white);filter:blur(.2px)}
#closedModal[data-subscription-blocked="0"] .closedStatusIcon:after{content:"";position:absolute;top:7px;width:40px;height:25px;border-left:2px solid #626874;border-right:2px solid #626874;transform:perspective(60px) rotateX(-14deg);opacity:.8}
#closedModal[data-subscription-blocked="0"] .closedSign{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:104px;height:42px;padding:0 13px;border-radius:11px;background:var(--accent,#ef2b2d);color:#fff;font-size:16px;font-weight:900;letter-spacing:.8px;transform:rotate(-5deg);box-shadow:0 8px 20px color-mix(in srgb,var(--accent,#ef2b2d) 25%,transparent)}
#closedModal[data-subscription-blocked="0"] h2{font-size:31px;line-height:1.08;letter-spacing:-.6px;margin:0 0 10px;color:#171a20}
#closedModal[data-subscription-blocked="0"] #closedMessage{font-size:16px;line-height:1.45;color:#5f6673;margin:0 auto 18px;max-width:315px}
#closedModal[data-subscription-blocked="0"] .closedNextOpen{margin:0 auto 20px;padding:15px 18px;border-top:1px solid #eceff3;border-bottom:1px solid #eceff3;display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap}
#closedModal[data-subscription-blocked="0"] .closedNextOpen[hidden]{display:none!important}
#closedModal[data-subscription-blocked="0"] .closedNextOpen span{font-size:15px;color:#69707d}
#closedModal[data-subscription-blocked="0"] .closedNextOpen strong{font-size:24px;line-height:1.1;color:var(--accent,#ef2b2d);font-weight:900;letter-spacing:-.3px}
#closedModal[data-subscription-blocked="0"] #closedMenuButton{min-height:58px;border-radius:18px;border:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;background:var(--accent,#ef2b2d);color:#fff;box-shadow:none}
#closedModal[data-subscription-blocked="0"] .closedPreorderLink{min-height:56px;width:100%;margin-top:10px;border:1.5px solid color-mix(in srgb,var(--accent,#ef2b2d) 80%,#fff);border-radius:18px;background:#fff;color:var(--accent,#ef2b2d);align-items:center;justify-content:center;font-weight:850;font-size:16px;padding:0 14px}
#closedModal[data-subscription-blocked="0"] .closedThanks{margin-top:15px;padding:12px 14px;border-radius:15px;background:#f7f8fa;color:#646b76;font-size:14px;font-weight:650}
#closedModal[data-subscription-blocked="0"] .closedArtwork{display:none!important}
@media(max-height:690px){#closedModal[data-subscription-blocked="0"] .closedSheet{padding:18px 18px 16px}#closedModal[data-subscription-blocked="0"] .closedStatusIcon{height:66px;margin-bottom:8px;transform:scale(.82)}#closedModal[data-subscription-blocked="0"] h2{font-size:27px}#closedModal[data-subscription-blocked="0"] #closedMessage{margin-bottom:12px}#closedModal[data-subscription-blocked="0"] .closedNextOpen{padding:10px 14px;margin-bottom:13px}#closedModal[data-subscription-blocked="0"] .closedThanks{display:none}}

/* FoodCore 3.0.70 — заметное пользовательское сообщение при временной остановке */
#closedModal #closedMessage.platformPauseMessage{
  font-size:22px;
  line-height:1.3;
  font-weight:700;
  color:#4f5661;
  margin:14px 0 22px;
}
@media(max-width:380px){
  #closedModal #closedMessage.platformPauseMessage{font-size:20px}
}

/* FoodCore 3.0.73 — clearer gift shelf in cart */
#cartModal .giftInlineBlock{
  margin:22px 0 18px!important;
  padding:18px 0 4px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
#cartModal .giftInlineHead{
  display:block!important;
  padding:0 0 14px!important;
}
#cartModal .giftInlineTitle{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:28px!important;
}
#cartModal .giftInlineTitle>b{
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  margin:0!important;
}
#cartModal .giftInlineIcon{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  line-height:1!important;
  margin:0!important;
  flex:0 0 auto!important;
}
#cartModal .giftInlineHead small{
  display:block!important;
  margin-top:5px!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  opacity:.62!important;
}
#cartModal .giftProgressWrap{
  padding:4px 0 14px!important;
}
#cartModal .giftProgressTrack.giftProgressSingle{
  margin:10px 4px 32px!important;
}
#cartModal .giftProgressZero{
  position:absolute;
  left:0;
  top:15px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  opacity:.62;
  white-space:nowrap;
  transform:none;
}
#cartModal .giftProgressSingle .giftProgressMark b{
  top:17px!important;
  font-size:10px!important;
}
#cartModal .giftProgressCaption{
  margin-top:0!important;
  padding-top:0!important;
  font-size:10px!important;
  line-height:1.3!important;
  align-items:flex-start!important;
}

/* FoodCore 3.0.74 — выбранный подарок без лишней кнопки */
#cartModal .giftCartItem{
  grid-template-columns:64px minmax(0,1fr)!important;
}
#cartModal .giftCartItem .giftItemChange{display:none!important}

/* Шкала уровней подарков: первый порог ближе к началу, последний ближе к концу */
#cartModal .giftProgressSingle .giftProgressMark:first-of-type b{
  left:0;
  transform:none;
}

/* FoodCore 3.0.75 — аккуратный отказ от подарка */
#cartModal .giftProgressZero{display:none!important}
.giftDeclineButton{
  width:100%;
  margin-top:16px;
  padding:13px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  color:inherit;
  font-size:14px;
  font-weight:800;
}
.giftDeclineButton:active{transform:scale(.99)}

.rewardAutoApplied{margin-top:16px;padding:16px;border-radius:16px;background:rgba(255,255,255,.06)}
.rewardAutoApplied h3{margin:0 0 6px}.rewardAutoApplied p{margin:0;opacity:.7}

/* FoodCore 3.0.78 — выбор одной награды из всех открытых уровней */
.rewardChoiceScroller{align-items:stretch}
.rewardDiscountTile{min-height:148px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
.rewardDiscountIcon{height:76px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.08);font-size:34px;font-weight:900}
.rewardDiscountTile.selected .rewardDiscountIcon{background:rgba(28,177,92,.16)}
.giftDeclineInline{display:block;width:100%;margin-top:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:transparent;color:inherit;font-weight:800}

/* FoodCore 3.0.79 — выбранная скидка видна уже в корзине */
#cartModal .rewardCartRow{
  padding-top:10px;
  padding-bottom:10px;
}
#cartModal .rewardCartRow span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
#cartModal .rewardCartRow span small{
  font-size:12px;
  font-weight:700;
  opacity:.65;
}
#cartModal .rewardCartRow b{
  color:#20c56b;
  font-weight:900;
}

/* FoodCore 3.0.80 — все награды видны всегда */
#cartModal .giftMiniTile.locked,
#giftModal .giftMiniTile.locked{
  opacity:.56!important;
  filter:grayscale(1)!important;
  cursor:default!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
#cartModal .giftMiniTile.locked .giftMiniImage img,
#giftModal .giftMiniTile.locked .giftMiniImage img{
  filter:grayscale(1) contrast(.82)!important;
}
#cartModal .giftMiniTile.locked .rewardDiscountIcon,
#giftModal .giftMiniTile.locked .rewardDiscountIcon{
  filter:grayscale(1)!important;
  background:rgba(255,255,255,.06)!important;
}
#cartModal .giftMiniTile.locked .giftMiniState,
#giftModal .giftMiniTile.locked .giftMiniState{
  color:#a5a5a5!important;
}
#cartModal .giftMiniTile.available:not(.selected),
#giftModal .giftMiniTile.available:not(.selected){
  opacity:1!important;
  filter:none!important;
}

/* FoodCore 3.0.88 — product sale price */
.salePrice{display:inline-flex;align-items:baseline;gap:7px;flex-wrap:wrap}.salePrice s,.modalSalePrice s,.searchSuggestionPrice s{color:#8f8f94;font-weight:700;text-decoration-thickness:1.5px}.salePrice b,.modalSalePrice b,.searchSuggestionPrice.hasSale b{color:#f20d18!important;font-weight:900}.productPrice.hasSale>span:last-child{margin-top:4px}.salePrice s,.salePrice b{font-size:inherit}.salePrice--compact{gap:7px}.salePrice--compact s,.salePrice--compact b{font-size:20px}.popularPrice{display:flex;align-items:baseline;min-height:24px}.modalSalePrice{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.modalSalePrice s,.modalSalePrice b{font-size:1em}.searchSuggestionPrice.hasSale{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.searchSuggestionPrice.hasSale s{font-size:10px}.searchSuggestionPrice.hasSale b{font-size:13px}@media(max-width:390px){.salePrice{gap:6px}.salePrice s,.salePrice b{font-size:16px}.salePrice--compact s,.salePrice--compact b{font-size:20px}}

/* FoodCore 3.0.92 — понятное отображение акционного товара в корзине */
.saleCartItem{border-color:rgba(242,13,24,.34)!important;background:linear-gradient(135deg,rgba(242,13,24,.08),var(--card))!important}
.saleCartBadge{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:rgba(242,13,24,.16);border:1px solid rgba(242,13,24,.5);color:#ff3642;font-size:10px;font-weight:900;line-height:1;vertical-align:2px;white-space:nowrap}
.saleCartPrice{display:inline-flex;align-items:baseline;gap:7px;font-weight:850}.saleCartPrice s{color:#8f8f94;text-decoration-thickness:1.5px}.saleCartPrice strong{color:#ff2432;font-weight:950}
.saleRestrictionNotice{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;margin:12px 0 16px;padding:14px;border:1px solid rgba(242,13,24,.42);border-radius:16px;background:rgba(242,13,24,.09)}
.saleRestrictionIcon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent,#f20d18);color:#fff;font-size:20px;font-weight:950;box-shadow:0 7px 18px rgba(242,13,24,.18)}
.saleRestrictionNotice b{display:block;font-size:14px;font-weight:950;line-height:1.25}.saleRestrictionNotice p{margin:5px 0 0;color:var(--muted,#999);font-size:12px;line-height:1.4}
.saleCheckoutItem{border-color:rgba(242,13,24,.28)!important}.saleCheckoutPrice{display:inline-flex;gap:6px;align-items:baseline}.saleCheckoutPrice s{color:#8f8f94}.saleCheckoutPrice b{color:#ff2432;font-weight:900}
@media(max-width:380px){.saleRestrictionNotice{grid-template-columns:36px 1fr;padding:12px;gap:10px}.saleRestrictionIcon{width:36px;height:36px;border-radius:11px;font-size:17px}.saleRestrictionNotice b{font-size:13px}.saleRestrictionNotice p{font-size:11px}.saleCartBadge{font-size:9px;padding:3px 6px}}

/* 3.0.93 — lock page behind cart sheet */
body.cartModalOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}
#cartModal{overscroll-behavior:contain}
#cartModal .sheetCard,#cartModalBody{overscroll-behavior:contain;touch-action:pan-y}

/* FoodCore 3.0.96 — пользовательское описание промокода */
.promoStatus .promoDescription{display:block;margin-top:8px;font-size:.88em;line-height:1.35;opacity:.92;font-weight:500;white-space:pre-wrap}

/* FoodCore 4.12.1 — achievements tiles, detail and unlock */
.achievementsSheet{max-height:88vh;overflow:auto}
.achievementsHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:12px}.achievementsHead small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#8d8e96}.achievementsHead h2{margin:3px 0 0}.achievementsHead>b{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}
.clientAchievementGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.clientAchievementTile{display:grid;gap:12px;align-content:start;min-height:220px;padding:14px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.045));color:#fff;text-align:left}
.clientAchievementTile.locked{opacity:.92}.clientAchievementTile.earned{border-color:rgba(255,194,71,.35);box-shadow:0 8px 24px rgba(255,194,71,.08)}.clientAchievementTile.claimable{border-color:rgba(68,210,120,.45);box-shadow:0 8px 28px rgba(68,210,120,.12)}
.clientAchievementTileTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.clientAchievementIcon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.08);font-size:30px;filter:grayscale(1)}.clientAchievementTile.earned .clientAchievementIcon,.clientAchievementTile.claimable .clientAchievementIcon{filter:none;background:rgba(255,194,71,.13)}.clientAchievementTile.claimable .clientAchievementIcon{background:rgba(68,210,120,.14)}
.clientAchievementBody{display:grid;gap:8px}.clientAchievementBody b{font-size:16px;line-height:1.18}.clientAchievementBody p{margin:0;color:#b3bac5;font-size:12px;line-height:1.36;min-height:48px}.clientAchievementBody small{color:#9aa3af;font-size:11px}
.achievementStateBadge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.achievementStateBadge.earned{background:rgba(255,194,71,.16);color:#ffd36c}.achievementStateBadge.claim{background:rgba(68,210,120,.18);color:#76f1a0}
.achProgress.large{height:7px;margin:0;background:rgba(255,255,255,.09)}.achProgress.large i,.achProgress.detail i{display:block;height:100%;background:linear-gradient(90deg,#ffe27b,#ffb300);border-radius:inherit}.clientAchievementTile.claimable .achProgress.large i{background:linear-gradient(90deg,#87f3ab,#36d16b)}
.achievementRewardBadge{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.07);color:#ffd36c;font-size:11px;font-weight:800;line-height:1.25}
.achievementDetailSheet{max-width:560px}.achievementDetailHero{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center;margin-bottom:14px}.achievementDetailHero small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#99a1ad}.achievementDetailHero h2{margin:4px 0 7px;font-size:28px;line-height:1.08}.achievementDetailHero p{margin:0;color:#bcc3cd;line-height:1.42}.achievementDetailIcon{width:84px;height:84px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.08);font-size:42px}.achievementDetailHero.earned .achievementDetailIcon{background:rgba(255,194,71,.14)}.achievementDetailHero.locked .achievementDetailIcon{filter:grayscale(1)}
.achievementDetailMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.achievementDetailMeta>div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}.achievementDetailMeta span{display:block;margin-bottom:4px;font-size:11px;color:#9ca4af;text-transform:uppercase;letter-spacing:.05em}.achievementDetailMeta b{font-size:14px}.achProgress.detail{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:6px 0 16px}
.achievementDetailReward{display:flex;gap:12px;align-items:flex-start;padding:15px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);margin-bottom:16px}.achievementDetailReward>span{font-size:28px}.achievementDetailReward small{display:block;color:#98a0ab;margin-bottom:3px}.achievementDetailReward b{display:block;font-size:16px}.achievementDetailReward p{margin:7px 0 0;color:#bdc4ce;font-size:13px;line-height:1.38}
.achievementDetailActions{display:grid;gap:10px}.achievementUnlockDialog::backdrop,.sheet::backdrop{background:rgba(0,0,0,.56)}.achievementUnlockSheet{text-align:center;max-width:440px}.achievementUnlockIcon{width:92px;height:92px;margin:0 auto 16px;display:grid;place-items:center;border-radius:28px;background:rgba(255,194,71,.18);font-size:48px}.achievementUnlockSheet small{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#9ca4b0}.achievementUnlockSheet h2{margin:8px 0 10px;font-size:30px;line-height:1.06}.achievementUnlockSheet p{margin:0 0 15px;color:#bdc4ce;line-height:1.42}.achievementUnlockReward{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.06);margin:0 0 18px;color:#ffd36c;font-weight:900}
@media (max-width:680px){.clientAchievementGrid{grid-template-columns:1fr 1fr;gap:10px}.clientAchievementTile{min-height:198px;padding:12px;border-radius:19px}.clientAchievementBody b{font-size:15px}.clientAchievementBody p{font-size:11px;min-height:44px}.achievementDetailHero{grid-template-columns:72px 1fr}.achievementDetailIcon{width:72px;height:72px;font-size:36px}.achievementDetailMeta{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.clientAchievementGrid{grid-template-columns:1fr 1fr}.achievementDetailMeta{grid-template-columns:1fr}.achievementDetailHero h2{font-size:24px}}

.achievementNoReward{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.13);color:#aeb6c2;text-align:center;font-size:13px;margin-bottom:16px}.achievementNoReward.compact{margin:0 0 18px}

/* FoodCore 4.12.2 — achievements grid fit + clear states */
.achievementsSheet{width:min(100%,560px)!important;max-width:560px!important;box-sizing:border-box!important;overflow-x:hidden!important}
.clientAchievementGrid{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;box-sizing:border-box!important}
.clientAchievementTile{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
.clientAchievementTileTop,.clientAchievementBody{min-width:0!important;max-width:100%!important}
.clientAchievementBody b,.clientAchievementBody p,.achievementRewardBadge{overflow-wrap:anywhere;word-break:break-word}
.achievementStateBadge{max-width:100%;min-width:0;flex:0 1 auto;white-space:normal;text-align:center;line-height:1.05;font-size:10px;padding:6px 8px}
@media(max-width:380px){.clientAchievementGrid{gap:8px!important}.clientAchievementTile{padding:10px!important}.clientAchievementIcon{width:52px!important;height:52px!important;font-size:26px!important}.achievementStateBadge{font-size:9px!important;padding:5px 7px!important}}

/* FoodCore 4.12.4 — distinct achievement states + instant claim feedback */
.clientAchievementTile.locked{border-color:rgba(170,180,196,.24)!important;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;box-shadow:none!important}
.clientAchievementTile.opened{border-color:rgba(255,190,45,.62)!important;background:linear-gradient(180deg,rgba(255,190,45,.10),rgba(255,255,255,.035))!important}
.clientAchievementTile.claimable{border-color:rgba(239,68,68,.88)!important;background:linear-gradient(180deg,rgba(239,68,68,.16),rgba(255,255,255,.04))!important;box-shadow:0 8px 28px rgba(239,68,68,.18)!important}
.clientAchievementTile.claimed{border-color:rgba(48,205,112,.72)!important;background:linear-gradient(180deg,rgba(48,205,112,.12),rgba(255,255,255,.035))!important;box-shadow:0 8px 26px rgba(48,205,112,.10)!important}
.achievementStateBadge.progress{background:rgba(157,168,187,.18)!important;color:#d8deea!important}
.achievementStateBadge.opened{background:rgba(255,190,45,.20)!important;color:#ffd76d!important}
.achievementStateBadge.claim{background:rgba(239,68,68,.26)!important;color:#ff8c8c!important}
.achievementStateBadge.claimed{background:rgba(48,205,112,.22)!important;color:#72efa5!important}
.clientAchievementTile.opened .clientAchievementIcon{background:rgba(255,190,45,.16)!important;filter:none!important}
.clientAchievementTile.claimable .clientAchievementIcon{background:rgba(239,68,68,.20)!important;filter:none!important}
.clientAchievementTile.claimed .clientAchievementIcon{background:rgba(48,205,112,.17)!important;filter:none!important}
.clientAchievementTile.locked .achProgress.large i{background:linear-gradient(90deg,#9aa5b7,#c2c9d5)!important}
.clientAchievementTile.opened .achProgress.large i{background:linear-gradient(90deg,#ffe27b,#ffb300)!important}
.clientAchievementTile.claimable .achProgress.large i{background:linear-gradient(90deg,#ff9a9a,#ef4444)!important}
.clientAchievementTile.claimed .achProgress.large i{background:linear-gradient(90deg,#88efaa,#30cd70)!important}


/* FoodCore 4.12.7 — achievement levels */
.clientAchievementIconWrap,.achievementDetailIconWrap,.achievementUnlockIconWrap{position:relative;display:inline-grid;place-items:center;width:max-content}
.achievementLevelBadge{position:absolute;left:-4px;bottom:-6px;z-index:2;padding:4px 7px;border-radius:999px;background:#141922;border:1px solid rgba(255,255,255,.26);color:#fff;font-size:9px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.28)}
.achievementDetailLevel{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:#171d27;border:1px solid rgba(255,255,255,.22);font-size:10px;font-weight:900;white-space:nowrap}
.achievementUnlockIconWrap{margin:0 auto 16px}.achievementUnlockIconWrap .achievementUnlockIcon{margin:0}.achievementUnlockIconWrap>span{position:absolute;bottom:-8px;padding:5px 9px;border-radius:999px;background:#181d27;border:1px solid rgba(255,255,255,.22);font-size:10px;font-weight:900;white-space:nowrap}
.achievementUnlockLevel,.achievementNextLevel{margin:0 0 14px;padding:10px 12px;border-radius:14px;background:rgba(255,194,71,.10);border:1px solid rgba(255,194,71,.22);color:#ffd76d;font-size:12px;font-weight:800;text-align:center}

/* FoodCore 4.13.0 — achievements collection refresh */
.achievementsSheet{width:min(100%,620px)!important;max-width:620px!important;max-height:92vh!important;padding:24px 22px 30px!important;border-radius:30px 30px 0 0!important;overflow:auto!important}
.achievementsHead{align-items:center!important;margin-bottom:22px!important}.achievementsHead small{font-size:11px!important;letter-spacing:.18em!important;color:#9da4b0!important}.achievementsHead h2{font-size:34px!important;line-height:1!important;margin-top:7px!important}.achievementsHead>b{font-size:14px!important;padding:10px 15px!important;background:rgba(255,255,255,.08)!important}
.clientAchievementGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px 12px!important;align-items:start!important}
.clientAchievementTile{min-height:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:9px!important;text-align:center!important;color:#fff!important;overflow:visible!important;opacity:1!important}
.achievementMedal{position:relative;width:min(100%,154px);aspect-ratio:1;display:grid;place-items:center;border-radius:42% 58% 50% 48% / 48% 43% 57% 52%;background:linear-gradient(145deg,#323945,#20252e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.22);transition:transform .18s ease}
.clientAchievementTile:active .achievementMedal{transform:scale(.97)}
.achievementMedalCore{width:66%;height:66%;display:grid;place-items:center;border-radius:36%;background:rgba(255,255,255,.08);font-size:clamp(36px,8vw,58px);filter:grayscale(1);opacity:.55}
.clientAchievementTile.earned .achievementMedal,.clientAchievementTile.opened .achievementMedal{background:linear-gradient(145deg,#705818,#2f291b);box-shadow:inset 0 0 0 2px rgba(255,196,46,.62),0 12px 28px rgba(255,180,0,.11)}
.clientAchievementTile.claimable .achievementMedal{background:linear-gradient(145deg,#783032,#32191c);box-shadow:inset 0 0 0 2px rgba(255,85,91,.8),0 12px 30px rgba(239,68,68,.16)}
.clientAchievementTile.claimed .achievementMedal{background:linear-gradient(145deg,#174d35,#152b23);box-shadow:inset 0 0 0 2px rgba(61,218,126,.72),0 12px 30px rgba(48,205,112,.13)}
.clientAchievementTile.earned .achievementMedalCore,.clientAchievementTile.opened .achievementMedalCore,.clientAchievementTile.claimable .achievementMedalCore,.clientAchievementTile.claimed .achievementMedalCore{filter:none;opacity:1;background:rgba(255,255,255,.10)}
.achievementMedalBadge{position:absolute;right:-3px;top:-7px;max-width:78%;padding:6px 9px;border-radius:999px;background:#e82736;color:white;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;line-height:1;box-shadow:0 5px 12px rgba(0,0,0,.22)}
.clientAchievementTile.claimed .achievementMedalBadge{background:#26ad66}.clientAchievementTile.opened .achievementMedalBadge{background:#b8860b}
.achievementTileTitle{width:100%;font-size:14px;font-weight:850;line-height:1.2;overflow-wrap:anywhere}
.achievementTileProgress{width:82%;height:5px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}.achievementTileProgress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79c8ff,#2677ff)}
.achievementTileProgress.detail{width:100%;height:9px;margin-top:8px;background:rgba(255,255,255,.09)}
#achievementDetailsModal{padding:0!important}#achievementDetailsModal::backdrop{background:rgba(0,0,0,.72)}
.achievementDetailScreen{width:min(100%,620px)!important;max-width:620px!important;min-height:min(92vh,850px);max-height:96vh!important;overflow:auto!important;border-radius:30px 30px 0 0!important;padding:22px 26px calc(28px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#171a20 0%,#0f1115 100%)!important}
.achievementDetailTopbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;font-weight:850;font-size:17px;margin-bottom:16px}.achievementBackBtn{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:36px;line-height:1;display:grid;place-items:center;padding:0 0 5px}
.achievementDetailTitle{font-size:clamp(34px,8vw,54px)!important;line-height:.98!important;margin:8px 0 28px!important;letter-spacing:-.035em!important}
.achievementDetailMedal{width:min(82vw,360px);aspect-ratio:1;margin:0 auto 28px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 28%,#444d5a,#1d222b 70%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 24px 60px rgba(0,0,0,.32)}
.achievementDetailMedal.earned{background:radial-gradient(circle at 34% 28%,#725d1d,#272318 72%);box-shadow:inset 0 0 0 3px rgba(255,196,46,.58),0 24px 60px rgba(255,177,0,.13)}
.achievementDetailMedalCore{width:68%;height:68%;display:grid;place-items:center;border-radius:38%;background:rgba(255,255,255,.08);font-size:clamp(100px,30vw,160px);filter:grayscale(1);opacity:.62}.achievementDetailMedal.earned .achievementDetailMedalCore{filter:none;opacity:1}
.achievementDetailDescription{font-size:18px!important;line-height:1.45!important;text-align:center;color:#aeb7c4!important;margin:0 auto 28px!important;max-width:520px}
.achievementDetailStatusCard{padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);margin-bottom:14px}.achievementDetailStatusCard>small{display:block;color:#9da6b4;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.achievementDetailStatusCard>b{display:block;font-size:20px}.achievementDetailProgressRow{display:flex;justify-content:space-between;gap:12px;margin-top:16px;color:#b9c1cb;font-size:13px}.achievementDetailProgressRow strong{color:#fff}
.achievementDetailReward.modern{margin:0 0 14px!important;padding:18px!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(255,190,45,.12),rgba(255,255,255,.04))!important;border:1px solid rgba(255,190,45,.18)!important}.achievementDetailReward.modern>span{font-size:34px!important}.achievementDetailReward.modern b{font-size:18px!important;color:#ffd36c}.achievementDetailDates{display:grid;gap:6px;padding:14px 4px;color:#8f98a6;font-size:13px}.achievementDetailDates b{color:#dce2ea}
.achievementDetailActions{position:sticky;bottom:-1px;padding-top:12px;background:linear-gradient(180deg,transparent,#101216 35%)}
@media(max-width:520px){.achievementsSheet{padding:22px 16px 28px!important}.achievementsHead h2{font-size:31px!important}.clientAchievementGrid{gap:22px 10px!important}.achievementTileTitle{font-size:13px}.achievementMedal{width:100%}.achievementMedalBadge{font-size:8px;padding:5px 7px}.achievementDetailScreen{padding:18px 20px calc(24px + env(safe-area-inset-bottom))!important}.achievementDetailTitle{margin-bottom:22px!important}.achievementDetailDescription{font-size:16px!important}}
@media(max-width:360px){.clientAchievementGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.achievementTileTitle{font-size:13px}.achievementMedal{max-width:138px}}

/* FoodCore 4.13.1 — achievements geometry, levels and stable detail actions */
.achievementMedal{
  border-radius:50%!important;
  width:min(100%,148px)!important;
  aspect-ratio:1/1!important;
}
.achievementMedalCore{
  border-radius:32%!important;
}
.achievementTileLevel{
  margin-top:-2px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#aeb7c5;
  font-size:10px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.clientAchievementTile.earned .achievementTileLevel,
.clientAchievementTile.opened .achievementTileLevel{color:#ffd66e;background:rgba(255,190,45,.12)}
.clientAchievementTile.claimable .achievementTileLevel{color:#ff9a9f;background:rgba(239,68,68,.13)}
.clientAchievementTile.claimed .achievementTileLevel{color:#82efad;background:rgba(48,205,112,.13)}

.achievementDetailScreen{
  position:relative!important;
  padding-top:18px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
.achievementDetailTopbar{
  position:relative!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  min-height:48px!important;
  margin:0 0 20px!important;
  align-items:center!important;
  column-gap:8px!important;
}
.achievementDetailTopbar>span:nth-child(2){
  min-width:0;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-align:center!important;
}
.achievementBackBtn{
  position:static!important;
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  font-size:34px!important;
  padding:0 0 4px!important;
  outline:none!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.achievementBackBtn:focus,.achievementBackBtn:focus-visible{outline:none!important;box-shadow:none!important}
.achievementDetailTitle{
  margin:0 auto 10px!important;
  max-width:100%!important;
  font-size:clamp(32px,8vw,50px)!important;
  line-height:1.02!important;
  text-align:left!important;
  overflow-wrap:anywhere!important;
}
.achievementDetailLevelPill{
  display:table;
  margin:0 0 22px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,190,45,.13);
  border:1px solid rgba(255,190,45,.2);
  color:#ffd66e;
  font-size:12px;
  font-weight:850;
  line-height:1.1;
}
.achievementDetailMedal{
  width:min(78vw,340px)!important;
  max-width:340px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  margin:0 auto 26px!important;
  overflow:hidden!important;
}
.achievementDetailMedalCore{
  width:68%!important;
  height:68%!important;
  border-radius:34%!important;
}
.achievementDetailActions{
  position:static!important;
  bottom:auto!important;
  padding:8px 0 0!important;
  margin:0!important;
  background:none!important;
}
.achievementDetailActions .primary{
  position:static!important;
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
}
.achievementDetailReward.modern{margin-bottom:16px!important}
.achievementDetailDates{margin-bottom:8px!important}

@media(max-width:520px){
  .achievementsSheet{padding-left:14px!important;padding-right:14px!important}
  .clientAchievementGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px 8px!important}
  .achievementMedal{width:100%!important;max-width:132px!important}
  .achievementTileTitle{font-size:12.5px!important;line-height:1.15!important}
  .achievementTileLevel{font-size:9px!important;padding:4px 7px!important}
  .achievementMedalBadge{right:-2px!important;top:-5px!important;max-width:82%!important}
  .achievementDetailScreen{padding:14px 18px calc(24px + env(safe-area-inset-bottom))!important}
  .achievementDetailTopbar{margin-bottom:16px!important}
  .achievementDetailTitle{font-size:clamp(31px,9vw,44px)!important}
  .achievementDetailMedal{width:min(82vw,330px)!important}
}
@media(max-width:380px){
  .clientAchievementGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 7px!important}
  .achievementMedal{max-width:112px!important}
  .achievementTileTitle{font-size:11.5px!important}
}

/* FoodCore Client Support Center */
.drawerSupportCard{width:calc(100% - 28px);margin:14px 14px 8px;border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,#16181e),#171a20);color:#fff;border-radius:18px;padding:13px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:10px;text-align:left;box-shadow:0 9px 28px color-mix(in srgb,var(--accent) 12%,transparent)}
.drawerSupportIcon{width:34px;height:34px;border-radius:11px;background:var(--accent);display:grid;place-items:center;font-size:22px;font-weight:1000}.drawerSupportText b,.drawerSupportText small{display:block}.drawerSupportText b{font-size:14px;line-height:1.15}.drawerSupportText small{font-size:10px;line-height:1.25;color:#c9cdd4;margin-top:3px}.drawerSupportArrow{font-size:24px;opacity:.7}.drawerSupportBadge{min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center}.drawerSupportBadge[hidden]{display:none!important}
.supportSheet{max-height:92dvh;overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.supportHead{padding-right:42px}.supportHead h2{margin:0;font-size:27px}.supportHead p{margin:7px 0 0;color:#929ba7;line-height:1.4}.supportCreateTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.supportCreateTop h3{margin:0}.supportPlus{width:42px;height:42px;border:0;border-radius:14px;background:var(--accent);color:#fff;font-size:28px;line-height:1}.supportList{display:grid;gap:12px}.supportTicket{width:100%;border:1px solid #303741;background:#171b20;color:#fff;border-radius:18px;padding:15px;text-align:left;display:grid;gap:9px}.supportTicketTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.supportTicketTitle b{display:block;font-size:16px}.supportTicketTitle small{display:block;color:#9099a5;margin-top:4px}.supportStatus{font-size:10px;font-weight:900;padding:6px 9px;border-radius:999px;background:#313842;color:#d9dee5;white-space:nowrap}.supportStatus.new{background:#3d1d21;color:#ff9098}.supportStatus.in_progress{background:#3b3015;color:#ffd76b}.supportStatus.waiting_client{background:#1e3145;color:#7cc8ff}.supportStatus.resolved{background:#17392c;color:#73e2aa}.supportStatus.closed{background:#292d33;color:#959da8}.supportTicketPreview{color:#b7bec8;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supportTicketBottom{display:flex;justify-content:space-between;align-items:center}.supportUnread{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:900}.supportForm{display:grid;gap:14px;margin-top:18px}.supportForm label{display:grid;gap:7px;font-size:13px;font-weight:800}.supportForm select,.supportForm input,.supportForm textarea,.supportComposer textarea{width:100%;border:1px solid #363d46;background:#11151a;color:#fff;border-radius:14px;padding:13px;font:inherit}.supportForm textarea{min-height:130px;resize:vertical}.supportPhotoPick{border:1px dashed #46505c;border-radius:15px;padding:13px;display:flex!important;align-items:center;gap:10px;cursor:pointer}.supportPhotoPick input{display:none}.supportPhotoPick span{font-size:25px}.supportPhotoMeta{color:#929ba7;font-size:12px}.supportChatHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-right:42px}.supportChatHeader h2{margin:0;font-size:23px}.supportChatHeader p{margin:5px 0 0;color:#929ba7;font-size:12px}.supportMessages{display:grid;gap:10px;margin:18px 0}.supportMsg{max-width:86%;padding:11px 12px;border-radius:16px;background:#232830;border:1px solid #333a44}.supportMsg.client{margin-left:auto;background:color-mix(in srgb,var(--accent) 20%,#21181b);border-color:color-mix(in srgb,var(--accent) 40%,#333)}.supportMsg.owner{margin-right:auto}.supportMsg.system{max-width:100%;margin:3px auto;background:transparent;border:0;color:#8e98a6;text-align:center;font-size:12px}.supportMsg p{margin:0;white-space:pre-wrap;line-height:1.45}.supportMsg small{display:block;margin-top:6px;color:#858e99;font-size:10px}.supportAttachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.supportAttachments a{display:block}.supportAttachments img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:10px}.supportComposer{border-top:1px solid #2d333b;padding-top:13px;display:grid;gap:9px}.supportComposer textarea{min-height:74px;resize:none}.supportComposerActions{display:flex;gap:8px}.supportComposerActions button{flex:1}.supportBack{border:0;background:transparent;color:#b8c0ca;font-weight:800;padding:6px 0 14px}.supportReward{background:#173225;border:1px solid #2f6b4d;border-radius:14px;padding:12px;margin:10px 0;color:#8fe5b4}.supportReward b{display:block}.supportEmpty{text-align:center;padding:45px 16px;color:#9099a5}.supportEmpty span{font-size:42px;display:block}.supportEmpty b{display:block;color:#fff;font-size:18px;margin:9px 0 5px}
@media(min-width:800px){#supportModal .sheetCard{width:min(820px,calc(100vw - 80px));max-height:88vh;border-radius:26px}}

/* Support center: send status and confirmation */
.supportCreateStatus{min-height:22px;margin:-4px 2px 0;font-size:13px;line-height:1.35;color:var(--muted,#98a0b2)}
.supportCreateStatus.error{color:#ff6b6b}
.supportCreated{padding:30px 4px 8px;text-align:center}
.supportCreatedIcon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:8px auto 18px;background:#1d7d42;color:#fff;font-size:38px;font-weight:900}
.supportCreated h2{margin:0 0 10px;font-size:30px}
.supportCreated p{margin:0 auto 18px;max-width:520px;color:var(--muted,#98a0b2);line-height:1.5}
.supportCreatedNumber{margin:0 0 24px;color:var(--muted,#98a0b2)}
.supportCreatedNumber b{color:inherit}
.supportCreated .secondary{margin-top:10px}

/* Support attachments preview */
.supportPhotoPreviews{display:flex;gap:9px;overflow-x:auto;padding:2px 0 4px;min-height:0;-webkit-overflow-scrolling:touch}
.supportPhotoPreviews:empty{display:none}
.supportPhotoPreview{flex:0 0 78px;display:grid;gap:5px}
.supportPhotoPreview img{width:78px;height:78px;object-fit:cover;border-radius:12px;border:1px solid #3a424d;background:#11151a}
.supportPhotoPreview small{display:block;max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#929ba7;font-size:9px}
.supportPhotoPreview{position:relative}
.supportPhotoRemove{position:absolute;top:-5px;right:-5px;width:24px;height:24px;border:0;border-radius:999px;background:#ef2b2d;color:#fff;font-size:18px;line-height:22px;font-weight:900;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0008}

/* FoodCore 4.12.98 — support diagnostics */
.supportDiagnostics{margin-top:12px;padding:14px;border:1px solid #343b48;border-radius:16px;background:#11151c;display:flex;gap:12px;align-items:center;justify-content:space-between}.supportDiagnostics>div{display:grid;gap:4px;min-width:0}.supportDiagnostics b{font-size:14px}.supportDiagnostics small{color:#8f98a8;line-height:1.35}.supportDiagnostics button{white-space:nowrap}.supportDiagnostics button.recording{background:#4d1015;border-color:#ef2b2d;color:#fff}@media(max-width:560px){.supportDiagnostics{align-items:stretch;flex-direction:column}.supportDiagnostics button{width:100%}}
/* FoodCore 2026-09-17 — Онигири: Рисинки и вертикальная лента призов */
.riceSheet{background:radial-gradient(circle at 50% 15%,#fff6d8 0,#fff 38%,#f6f7f9 100%);color:#17191d;overflow:hidden}.riceTop{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 46px 0;text-align:center}.riceTop small{display:block;color:#8b7a59;font-size:10px;font-weight:900;letter-spacing:.12em}.riceTop b{font-size:22px}.riceCoin{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff4ad,#e9b838);box-shadow:inset 0 2px #fff8,0 5px 16px #d8a42f55;font-size:23px}.riceHero{text-align:center;margin:12px 0 4px}.riceHero h2{margin:0;font-size:27px}.riceHero p{margin:5px 0;color:#737984}.riceGame{position:relative;width:min(84vw,360px);margin:10px auto}.riceReelWindow{height:350px;overflow:hidden;border-radius:30px;background:linear-gradient(180deg,#eceff3,#fff 20%,#fff 80%,#eceff3);box-shadow:inset 0 0 0 1px #e3e6ea,0 16px 40px #20242b16}.riceReel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.ricePrizeCard{width:76%;height:56px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:7px 12px;border-radius:17px;background:#fff;box-shadow:0 5px 18px #1d243014;opacity:.36;transform:scale(.86);transition:.35s}.ricePrizeCard.active{height:86px;width:88%;opacity:1;transform:scale(1);box-shadow:0 12px 32px #1d243025,0 0 0 2px #f1c84b}.ricePrizeCard img,.ricePrizeCard>span{width:46px;height:46px;border-radius:12px;object-fit:cover;display:grid;place-items:center;background:#fff1b8;font-size:24px}.ricePrizeCard.active img,.ricePrizeCard.active>span{width:68px;height:68px}.ricePrizeCard.active{grid-template-columns:68px minmax(0,1fr)}.ricePrizeCard b{font-size:14px;line-height:1.15}.ricePrizeCard.active b{font-size:17px}.ricePointer{position:absolute;z-index:5;left:-3px;top:50%;translate:0 -50%;color:#ef2b2d;font-size:26px;filter:drop-shadow(0 3px 4px #0002)}.riceSpin{display:block;width:min(84vw,360px);min-height:58px;margin:12px auto 8px;border:0;border-radius:18px;background:linear-gradient(180deg,#ef3442,#d91f2e);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 10px 24px #e5263740}.riceSpin:disabled{background:#c9cdd3;box-shadow:none}.riceActions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.riceActions button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:left;padding:12px;border:1px solid #e4e7eb;border-radius:16px;background:#fff}.riceActions i{grid-row:1/3;font-style:normal;font-size:25px}.riceActions b{font-size:14px}.riceActions small{color:#8a919b}.ricePanel{position:absolute;z-index:20;inset:70px 10px 12px;padding:15px;border-radius:22px;background:#fff;box-shadow:0 20px 60px #0004;overflow:auto}.ricePanelHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ricePanelHead>b{font-size:19px}.ricePanelHead button{border:0;background:#f1f2f4;border-radius:50%;width:36px;height:36px;font-size:21px}.ricePrizeGrid{display:grid;gap:8px}.ricePrizeGrid .ricePrizeCard{width:auto;opacity:1;transform:none}.riceTasks{display:grid;gap:9px}.riceTasks button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border:1px solid #e6e8ec;border-radius:15px;background:#fff;text-align:left}.riceTasks button:disabled{opacity:.5}.riceTasks span{display:grid;gap:3px}.riceTasks small{color:#858c96}.riceTasks em{font-style:normal;font-weight:900;color:#b98b00;white-space:nowrap}

/* FoodCore 4.11.95 — Onigiri arcade prizes, vertical Market-like layout */
#wheelModal{padding:0;background:transparent}
#wheelModal::backdrop{background:rgba(0,0,0,.48)}
#wheelModal .riceSheet{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;transform:none!important;border-radius:0!important;padding:calc(env(safe-area-inset-top) + 12px) 14px calc(env(safe-area-inset-bottom) + 12px)!important;background:linear-gradient(180deg,#ff3f18 0%,#ff5317 52%,#ff7a17 100%)!important;color:#fff;overflow:hidden;display:flex;flex-direction:column}
#wheelModal .sheetClose{top:calc(env(safe-area-inset-top) + 14px);right:16px;background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px)}
.riceBalancePill{position:absolute;z-index:8;right:64px;top:calc(env(safe-area-inset-top) + 13px);min-height:48px;padding:6px 10px 6px 16px;border-radius:15px;background:#fff;color:#161616;display:flex;align-items:center;gap:8px;box-shadow:0 7px 18px rgba(130,38,0,.18)}
.riceBalancePill b{font-size:21px;white-space:nowrap}.riceBalancePill .riceCoin{width:34px;height:34px;font-size:18px}
.riceArcade{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:4px;align-items:center;padding-top:54px;padding-bottom:126px}
.riceGame{width:100%;height:min(72dvh,650px);margin:0;min-width:0;display:grid;align-items:center}
.riceReelWindow{height:100%;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 87%,transparent 100%)}
.riceReel{height:100%;gap:14px;justify-content:center;transition:transform .48s cubic-bezier(.2,.75,.25,1)}
.ricePrizeCard{position:relative;width:78%;height:118px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;background:transparent;box-shadow:none;border-radius:0;opacity:.62;transform:scale(.8) translateY(0);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease;filter:saturate(.85)}
.ricePrizeCard.active{width:96%;height:190px;opacity:1;transform:scale(1);box-shadow:none;filter:none}
.ricePrizeCard img,.ricePrizeCard>span{width:112px;height:92px;border-radius:20px;object-fit:cover;background:#fff;box-shadow:0 12px 24px rgba(126,34,0,.25);font-size:46px}
.ricePrizeCard.active img,.ricePrizeCard.active>span{width:min(58vw,220px);height:138px;border-radius:25px;object-fit:cover;box-shadow:0 18px 35px rgba(126,34,0,.34)}
.ricePrizeCard b{max-width:92%;padding:7px 12px;border-radius:13px;background:rgba(215,37,22,.9);color:#fff;font-size:13px;line-height:1.08;text-align:center;text-transform:uppercase;box-shadow:0 7px 18px rgba(126,34,0,.22)}
.ricePrizeCard.active b{font-size:19px;padding:9px 15px;transform:rotate(-2deg)}
.riceSideMenu{align-self:center;display:grid;gap:28px;z-index:7}.riceSideMenu button{width:86px;padding:0;border:0;background:transparent;color:#fff;display:grid;justify-items:center;gap:5px;text-align:center;text-shadow:0 2px 5px rgba(120,24,0,.3)}
.riceSideMenu i{width:58px;height:58px;display:grid;place-items:center;font-style:normal;font-size:37px;filter:drop-shadow(0 7px 7px rgba(116,27,0,.24))}.riceSideMenu b{font-size:14px;line-height:1.05}.riceSideMenu small{font-size:9px;line-height:1.05;color:#fff4e9}
.riceBottom{position:absolute;z-index:9;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom) + 12px)}
.riceSpin{width:100%;min-height:72px;margin:0;border-radius:22px;background:linear-gradient(180deg,#242424,#090909);font-size:23px;font-style:italic;box-shadow:0 14px 30px rgba(90,20,0,.32);letter-spacing:-.02em}.riceSpin:disabled{background:linear-gradient(180deg,#595959,#2c2c2c);opacity:.72}
.riceSpin span{margin-left:8px}.wheelStatus{min-height:22px;margin:8px 0 2px;color:#fff;text-shadow:0 1px 3px rgba(90,20,0,.35)}.wheelLegal{display:block;color:#fff7ef;text-align:center;font-size:10px;opacity:.9}
#wheelModal .ricePanel{position:absolute;z-index:30;inset:calc(env(safe-area-inset-top) + 70px) 14px calc(env(safe-area-inset-bottom) + 14px);background:#fff;color:#17191d}
@media(max-width:370px){.riceArcade{grid-template-columns:minmax(0,1fr) 76px}.riceSideMenu button{width:74px}.riceSideMenu i{font-size:32px;width:50px;height:50px}.riceSideMenu b{font-size:12px}.ricePrizeCard.active img,.ricePrizeCard.active>span{width:min(56vw,190px);height:120px}.riceSpin{min-height:64px;font-size:20px}}

.riceTaskAuto{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border:1px solid #eee;border-radius:18px;background:#fff}.riceTaskAuto span{display:grid;gap:4px;text-align:left}.riceTaskAuto b{font-size:15px}.riceTaskAuto small{font-size:12px;color:#8d8d8d}.riceTaskAuto em{font-style:normal;font-weight:800;color:#c78d21;white-space:nowrap}.riceGamesSoon{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;gap:10px}.riceGamesSoon>div{font-size:72px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}.riceGamesSoon>b{font-size:21px}.riceGamesSoon>p{margin:0;color:#8b8b8b}

/* Support card aligns with the drawer content width */
#sideDrawer .drawerSupportCard{width:100%!important;margin:14px 0 8px!important;max-width:none!important;}


/* FoodCore 4.13.02 — web/PWA splash matches per-app preview */
.launchSplash:not(.nativeLaunchSplash){background:#fff!important;color:#111!important;padding:24px!important}
.launchSplash:not(.nativeLaunchSplash) .launchSplashLogoOnly{width:100%!important;display:grid!important;place-items:center!important;gap:0!important;transform:none!important}
.launchSplash:not(.nativeLaunchSplash) .launchLogoPending,.launchSplash:not(.nativeLaunchSplash) .launchLogoImage{width:min(220px,52vw)!important;height:min(220px,52vw)!important;border-radius:0!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.launchSplash:not(.nativeLaunchSplash) .launchLogoImage img{width:100%!important;height:100%!important;object-fit:contain!important}
.launchSplash:not(.nativeLaunchSplash) .launchBrand,.launchSplash:not(.nativeLaunchSplash) .launchText,.launchSplash:not(.nativeLaunchSplash) .launchLoader{display:none!important}

/* Disabled preorder dates while the platform is paused */
.dayTabs button.blockedDay{opacity:.38;filter:grayscale(1);cursor:not-allowed;position:relative}.dayTabs button.blockedDay small{display:block;font-size:8px;line-height:1.1;color:#aaa;white-space:normal;margin-top:2px}.dayTabs button.blockedDay:disabled{pointer-events:none}

/* FoodCore 3.18.4 — актуализация корзины перед заказом */
.cartFreshnessNotice{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:2147483000;width:min(520px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;background:rgba(24,25,29,.96);color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:20px;box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transform:translate(-50%,18px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.cartFreshnessNotice.show{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}.cartFreshnessNoticeMain{min-width:0;border:0;background:transparent;color:inherit;padding:12px 4px 12px 12px;display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:10px;align-items:center;text-align:left;cursor:pointer}.cartFreshnessNoticeIcon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(239,37,40,.16);color:#ff4b4d;font-size:25px;font-weight:900}.cartFreshnessNoticeText{min-width:0;display:flex;flex-direction:column;gap:3px}.cartFreshnessNoticeText b{font-size:15px;line-height:1.2}.cartFreshnessNoticeText small{font-size:12px;line-height:1.35;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cartFreshnessNoticeArrow{font-size:28px;line-height:1;color:rgba(255,255,255,.48)}.cartFreshnessNoticeClose{border:0;background:transparent;color:rgba(255,255,255,.58);font-size:25px;line-height:1;cursor:pointer;border-left:1px solid rgba(255,255,255,.08);border-radius:0 20px 20px 0}.cartFreshnessNoticeClose:active{background:rgba(255,255,255,.08)}@media(max-width:520px){.cartFreshnessNotice{bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}.cartFreshnessNoticeMain{grid-template-columns:40px minmax(0,1fr) 18px;padding:10px 2px 10px 10px;gap:9px}.cartFreshnessNoticeIcon{width:40px;height:40px;border-radius:13px;font-size:23px}.cartFreshnessNoticeText b{font-size:14px}.cartFreshnessNoticeText small{font-size:11px}}

/* FoodCore 2026-09-24 — native startup: immediate blur screen, then real menu */
body.nativeStartupLoading .app{
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .22s ease!important;
}
body.nativeStartupLoading.nativeStartupReveal .app{
  opacity:1!important;
  visibility:visible!important;
}
.launchSplash.nativeLaunchSplash{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:visible!important;
  transition:opacity .38s cubic-bezier(.22,.7,.2,1),visibility .38s ease,background .42s ease,backdrop-filter .42s ease,-webkit-backdrop-filter .42s ease!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.launchSplash.nativeLaunchSplash.nativeLaunchSplashVisible{opacity:1!important}
.launchSplash.nativeLaunchSplash.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* Статичный fallback выглядит как уже размытое меню и появляется сразу после логотипа. */
.launchSplash.nativeLaunchSplash::before{
  content:"";
  position:absolute;
  inset:-5%;
  pointer-events:none;
  opacity:0;
  transform:scale(1.03);
  background:
    radial-gradient(46% 18% at 48% 10%,rgba(238,45,50,.44),transparent 72%),
    radial-gradient(38% 18% at 22% 31%,rgba(255,134,72,.52),transparent 74%),
    radial-gradient(40% 18% at 67% 31%,rgba(249,64,64,.48),transparent 74%),
    radial-gradient(27% 14% at 20% 54%,rgba(255,220,225,.24),transparent 74%),
    radial-gradient(25% 14% at 51% 55%,rgba(255,135,94,.38),transparent 74%),
    radial-gradient(28% 14% at 80% 55%,rgba(255,130,91,.34),transparent 74%),
    radial-gradient(35% 10% at 49% 73%,rgba(200,201,214,.16),transparent 76%),
    radial-gradient(31% 14% at 28% 88%,rgba(83,90,137,.16),transparent 76%),
    radial-gradient(28% 14% at 76% 88%,rgba(237,42,48,.25),transparent 76%),
    linear-gradient(180deg,#191a1f 0%,#14151a 42%,#101116 100%);
  filter:blur(18px) saturate(.92) brightness(.88);
  transition:opacity .42s cubic-bezier(.22,.7,.2,1),transform .44s cubic-bezier(.22,.7,.2,1);
}
.launchSplash.nativeLaunchSplash::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.08));
  transition:opacity .38s ease;
}
.launchSplash.nativeLaunchSplash.nativeLaunchSplashBlur{
  background:rgba(18,20,24,.12)!important;
}
.launchSplash.nativeLaunchSplash.nativeLaunchSplashBlur::before{opacity:1;transform:scale(1)}
.launchSplash.nativeLaunchSplash.nativeLaunchSplashBlur::after{opacity:1}
/* До полного скрытия splash сохраняем статичный blur-fallback, чтобы под ним не было видно живую перестройку меню. */
.launchSplash.nativeLaunchSplash.nativeLaunchLiveReady{
  background:rgba(18,20,24,.12)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.launchSplash.nativeLaunchSplash.nativeLaunchLiveReady::before{opacity:1;transform:scale(1)}
.launchSplash.nativeLaunchSplash.nativeLaunchLiveReady::after{opacity:1}
.launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner{
  --loader-accent:var(--accent,var(--launch-accent,#ef2b2d));
  position:relative;
  z-index:2;
  width:118px!important;
  height:118px!important;
  border:0!important;
  border-radius:50%;
  box-sizing:border-box;
  animation:none!important;
  opacity:0;
  transform:scale(.94);
  transition:opacity .28s ease,transform .38s cubic-bezier(.2,.75,.25,1);
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.24));
}
.launchSplash.nativeLaunchSplash.nativeLaunchSpinnerVisible .foodcoreMinimalSpinner{
  opacity:1;
  transform:scale(1);
}
.launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner > span{
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
}
.launchSplash.nativeLaunchSplash .foodcoreSpinnerTrack{
  opacity:1;
  background:rgba(255,255,255,.22);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(50% - 8px),#000 calc(50% - 6px),#000 calc(50% - 2px),transparent 50%);
  mask:radial-gradient(farthest-side,transparent calc(50% - 8px),#000 calc(50% - 6px),#000 calc(50% - 2px),transparent 50%);
}
.launchSplash.nativeLaunchSplash .foodcoreSpinnerGlow,
.launchSplash.nativeLaunchSplash .foodcoreSpinnerTail{
  transform:rotate(-90deg);
  transform-origin:center;
  will-change:transform,filter;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(50% - 8px),#000 calc(50% - 6px),#000 calc(50% - 2px),transparent 50%);
  mask:radial-gradient(farthest-side,transparent calc(50% - 8px),#000 calc(50% - 6px),#000 calc(50% - 2px),transparent 50%);
  animation:foodcoreSpinnerSweep 1.18s cubic-bezier(.55,.1,.45,.9) infinite;
}
.launchSplash.nativeLaunchSplash .foodcoreSpinnerGlow{
  inset:-7px;
  opacity:.85;
  background:conic-gradient(
    from 0deg,
    rgba(255,255,255,0) 0deg,
    rgba(255,255,255,0) 212deg,
    rgba(255,96,54,.08) 248deg,
    color-mix(in srgb,var(--loader-accent) 40%, transparent) 286deg,
    color-mix(in srgb,var(--loader-accent) 82%, white 18%) 326deg,
    rgba(255,255,255,.82) 346deg,
    rgba(255,255,255,0) 359deg,
    rgba(255,255,255,0) 360deg
  );
  filter:blur(8px);
}
.launchSplash.nativeLaunchSplash .foodcoreSpinnerTail{
  background:conic-gradient(
    from 0deg,
    rgba(255,255,255,0) 0deg,
    rgba(255,255,255,0) 218deg,
    color-mix(in srgb,var(--loader-accent) 18%, transparent) 255deg,
    color-mix(in srgb,var(--loader-accent) 55%, transparent) 288deg,
    color-mix(in srgb,var(--loader-accent) 95%, white 5%) 329deg,
    rgba(255,255,255,.98) 350deg,
    rgba(255,255,255,.18) 357deg,
    rgba(255,255,255,0) 360deg
  );
}
@keyframes foodcoreSpinnerSweep{
  0%{transform:rotate(-90deg)}
  100%{transform:rotate(270deg)}
}
@media(max-width:390px){
  .launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner{width:104px!important;height:104px!important}
}
@media (prefers-reduced-motion:reduce){
  .launchSplash.nativeLaunchSplash .foodcoreMinimalSpinner{transition:none!important}
  .launchSplash.nativeLaunchSplash .foodcoreSpinnerGlow,
  .launchSplash.nativeLaunchSplash .foodcoreSpinnerTail{animation-duration:2.1s}
}


/* FoodCore 2026-09-24 — warm resume: return from tray without any splash/white frame */
html.foodcoreWarmResume,html.foodcoreWarmResume body{background:#050505!important}
html.foodcoreWarmResume .launchSplash{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html.foodcoreWarmResume body.addressBoot .app,html.foodcoreWarmResume body.nativeStartupLoading .app{opacity:1!important;visibility:visible!important}

/* FoodCore 2026-09-24 — iOS/PWA warm-resume freeze frame: no white flash */
#foodcoreResumeSnapshot{display:none;position:fixed;inset:0;z-index:2147483600;background:#050505;overflow:hidden;pointer-events:none;opacity:1;transition:opacity .12s linear}
#foodcoreResumeSnapshot.show{display:block}
#foodcoreResumeSnapshot.hide{opacity:0}
#foodcoreResumeSnapshot .foodcoreResumeSnapshotInner{position:absolute;left:0;right:0;top:0;min-height:100vh;background:#050505;pointer-events:none}
html.foodcoreWarmResumeEarly,html.foodcoreWarmResumeEarly body{background:#050505!important}
html.foodcoreWarmResumeEarly #launchSplash{display:none!important;opacity:0!important;visibility:hidden!important}
html.foodcoreWarmResumeEarly body.addressBoot .app{visibility:hidden!important;opacity:0!important}
@media(min-width:481px){#foodcoreResumeSnapshot .foodcoreResumeSnapshotInner{width:min(480px,100%);margin:0 auto}}

/* FoodCore 2026-09-25 — Stories: full image fit, bright viewer, vertical preview cards */
@media (max-width: 767px){
  /* Preview: make stories clearly vertical instead of almost square. */
  #promoRail article,
  .promoRail article{
    flex:0 0 106px!important;
    width:106px!important;
    height:132px!important;
    aspect-ratio:auto!important;
    border-radius:18px!important;
  }
  #promoRail article img,
  .promoRail article img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}
@media (max-width: 380px){
  #promoRail article,
  .promoRail article{
    flex-basis:102px!important;
    width:102px!important;
    height:128px!important;
  }
}

/* Full-screen story: always show the whole uploaded 1080x1920 artwork without side crop. */
.clientStoryMedia{
  background:#090909!important;
}
.clientStoryImage{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#090909!important;
}

/* Do not darken the lower half of the artwork. */
.clientStoryShade{
  background:transparent!important;
  opacity:0!important;
}


/* FoodCore 4.13.28 — единая 3D-монета бонусов без белой подложки */
#sideDrawer .bonusCard>div span{width:52px!important;height:52px!important;min-width:52px!important;background:transparent!important;border-radius:0!important;color:inherit!important;font-size:45px!important;line-height:1!important;display:grid!important;place-items:center!important;filter:drop-shadow(0 5px 5px rgba(0,0,0,.32)) drop-shadow(0 1px 0 rgba(255,255,255,.35))!important;transform:rotate(-7deg)!important;overflow:visible!important}
#loyaltyInfoModal .loyaltyCoin{display:grid!important;place-items:center!important;flex:0 0 68px!important;width:68px!important;height:68px!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:58px!important;font-weight:400!important;line-height:1!important;filter:drop-shadow(0 7px 6px rgba(0,0,0,.35)) drop-shadow(0 1px 0 rgba(255,255,255,.4))!important;transform:rotate(-7deg)!important;overflow:visible!important}
@media(max-width:380px){#loyaltyInfoModal .loyaltyCoin{width:62px!important;height:62px!important;flex-basis:62px!important;font-size:53px!important}}
.dineInClientSimple,.dineInClientTables{margin-top:14px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045)}.dineInClientSimple b,.dineInClientHead b{display:block;font-size:17px}.dineInClientSimple small,.dineInClientHead small{display:block;margin-top:4px;opacity:.68}.dineInTableMap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.dineInTable{min-height:82px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.055);color:inherit}.dineInTable span{display:block;font-size:11px;opacity:.65}.dineInTable b{display:block;margin-top:4px;font-size:20px}.dineInTable.selected{border-color:#ff5a1f;background:rgba(255,90,31,.2);box-shadow:0 0 0 2px rgba(255,90,31,.12)}@media(max-width:420px){.dineInTableMap{grid-template-columns:repeat(2,1fr)}}
.dineInClientSimple,.dineInClientTables{margin-top:14px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045)}.dineInClientSimple b,.dineInClientHead b{display:block;font-size:17px}.dineInClientSimple small,.dineInClientHead small{display:block;margin-top:4px;opacity:.68}.dineInTableMap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.dineInTable{min-height:82px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.055);color:inherit}.dineInTable span{display:block;font-size:11px;opacity:.65}.dineInTable b{display:block;margin-top:4px;font-size:20px}.dineInTable.selected{border-color:#ff5a1f;background:rgba(255,90,31,.2);box-shadow:0 0 0 2px rgba(255,90,31,.12)}@media(max-width:420px){.dineInTableMap{grid-template-columns:repeat(2,1fr)}}
.dineInTable:disabled{opacity:.38;filter:grayscale(1);cursor:not-allowed}.typeSwitch{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important}

/* 4.13.37 visual hall map */
.dineInPlanViewport{margin-top:14px;width:100%;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.025)}.dineInTableMap{position:relative!important;display:block!important;width:100%;min-width:300px;height:330px;margin:0!important;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:22px 22px}.dineInTable{position:absolute;width:64px;height:54px;min-height:0!important;border-radius:14px!important;transform:none;padding:5px;z-index:2}.dineInTable span{font-size:9px!important}.dineInTable b{font-size:15px!important;margin-top:1px!important}.dineInTable:disabled{opacity:.38;filter:grayscale(.35)}.dineInMapMarker{position:absolute;min-width:70px;padding:6px 9px;border:1px dashed rgba(255,255,255,.2);border-radius:9px;font-size:10px;opacity:.7;z-index:1}.dineInSelectedTable{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(255,90,31,.12);font-size:13px}.dineInSelectedTable b{font-size:15px}@media(max-width:420px){.dineInTableMap{height:300px}.dineInTable{width:58px;height:50px}}

/* 4.13.38: stable mobile layout for three order modes */
.typeSwitch{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important}
.typeSwitch button{min-width:0!important;width:100%!important;max-width:100%!important;white-space:normal!important}
.typeSwitch button[data-type="В заведении"]{grid-column:1 / -1!important}

/* FoodCore rice reel: all prize cards same dimensions to prevent snapping */
#wheelModal .riceReel{transition:none;gap:14px}
#wheelModal .riceReel .ricePrizeCard,
#wheelModal .riceReel .ricePrizeCard.active{box-sizing:border-box;flex:0 0 178px;width:96%;height:178px;min-height:178px;max-height:178px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:5px;opacity:1;transform:none;transition:none;filter:none;box-shadow:none}
#wheelModal .riceReel .ricePrizeCard img,
#wheelModal .riceReel .ricePrizeCard>span,
#wheelModal .riceReel .ricePrizeCard.active img,
#wheelModal .riceReel .ricePrizeCard.active>span{box-sizing:border-box;width:min(56vw,210px);height:126px;min-height:126px;max-height:126px;flex:0 0 126px;object-fit:cover;border-radius:22px;transition:none;box-shadow:0 12px 24px rgba(126,34,0,.25)}
#wheelModal .riceReel .ricePrizeCard b,
#wheelModal .riceReel .ricePrizeCard.active b{box-sizing:border-box;max-width:96%;font-size:16px;line-height:1.1;padding:7px 12px;transform:none;transition:none}
@media(max-width:370px){#wheelModal .riceReel .ricePrizeCard img,#wheelModal .riceReel .ricePrizeCard>span,#wheelModal .riceReel .ricePrizeCard.active img,#wheelModal .riceReel .ricePrizeCard.active>span{width:min(54vw,190px);height:126px}}

/* Stable geometry for single-animation spin track */
#wheelModal .riceReel{justify-content:flex-start;will-change:transform;backface-visibility:hidden}
#wheelModal .riceReel .ricePrizeCard{flex-shrink:0}

/* Freeze the winning reel until the user acknowledges the result. */
#wheelModal .riceClaimResult{display:block;width:100%;margin:12px auto 0;padding:15px 20px;border:0;border-radius:18px;background:#19191d;color:white;font-size:18px;font-weight:800;cursor:pointer}
#wheelModal .riceClaimResult:disabled{opacity:.65}

/* Meaningful loyalty history: operation, explanation and timestamp */
#loyaltyInfoModal .loyaltyHistoryRow .loyaltyHistoryText{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;flex:1!important}
#loyaltyInfoModal .loyaltyHistoryRow .loyaltyHistoryText strong{font-size:12px;font-weight:600;color:#e9edf3;overflow-wrap:anywhere}
#loyaltyInfoModal .loyaltyHistoryRow .loyaltyHistoryText small{font-size:11px;color:#aab3c0;line-height:1.3;overflow-wrap:anywhere}
#loyaltyInfoModal .loyaltyHistoryRow .loyaltyHistoryText time{font-size:10px;color:#858f9e}
/* Guest-first browsing: authentication dialog remains optional and dismissible. */
.clientAuthCard{position:relative}
.clientAuthDismiss{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid rgba(148,163,184,.3);border-radius:50%;background:rgba(128,140,155,.16);color:inherit;font-size:26px;line-height:1;display:grid;place-items:center;z-index:5;cursor:pointer}
.clientAuthGate.customAuthScreen .clientAuthDismiss{position:fixed;right:20px;top:max(16px,env(safe-area-inset-top));background:rgba(30,35,45,.8)}



/* Single static viewport background, with adjustable blur. */
html:has(body.hasDecorBackground){background:#090a0c!important}
body.hasDecorBackground{background:#090a0c!important;isolation:isolate!important}
body.hasDecorBackground::before{
  content:""!important;display:block!important;position:fixed!important;
  inset:-44px!important;width:auto!important;height:auto!important;
  background-image:var(--app-bg-image)!important;
  background-size:cover!important;background-position:center!important;
  background-repeat:no-repeat!important;
  filter:blur(var(--app-bg-blur,8px))!important;
  transform:translateZ(0)!important;
  z-index:-2!important;pointer-events:none!important;
  opacity:1!important;transition:none!important;animation:none!important;
}
body.hasDecorBackground::after{
  content:""!important;display:block!important;position:fixed!important;
  inset:0!important;background:rgba(4,5,8,.55)!important;
  z-index:-1!important;pointer-events:none!important;opacity:1!important;
  transition:none!important;animation:none!important;
}
body.hasDecorBackground .app.hasDecorBackground{
  background:transparent!important;background-image:none!important;
  position:relative!important;z-index:0!important;isolation:auto!important;
  overflow:visible!important;
}
body.hasDecorBackground .app.hasDecorBackground::before,
body.hasDecorBackground .app.hasDecorBackground::after{
  content:none!important;display:none!important;
}
body.hasDecorBackground .app.hasDecorBackground>*{position:relative;z-index:1}
body.hasDecorBackground .topbar,
body.hasDecorBackground .workline,
body.hasDecorBackground .categoryDock{background:rgba(5,6,9,.92)!important}

/* Background appearance controls: one stable fixed image, no alternating opacity. */
body.hasDecorBackground::before { filter:blur(var(--app-bg-blur,0px)) brightness(var(--app-bg-brightness,100%))!important;opacity:1!important;transition:none!important;animation:none!important; }
body.hasDecorBackground::after { background:rgba(4,5,8,var(--app-bg-darkness,.15))!important;opacity:1!important;transition:none!important;animation:none!important; }

/* Optional new design settings; no visual changes for existing tenants unless enabled */
html[style*="--foodcore-design-font"] body{font-family:var(--foodcore-design-font)}
html.fc-design-wide .container,html.fc-design-wide .content,html.fc-design-wide main{max-width:none}
html[data-fc-logo-align="center"] .citySelectorLogo,html[data-fc-logo-align="center"] .city-logo{text-align:center;justify-content:center}
html[data-fc-logo-align="right"] .citySelectorLogo,html[data-fc-logo-align="right"] .city-logo{text-align:right;justify-content:flex-end}

/* Custom tenant technical illustrations: only override legacy artwork when uploaded. */
.fcTechnicalHasCustom{background:transparent!important;border-color:transparent!important;box-shadow:none!important;}
.fcTechnicalHasCustom>svg,.fcTechnicalHasCustom>.closedSign{display:none!important}
.fcTechnicalCustomImg{display:block;max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain;margin:auto}
.emptyCartIcon.fcTechnicalHasCustom .fcTechnicalCustomImg{max-height:145px}
.closedStatusIcon.fcTechnicalHasCustom .fcTechnicalCustomImg{max-height:145px}
.successIcon.fcTechnicalHasCustom .fcTechnicalCustomImg{max-height:130px}
.fcTechnicalToastImg{display:inline-block;width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:9px}

/* Live tenant light/dark theme. Scoped to client only, never Admin/login/POS. */
html.fc-tenant-light{color-scheme:light;background:var(--bg)}
html.fc-tenant-dark{color-scheme:dark;background:var(--bg)}
html.fc-tenant-light body,html.fc-tenant-dark body{background:var(--bg);color:var(--text)}
html.fc-tenant-light .app,html.fc-tenant-dark .app{background:var(--bg);color:var(--text)}
html.fc-tenant-light .bottomNav,html.fc-tenant-dark .bottomNav{background:var(--card);border-color:var(--line);color:var(--text)}
html.fc-tenant-light .topbar,html.fc-tenant-dark .topbar{background:var(--bg);border-color:var(--line);color:var(--text)}
html.fc-tenant-light .categoryDock,html.fc-tenant-dark .categoryDock{background:var(--bg);border-color:var(--line)}
html.fc-tenant-light .product,html.fc-tenant-dark .product,html.fc-tenant-light .popularCard,html.fc-tenant-dark .popularCard{background:var(--card);border-color:var(--line);color:var(--text)}
html.fc-tenant-light .product p,html.fc-tenant-dark .product p{color:var(--muted)}


/* FoodCore 2026-10-10: high-contrast light palette for catalog and account drawer.
   Scoped to explicitly selected light mode; existing dark mode remains intact. */
html.fc-tenant-light body:not(.multibrandHome) .products>.product{
  background:#fff!important;color:#202733!important;
  border:1px solid #dce2e9!important;
  border-radius:18px!important;
  box-shadow:0 3px 13px rgba(28,40,60,.07)!important;
}
html.fc-tenant-light body:not(.multibrandHome) .products>.product .productBody{
  background:#fff!important;color:#202733!important;
}
html.fc-tenant-light .products>.product .productImage{
  background:#f4f5f7!important;
}
html.fc-tenant-light .products>.product h3,
html.fc-tenant-light .products>.product .productPrice,
html.fc-tenant-light .products>.product .productPrice b{
  color:#202733!important;
}
html.fc-tenant-light .products>.product p,
html.fc-tenant-light .products>.product .productPrice span{color:#657080!important}
html.fc-tenant-light .popularCard,
html.fc-tenant-light .recommendCard{
  background:#fff!important;color:#202733!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 3px 12px rgba(28,40,60,.06)!important;
}
html.fc-tenant-light .category{color:#657080!important}
html.fc-tenant-light .category.active{color:#222b39!important}
html.fc-tenant-light .bottomNav button{color:#697486!important}
html.fc-tenant-light .bottomNav button.active{color:var(--accent)!important}
html.fc-tenant-light .floatingCart{background:#fff!important;color:var(--accent)!important;border:1px solid #dce2e9!important;box-shadow:0 8px 22px rgba(28,40,60,.16)!important}
/* Drawer uses user-selected template, but content must obey the tenant light mode. */
html.fc-tenant-light #sideDrawer{
  background:#f7f8fa!important;color:#202733!important;
  --drawer-custom-bg:#f7f8fa;
  --drawer-custom-text:#202733;
  --drawer-custom-muted:#667386;
  --drawer-custom-button-bg:#fff;
  --drawer-custom-button-text:#202733;
  --drawer-custom-line:#dce2e9;
}
html.fc-tenant-light #sideDrawer .drawerTop,
html.fc-tenant-light #sideDrawer .drawerRestaurant,
html.fc-tenant-light #sideDrawer .drawerVenueCard,
html.fc-tenant-light #sideDrawer #drawerVenueCard,
html.fc-tenant-light #sideDrawer .drawerContact{
  background:#fff!important;color:#202733!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 2px 10px rgba(28,40,60,.04)!important;
}
html.fc-tenant-light #sideDrawer .drawerTop,
html.fc-tenant-light #sideDrawer .drawerUser,
html.fc-tenant-light #sideDrawer .drawerRestaurant b,
html.fc-tenant-light #sideDrawer .drawerContact b,
html.fc-tenant-light #sideDrawer #drawerVenueCard .drawerVenueCompactLine>b,
html.fc-tenant-light #sideDrawer #drawerVenueCard .drawerVenueCompactHours>b{color:#202733!important}
html.fc-tenant-light #sideDrawer .drawerHint,
html.fc-tenant-light #sideDrawer .drawerRestaurant span,
html.fc-tenant-light #sideDrawer .drawerContact span,
html.fc-tenant-light #sideDrawer #drawerVenueCard .drawerVenueCompactLine>span,
html.fc-tenant-light #sideDrawer .drawerSectionTitle{color:#667386!important}
html.fc-tenant-light #sideDrawer .loyaltyActionGrid button,
html.fc-tenant-light body[class*="drawerTemplate-"] #sideDrawer .loyaltyActionGrid button,
html.fc-tenant-light #sideDrawer .drawerNav button,
html.fc-tenant-light #sideDrawer .drawerNavSmall button{
  background:#fff!important;color:#202733!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 2px 10px rgba(28,40,60,.04)!important;
}
html.fc-tenant-light #sideDrawer .loyaltyActionGrid button b,
html.fc-tenant-light #sideDrawer .drawerNav button b{color:#202733!important}
html.fc-tenant-light #sideDrawer .loyaltyActionGrid button small,
html.fc-tenant-light #sideDrawer .drawerNav button small{color:#667386!important}
html.fc-tenant-light #sideDrawer .bonusCard{box-shadow:0 8px 24px rgba(28,40,60,.10)!important}
html.fc-tenant-light #sideDrawer #drawerVenueCard .drawerBranchChoiceHead>button{
 background:var(--accent)!important;color:#fff!important;border:0!important;
}
html.fc-tenant-light #sideDrawer .drawerClose{color:#202733!important}

/* FoodCore 2026-10-10: light-mode coverage for drawer loyalty counters, orders, profile and checkout. */
html.fc-tenant-light #sideDrawer .loyaltyQuickStats span,
html.fc-tenant-light body[class*="drawerTemplate-"] #sideDrawer .loyaltyQuickStats span{
 background:#fff!important;border:1px solid #dce2e9!important;color:#243044!important;
 box-shadow:0 2px 10px rgba(28,40,60,.05)!important;
}
html.fc-tenant-light #sideDrawer .loyaltyQuickStats span b{color:#232d3b!important}
html.fc-tenant-light #sideDrawer .loyaltyQuickStats span small{color:#667386!important}
/* Sheets and drawers share a coherent light palette without changing dark mode. */
html.fc-tenant-light #ordersModal .ordersSheet,
html.fc-tenant-light #orderDetailsModal .orderDetailsSheet,
html.fc-tenant-light #profileModal .profileSheet,
html.fc-tenant-light #cartModal .sheetCard,
html.fc-tenant-light #cartModal #cartModalBody{
 background:#f7f8fa!important;color:#202733!important;
 --bg:#f7f8fa;--card:#fff;--line:#dce2e9;--muted:#677484;
}
html.fc-tenant-light #ordersModal .ordersSheet .cartTitle,
html.fc-tenant-light #ordersModal .ordersSheet h2,
html.fc-tenant-light #profileModal .profileSheet h2,
html.fc-tenant-light #profileModal .profileSheet .cartTitle,
html.fc-tenant-light #cartModal .sheetCard h2,
html.fc-tenant-light #cartModal .checkoutCardTitle b{color:#202733!important}
html.fc-tenant-light #ordersModal .ordersMonth,
html.fc-tenant-light #ordersModal .orderHistoryTop small,
html.fc-tenant-light #ordersModal .orderItemsPreview,
html.fc-tenant-light #ordersModal .ordersEmpty,
html.fc-tenant-light #ordersModal .ordersLoading,
html.fc-tenant-light #profileModal .profileHint,
html.fc-tenant-light #cartModal .checkoutOrderInfo small,
html.fc-tenant-light #cartModal .checkoutOrderInfo span,
html.fc-tenant-light #cartModal .checkoutCard small{color:#667386!important}
html.fc-tenant-light #ordersModal .orderHistoryCard,
html.fc-tenant-light #orderDetailsModal .orderMeta,
html.fc-tenant-light #cartModal .checkoutCard,
html.fc-tenant-light #cartModal .cartItem,
html.fc-tenant-light #cartModal .summary,
html.fc-tenant-light #cartModal .bonusCheckout{
 background:#fff!important;border:1px solid #dce2e9!important;color:#202733!important;
 box-shadow:0 3px 14px rgba(28,40,60,.05)!important;
}
html.fc-tenant-light #ordersModal .orderHistoryCard.activeOrder{
 border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)!important;
}
html.fc-tenant-light #ordersModal .ordersFilters button,
html.fc-tenant-light #ordersModal .orderHistoryBottom button:not(.primaryMini),
html.fc-tenant-light #ordersModal .ordersRefresh{
 background:#fff!important;color:#202733!important;border:1px solid #dce2e9!important;
}
html.fc-tenant-light #ordersModal .ordersFilters button.active{
 background:#202733!important;color:#fff!important;border-color:#202733!important;
}
html.fc-tenant-light #ordersModal .orderStatus:not(.accepted):not(.cooking):not(.ready):not(.delivery):not(.completed):not(.cancelled){
 background:#edf0f4!important;color:#4a5666!important;
}
html.fc-tenant-light #ordersModal .orderSteps i:not(.done){background:#dce2e9!important}
html.fc-tenant-light #ordersModal .orderHistoryBottom .primaryMini{color:#fff!important}
html.fc-tenant-light #ordersModal .ordersEmpty b{color:#202733!important}
html.fc-tenant-light #profileModal .profileSheet,
html.fc-tenant-light #profileModal .profileSheet label,
html.fc-tenant-light #profileModal .profileSheet p{color:#202733!important}
html.fc-tenant-light #profileModal input,
html.fc-tenant-light #profileModal select,
html.fc-tenant-light #profileModal textarea,
html.fc-tenant-light #cartModal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html.fc-tenant-light #cartModal select,
html.fc-tenant-light #cartModal textarea{
 background:#fff!important;color:#202733!important;border:1px solid #cfd7e2!important;
 -webkit-text-fill-color:#202733!important;
}
html.fc-tenant-light #profileModal input::placeholder,
html.fc-tenant-light #cartModal input::placeholder,
html.fc-tenant-light #cartModal textarea::placeholder{color:#8a95a4!important;-webkit-text-fill-color:#8a95a4!important}
html.fc-tenant-light #profileModal .profileSheet .referralProfileCard{color:#fff!important}
html.fc-tenant-light #profileModal .profileSheet .referralProfileCard p,
html.fc-tenant-light #profileModal .profileSheet .referralProfileCard label{color:#fff!important}
html.fc-tenant-light #cartModal .payOption,
html.fc-tenant-light #cartModal .privateHouseToggle,
html.fc-tenant-light #cartModal .timeSelect,
html.fc-tenant-light #cartModal .asapButton,
html.fc-tenant-light #cartModal .dayTabs button,
html.fc-tenant-light #cartModal .timeSlots span,
html.fc-tenant-light #cartModal .checkoutCardTitle button,
html.fc-tenant-light #cartModal .removePromo{
 background:#fff!important;color:#202733!important;border:1px solid #dce2e9!important;
}
html.fc-tenant-light #cartModal .payOption:has(input:checked),
html.fc-tenant-light #cartModal .timeSlots input:checked+span{border:2px solid var(--accent)!important}
html.fc-tenant-light #cartModal .timeHead{background:#f7f8fa!important}
html.fc-tenant-light #cartModal #closeTimePicker{background:#e9edf2!important;color:#202733!important}
html.fc-tenant-light #cartModal .timeDayPrompt,
html.fc-tenant-light #cartModal .checkoutTimeHint{
 background:#edf3f9!important;border:1px solid #cfdfed!important;color:#35536a!important;
}
html.fc-tenant-light #cartModal .timeDayPrompt b{color:#202733!important}
html.fc-tenant-light #cartModal .timeDayPrompt span{color:#667386!important}
html.fc-tenant-light #cartModal .checkoutOrderItem,
html.fc-tenant-light #cartModal .summary.compact,
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow.total{
 border-color:#dce2e9!important;
}
html.fc-tenant-light #cartModal .checkoutTotalCard .totalSavingRow{background:#eaf8ee!important;border-color:#b6dfbf!important}
html.fc-tenant-light #cartModal .checkoutTotalCard .totalSavingRow b{color:#177a40!important}
html.fc-tenant-light #cartModal .checkoutOrderInfo b,
html.fc-tenant-light #cartModal .checkoutOrderItem strong,
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow span{color:#202733!important}


/* FoodCore 2026-10-10 follow-up: softer cards, readable gift progress, clean checkout light theme */
html.fc-tenant-light .popularCard,
html.fc-tenant-light .recommendCard{
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:0 6px 18px rgba(28,40,60,.08)!important;
}
html.fc-tenant-light .popularCard{padding:10px!important}
html.fc-tenant-light .popularImage,
html.fc-tenant-light .recommendImage{
  border-radius:16px!important;
  background:#eef2f6!important;
}
html.fc-tenant-light .recommendCard{
  padding:8px!important;
  border:1px solid #dce2e9!important;
  background:#fff!important;
}
html.fc-tenant-light .recommendCard>b,
html.fc-tenant-light .recommendCard>span,
html.fc-tenant-light .popularCard h3,
html.fc-tenant-light .popularCard b{color:#202733!important}
html.fc-tenant-light .recommendCard>span{color:#5f6d7d!important}

/* Reward shelf in cart */
html.fc-tenant-light #cartModal .giftInlineBlock{
  margin:12px 0 16px!important;
  padding:14px 0 6px!important;
  border-top:1px solid #e3e9f0!important;
  border-bottom:1px solid #e3e9f0!important;
}
html.fc-tenant-light #cartModal .giftInlineHead div>b,
html.fc-tenant-light #cartModal .giftInlineHead b{color:#202733!important}
html.fc-tenant-light #cartModal .giftInlineHead small,
html.fc-tenant-light #cartModal .giftProgressCaption b,
html.fc-tenant-light #cartModal .giftProgressCaption span{color:#667386!important;opacity:1!important}
html.fc-tenant-light #cartModal .giftProgressTrack,
html.fc-tenant-light #cartModal .giftProgressTrack.giftProgressSingle{
  background:#e9eef4!important;
  box-shadow:inset 0 0 0 1px #d9e1ea!important;
}
html.fc-tenant-light #cartModal .giftProgressSingle .giftProgressFill{
  background:linear-gradient(90deg,#ff4a4f,#f20d18)!important;
  box-shadow:0 0 0 1px rgba(242,13,24,.06),0 4px 12px rgba(242,13,24,.18)!important;
}
html.fc-tenant-light #cartModal .giftProgressSingle .giftProgressMark i{
  background:#cfd7e2!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 1px #cfd7e2!important;
}
html.fc-tenant-light #cartModal .giftProgressSingle .giftProgressMark.reached i{
  background:var(--accent)!important;
  box-shadow:0 0 0 1px rgba(242,13,24,.22)!important;
}
html.fc-tenant-light #cartModal .giftProgressSingle .giftProgressMark b,
html.fc-tenant-light #cartModal .giftProgressZero{color:#667386!important;opacity:1!important}
html.fc-tenant-light #cartModal .giftMiniTile,
html.fc-tenant-light #giftModal .giftMiniTile{
  background:#fff!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 4px 14px rgba(28,40,60,.06)!important;
}
html.fc-tenant-light #cartModal .giftMiniImage,
html.fc-tenant-light #giftModal .giftMiniImage{background:#f1f4f8!important}
html.fc-tenant-light #cartModal .giftMiniName,
html.fc-tenant-light #giftModal .giftMiniName{color:#202733!important}
html.fc-tenant-light #cartModal .giftMiniState,
html.fc-tenant-light #giftModal .giftMiniState{color:var(--accent)!important}
html.fc-tenant-light #cartModal .giftMiniTile.locked,
html.fc-tenant-light #giftModal .giftMiniTile.locked{
  opacity:.88!important;
  filter:none!important;
  background:#f7f8fa!important;
  border-color:#dfe5ec!important;
}
html.fc-tenant-light #cartModal .giftMiniTile.locked .giftMiniImage img,
html.fc-tenant-light #giftModal .giftMiniTile.locked .giftMiniImage img{filter:saturate(.72) brightness(.97)!important}
html.fc-tenant-light #cartModal .giftMiniTile.locked .giftMiniState,
html.fc-tenant-light #giftModal .giftMiniTile.locked .giftMiniState{color:#7b8897!important}
html.fc-tenant-light #cartModal .giftMiniTile.available:not(.selected),
html.fc-tenant-light #giftModal .giftMiniTile.available:not(.selected){
  border-color:rgba(242,13,24,.28)!important;
  box-shadow:0 0 0 1px rgba(242,13,24,.08),0 6px 16px rgba(28,40,60,.06)!important;
}
html.fc-tenant-light #cartModal .giftMiniTile.selected,
html.fc-tenant-light #giftModal .giftMiniTile.selected{
  background:#eefaf3!important;
  border:2px solid #20b66a!important;
  box-shadow:0 0 0 3px rgba(32,182,106,.14)!important;
}

/* Cart summary block */
html.fc-tenant-light #cartModal .checkoutTotalCard,
html.fc-tenant-light #cartModal .checkoutTotalCard .summary.compact{
  background:#fff!important;
  border:1px solid #dce2e9!important;
  border-radius:18px!important;
  box-shadow:0 4px 14px rgba(28,40,60,.05)!important;
}
html.fc-tenant-light #cartModal .checkoutTotalCard .summary.compact{padding:4px 0!important}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow{
  padding:8px 2px!important;
  margin:0!important;
}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow:not(.total){
  border-bottom:1px solid #edf1f5!important;
}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow:last-child{border-bottom:0!important}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow b,
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow strong,
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow.total b{color:#202733!important}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow.total{
  margin-top:2px!important;
  padding-top:12px!important;
}
html.fc-tenant-light #cartModal .checkoutTotalCard .summaryRow.total b{font-size:24px!important;color:var(--accent)!important}

/* Checkout type buttons and address blocks */
html.fc-tenant-light #cartModal .typeSwitch button,
html.fc-tenant-light #cartModal .addressConfirmCard,
html.fc-tenant-light #cartModal .checkoutAddressHead,
html.fc-tenant-light #cartModal .savedAddressCard,
html.fc-tenant-light #cartModal .addressFound,
html.fc-tenant-light #cartModal .addressEdit,
html.fc-tenant-light #cartModal .addressDelete,
html.fc-tenant-light #cartModal .locateButton,
html.fc-tenant-light #cartModal .addressSearchRow button{
  background:#fff!important;
  color:#202733!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 4px 14px rgba(28,40,60,.05)!important;
}
html.fc-tenant-light #cartModal .typeSwitch button.active{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(242,13,24,.22)!important;
}
html.fc-tenant-light #cartModal .addressConfirmCard small,
html.fc-tenant-light #cartModal .checkoutAddressHead span,
html.fc-tenant-light #cartModal .checkoutAddressHead .autoZone,
html.fc-tenant-light #cartModal .savedAddressMain span{color:#667386!important}
html.fc-tenant-light #cartModal .addressConfirmCard b,
html.fc-tenant-light #cartModal .checkoutAddressHead b,
html.fc-tenant-light #cartModal .savedAddressMain b{color:#202733!important}
html.fc-tenant-light #cartModal .addressConfirmActions button:first-child,
html.fc-tenant-light #cartModal .checkoutAddressHead button,
html.fc-tenant-light #cartModal .locateButton,
html.fc-tenant-light #cartModal .addressSearchRow button{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}
html.fc-tenant-light #cartModal .addressConfirmActions button:last-child,
html.fc-tenant-light #cartModal .addressEdit,
html.fc-tenant-light #cartModal .addressDelete{
  background:#fff!important;
  color:#202733!important;
}
html.fc-tenant-light #cartModal .savedAddressMain{color:#202733!important}

/* Light profile buttons and address modals for consistency */
html.fc-tenant-light #profileModal .secondary,
html.fc-tenant-light #profileModal #profileAddresses{
  background:#fff!important;
  color:#202733!important;
  border:1px solid #dce2e9!important;
  box-shadow:0 3px 12px rgba(28,40,60,.05)!important;
}
html.fc-tenant-light #profileModal .profileLogout{
  background:#fff5f5!important;
  color:#e43b45!important;
  border:1px solid #f3c7cb!important;
}
html.fc-tenant-light #addressesModal .savedAddressCard,
html.fc-tenant-light #addressesModal .addressEmpty,
html.fc-tenant-light #addressModal .addressFound,
html.fc-tenant-light #addressModal .addressResultCard{
  background:#fff!important;
  color:#202733!important;
  border:1px solid #dce2e9!important;
}
html.fc-tenant-light #addressModal .addressResultItem{border-bottom:1px solid #edf1f5!important}
html.fc-tenant-light #addressModal .addressResultItem small{color:#667386!important}
html.fc-tenant-light #addressModal .addressResultItem strong{color:#202733!important}

/* FoodCore desktop stories: spacious viewer, mobile layout remains unchanged. */
.desktopStoryBackdrop,.desktopStoryArrow{display:none}
@media (min-width:768px) and (pointer:fine){
  #clientStoryViewer.clientStoryDialog{
    position:fixed!important;inset:0!important;display:none;
    width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:0!important;border:0!important;background:rgba(6,8,15,.74)!important;
    overflow:hidden!important;box-sizing:border-box;
  }
  #clientStoryViewer.clientStoryDialog[open]{display:flex!important;align-items:center;justify-content:center}
  #clientStoryViewer.clientStoryDialog::backdrop{background:rgba(2,4,10,.86)!important}
  #clientStoryViewer .desktopStoryBackdrop{display:block;position:absolute;inset:-36px;z-index:0;overflow:hidden;pointer-events:none}
  #clientStoryViewer .desktopStoryBackdrop img{width:100%;height:100%;object-fit:cover;filter:blur(44px) brightness(.38) saturate(.85);transform:scale(1.08)}
  #clientStoryViewer .clientStoryCard{
    position:relative!important;inset:auto!important;z-index:1!important;
    width:min(calc(90dvh * .5625),calc(100vw - 210px),630px)!important;
    height:90dvh!important;max-height:1040px!important;
    margin:auto!important;border-radius:18px!important;
    overflow:hidden!important;background:#101015!important;
    box-shadow:0 24px 90px rgba(0,0,0,.55)!important;
  }
  #clientStoryViewer .clientStoryMedia{background:#101015!important}
  #clientStoryViewer .clientStoryImage{object-fit:contain!important;background:transparent!important}
  #clientStoryViewer .clientStoryTop{background:#101015!important}
  #clientStoryViewer .desktopStoryArrow{
    display:grid!important;place-items:center;position:absolute;top:50%;transform:translateY(-50%);z-index:3;
    width:52px;height:52px;border:1px solid rgba(255,255,255,.22);border-radius:50%;
    color:#fff;background:rgba(25,28,35,.78);backdrop-filter:blur(12px);font:400 38px/1 Arial,sans-serif;cursor:pointer;
  }
  #clientStoryViewer .desktopStoryArrowPrev{left:max(16px,calc(50% - min(45dvh * .5625, (100vw - 210px) / 2, 315px) - 79px))}
  #clientStoryViewer .desktopStoryArrowNext{right:max(16px,calc(50% - min(45dvh * .5625, (100vw - 210px) / 2, 315px) - 79px))}
  #clientStoryViewer .desktopStoryArrow:hover{background:rgba(65,69,82,.95)}
  #clientStoryViewer .desktopStoryArrow:disabled{opacity:.28;cursor:default}
}

/* 2026-10-11: panoramic editorial desktop story viewer. */
.desktopStoryWing{display:none}
@media (min-width:768px) and (pointer:fine){
  #clientStoryViewer.clientStoryDialog{isolation:isolate;background:#10111a!important}
  #clientStoryViewer .desktopStoryBackdrop{inset:0!important;opacity:1!important}
  #clientStoryViewer .desktopStoryBackdrop img{filter:blur(15px) brightness(.58) saturate(1.12)!important;transform:scale(1.2)!important}
  #clientStoryViewer .desktopStoryBackdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,14,24,.40),transparent 30%,transparent 70%,rgba(13,14,24,.40))}
  #clientStoryViewer .desktopStoryWing{display:block;position:absolute;z-index:1;top:5%;height:90%;width:clamp(160px,27vw,490px);overflow:hidden;opacity:.85;pointer-events:none;border-radius:26px;box-shadow:0 20px 70px #0005}
  #clientStoryViewer .desktopStoryWingLeft{right:calc(50% + min(46dvh * .5625, (100vw - 150px) / 2, 340px) + 22px)}
  #clientStoryViewer .desktopStoryWingRight{left:calc(50% + min(46dvh * .5625, (100vw - 150px) / 2, 340px) + 22px)}
  #clientStoryViewer .desktopStoryWing img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(12px) brightness(.66) saturate(1.18);transform:scale(1.3)}
  #clientStoryViewer .desktopStoryWing:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1314205c,transparent 65%)}
  #clientStoryViewer .clientStoryCard{width:min(calc(92dvh * .5625),calc(100vw - 150px),680px)!important;height:92dvh!important;max-height:none!important;border-radius:22px!important;box-shadow:0 25px 100px #000a!important}
  #clientStoryViewer .clientStoryImage{object-fit:cover!important}
  #clientStoryViewer .clientStoryTop{background:linear-gradient(#11131c, #11131c)!important}
  #clientStoryViewer .desktopStoryArrow{z-index:4!important;top:50%!important;background:rgba(23,26,38,.9)!important}
  #clientStoryViewer .desktopStoryArrowPrev{left: max(12px, calc(50% - min(46dvh * .5625, (100vw - 150px)/2, 340px) - 76px))!important}
  #clientStoryViewer .desktopStoryArrowNext{right:max(12px, calc(50% - min(46dvh * .5625, (100vw - 150px)/2, 340px) - 76px))!important}
}
@media (min-width:768px) and (pointer:fine) and (max-width:980px){
  #clientStoryViewer .desktopStoryWing{width:20vw;opacity:.65}
}


/* 2026-10-11 refined desktop story carousel previews */
@media (min-width:768px) and (pointer:fine){
  #clientStoryViewer.clientStoryDialog{background:radial-gradient(circle at center,rgba(43,47,58,.48),rgba(10,12,18,.96) 74%)!important;overflow:hidden!important}
  #clientStoryViewer .desktopStoryBackdrop{inset:-2%!important;opacity:1!important}
  #clientStoryViewer .desktopStoryBackdrop img{width:100%!important;height:100%!important;object-fit:cover!important;filter:blur(30px) brightness(.34) saturate(1.1)!important;transform:scale(1.18)!important}
  #clientStoryViewer .desktopStoryHud{position:absolute;z-index:6;top:16px;left:50%;transform:translateX(-50%);width:min(calc(100vw - 120px),1280px);display:flex;align-items:center;gap:16px}
  #clientStoryViewer .desktopStoryProgressWide{flex:1;height:4px!important;padding-right:0!important;gap:6px!important}
  #clientStoryViewer .desktopStoryProgressWide span{background:rgba(255,255,255,.18)!important;height:4px!important}
  #clientStoryViewer .desktopStoryProgressWide i{background:#fff!important;box-shadow:0 0 10px rgba(255,255,255,.25)}
  #clientStoryViewer .desktopStoryHud .clientStoryClose{position:relative!important;top:auto!important;right:auto!important;flex:0 0 auto;width:40px!important;height:40px!important;background:rgba(20,23,31,.76)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(14px)!important}
  #clientStoryViewer .clientStoryTop{display:none!important}
  #clientStoryViewer .clientStoryCard.desktopStoryCenterCard{position:relative!important;z-index:5!important;width:min(calc(88dvh * .5625),30vw,580px)!important;height:88dvh!important;max-height:940px!important;border-radius:26px!important;overflow:hidden!important;background:#11131b!important;box-shadow:0 35px 120px rgba(0,0,0,.55)!important;transition:transform .28s ease,box-shadow .28s ease}
  #clientStoryViewer .clientStoryImage{object-fit:cover!important}
  #clientStoryViewer .desktopStoryPreview{display:flex;position:absolute;z-index:3;top:50%;transform:translateY(-50%) scale(.92);width:clamp(180px,18vw,280px);height:min(72dvh,760px);padding:0;border:0;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.05);box-shadow:0 20px 80px rgba(0,0,0,.36);cursor:pointer;transition:transform .28s ease,opacity .28s ease,box-shadow .28s ease;backdrop-filter:blur(2px)}
  #clientStoryViewer .desktopStoryPreview:hover{transform:translateY(-50%) scale(.95);box-shadow:0 26px 90px rgba(0,0,0,.44)}
  #clientStoryViewer .desktopStoryPreview.is-empty{opacity:.08;cursor:default;pointer-events:none}
  #clientStoryViewer .desktopStoryPreviewLeft{left:max(18px,calc(50% - min(calc(88dvh * .5625),30vw,580px)/2 - clamp(180px,18vw,280px) - 32px))}
  #clientStoryViewer .desktopStoryPreviewRight{right:max(18px,calc(50% - min(calc(88dvh * .5625),30vw,580px)/2 - clamp(180px,18vw,280px) - 32px))}
  #clientStoryViewer .desktopStoryPreviewImageWrap{position:absolute;inset:0;display:block}
  #clientStoryViewer .desktopStoryPreview img{width:100%;height:100%;object-fit:cover;filter:blur(1.6px) brightness(.82) saturate(1.02);transform:scale(1.04)}
  #clientStoryViewer .desktopStoryPreviewVeil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,18,.30),rgba(10,12,18,.08) 28%,rgba(10,12,18,.08) 72%,rgba(10,12,18,.30)),linear-gradient(0deg,rgba(10,12,18,.25),transparent 34%,transparent 66%,rgba(10,12,18,.25));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
  #clientStoryViewer .desktopStoryPreviewArrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(18,21,29,.78);color:#fff;font:400 31px/1 Arial,sans-serif;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}
  #clientStoryViewer .desktopStoryPreviewLeft .desktopStoryPreviewArrow{right:14px}
  #clientStoryViewer .desktopStoryPreviewRight .desktopStoryPreviewArrow{left:14px}
  #clientStoryViewer .desktopStoryArrow,#clientStoryViewer .desktopStoryWing{display:none!important}
}
@media (min-width:768px) and (pointer:fine) and (max-width:980px){
  #clientStoryViewer .desktopStoryHud{width:min(calc(100vw - 42px),1080px)}
  #clientStoryViewer .desktopStoryPreview{width:17vw;height:min(62dvh,620px)}
  #clientStoryViewer .clientStoryCard.desktopStoryCenterCard{width:min(calc(84dvh * .5625),42vw,470px)!important;height:84dvh!important}
}


/* 2026-10-11 smoother desktop story transitions */
@media (min-width:768px) and (pointer:fine){
  #clientStoryViewer.story-transition-next .clientStoryCard.desktopStoryCenterCard{animation:storyCenterInNext .36s cubic-bezier(.22,.72,.2,1) both}
  #clientStoryViewer.story-transition-prev .clientStoryCard.desktopStoryCenterCard{animation:storyCenterInPrev .36s cubic-bezier(.22,.72,.2,1) both}
  #clientStoryViewer.story-transition-next .desktopStoryPreviewLeft{animation:storySideSoft .34s ease both}
  #clientStoryViewer.story-transition-next .desktopStoryPreviewRight{animation:storySideInNext .36s cubic-bezier(.22,.72,.2,1) both}
  #clientStoryViewer.story-transition-prev .desktopStoryPreviewRight{animation:storySideSoft .34s ease both}
  #clientStoryViewer.story-transition-prev .desktopStoryPreviewLeft{animation:storySideInPrev .36s cubic-bezier(.22,.72,.2,1) both}
  #clientStoryViewer.story-transition-next .desktopStoryBackdrop img,
  #clientStoryViewer.story-transition-prev .desktopStoryBackdrop img{animation:storyBackdropShift .42s ease both}
  #clientStoryViewer.story-transition-next .desktopStoryProgressWide .current i,
  #clientStoryViewer.story-transition-prev .desktopStoryProgressWide .current i{will-change:width}
  @keyframes storyCenterInNext{0%{opacity:.2;transform:translateX(34px) scale(.972)}100%{opacity:1;transform:translateX(0) scale(1)}}
  @keyframes storyCenterInPrev{0%{opacity:.2;transform:translateX(-34px) scale(.972)}100%{opacity:1;transform:translateX(0) scale(1)}}
  @keyframes storySideInNext{0%{opacity:.08;transform:translateY(-50%) translateX(26px) scale(.86)}100%{opacity:1;transform:translateY(-50%) translateX(0) scale(.92)}}
  @keyframes storySideInPrev{0%{opacity:.08;transform:translateY(-50%) translateX(-26px) scale(.86)}100%{opacity:1;transform:translateY(-50%) translateX(0) scale(.92)}}
  @keyframes storySideSoft{0%{opacity:.45;filter:saturate(.92)}100%{opacity:1;filter:saturate(1)}}
  @keyframes storyBackdropShift{0%{opacity:.72;transform:scale(1.24)}100%{opacity:1;transform:scale(1.18)}}
}

/* 2026-10-11: No phantom cards at the carousel edges; progress uses compositor transforms. */
#clientStoryViewer .desktopStoryPreview.is-empty{display:none!important}
#clientStoryViewer .desktopStoryProgressWide .current i{transition:none!important;will-change:transform!important;transform-origin:left center!important}
@media(prefers-reduced-motion:reduce){#clientStoryViewer .desktopStoryPreview,#clientStoryViewer .clientStoryCard.desktopStoryCenterCard{animation:none!important}}


/* 2026-10-11 neutral branded background for dark client site/app */
body:not(.multibrandHome):not(.hasDecorBackground),
body.multibrandRestaurant{
  background:
    radial-gradient(900px 420px at 14% 0%, rgba(242,79,35,.14) 0%, rgba(242,79,35,0) 58%),
    radial-gradient(760px 360px at 88% 16%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 52%),
    radial-gradient(640px 300px at 52% 100%, rgba(190,204,220,.05) 0%, rgba(190,204,220,0) 50%),
    linear-gradient(180deg,#181c21 0%,#111419 38%,#0c0f13 100%)!important;
  background-attachment:fixed!important;
  color:var(--text);
  isolation:isolate;
}
body:not(.multibrandHome):not(.hasDecorBackground)::before,
body.multibrandRestaurant::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  opacity:.5;
  background:
    radial-gradient(circle at 22% 24%, rgba(255,255,255,.045) 0 2px, transparent 3px) 0 0/38px 38px,
    radial-gradient(circle at 70% 58%, rgba(255,255,255,.03) 0 1.6px, transparent 2.6px) 0 0/44px 44px,
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0));
}
body:not(.multibrandHome):not(.hasDecorBackground)::after,
body.multibrandRestaurant::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:linear-gradient(180deg, rgba(7,9,12,.10), rgba(7,9,12,.22));
}
body:not(.multibrandHome):not(.hasDecorBackground) .app,
body:not(.multibrandHome):not(.hasDecorBackground) .desktopWebHeader,
body:not(.multibrandHome):not(.hasDecorBackground) main,
body.multibrandRestaurant .app,
body.multibrandRestaurant .desktopWebHeader,
body.multibrandRestaurant main{
  background:transparent!important;
}
body:not(.multibrandHome):not(.hasDecorBackground) .topbar,
body:not(.multibrandHome):not(.hasDecorBackground) .workline,
body:not(.multibrandHome):not(.hasDecorBackground) .categoryDock,
body.multibrandRestaurant .topbar,
body.multibrandRestaurant .workline,
body.multibrandRestaurant .categoryDock{
  background:rgba(11,13,17,.86)!important;
  backdrop-filter:blur(16px);
}
body:not(.multibrandHome):not(.hasDecorBackground) .section,
body:not(.multibrandHome):not(.hasDecorBackground) .menuSection,
body:not(.multibrandHome):not(.hasDecorBackground) .categoryBlock,
body.multibrandRestaurant .section,
body.multibrandRestaurant .menuSection,
body.multibrandRestaurant .categoryBlock{
  background:transparent!important;
}
@media (max-width:767px){
  body:not(.multibrandHome):not(.hasDecorBackground),
  body.multibrandRestaurant{
    background:
      radial-gradient(560px 240px at 14% 0%, rgba(242,79,35,.12) 0%, rgba(242,79,35,0) 56%),
      radial-gradient(420px 220px at 90% 14%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 50%),
      linear-gradient(180deg,#171b20 0%,#101318 42%,#0b0e12 100%)!important;
  }
  body:not(.multibrandHome):not(.hasDecorBackground)::before,
  body.multibrandRestaurant::before{opacity:.34;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));}
}


/* 2026-10-11 merged fix: desktop cart label centered, counter restored, bonus coin stable */
@media (min-width:768px){
  .categoryDock .floatingCart{padding:0 16px!important;justify-content:center!important;align-items:center!important;}
  .categoryDock .floatingCart:before{margin:0!important;text-align:center!important;line-height:1.2!important;}
  .categoryDock .floatingCart.cartIsEmpty>b,
  .categoryDock .floatingCart>#cartCount:empty{display:none!important;}
  .categoryDock .floatingCart:not(.cartIsEmpty)>#cartCount:not(:empty){
    position:absolute!important;top:-8px!important;right:9px!important;
    display:grid!important;place-items:center!important;line-height:1!important;
    min-width:24px!important;height:24px!important;
  }
}
@media (min-width:960px){
  .categoryDock #cartBar.floatingCart{
    position:relative!important;display:flex!important;grid-template-columns:none!important;
    align-items:center!important;justify-content:center!important;
    width:154px!important;min-width:154px!important;flex:0 0 154px!important;
    height:48px!important;padding:0!important;gap:0!important;
    overflow:visible!important;
  }
  .categoryDock #cartBar.floatingCart::before{
    content:"Корзина"!important;position:absolute!important;left:50%!important;top:50%!important;
    transform:translate(-50%,-50%)!important;display:block!important;
    width:max-content!important;margin:0!important;padding:0!important;
    font-size:15px!important;line-height:1!important;text-align:center!important;
    font-weight:800!important;white-space:nowrap!important;order:unset!important;
  }
  .categoryDock #cartBar.floatingCart #cartCount{
    position:absolute!important;top:-9px!important;right:8px!important;left:auto!important;
    transform:none!important;order:unset!important;display:grid!important;place-items:center!important;
    min-width:25px!important;width:auto!important;height:25px!important;padding:0 6px!important;
    margin:0!important;border-radius:999px!important;border:2px solid #232323!important;
    background:#fff!important;color:var(--accent)!important;font-size:12px!important;
    font-weight:900!important;line-height:1!important;z-index:3!important;
  }
  .desktopWebAccountActions button[data-desktop-action="loyalty"]>span{
    display:inline-grid!important;place-items:center!important;
    width:24px!important;height:24px!important;min-width:24px!important;
    border-radius:50%!important;background:linear-gradient(145deg,#ffdb68,#f3a51e)!important;
    border:2px solid #f7bf44!important;box-shadow:inset 0 0 0 2px #ffe5a2,0 1px 4px #0004!important;
    font-size:0!important;line-height:1!important;vertical-align:middle!important;
  }
  .desktopWebAccountActions button[data-desktop-action="loyalty"]>span::before{
    content:"₽"!important;display:block!important;color:#8e5300!important;font-size:15px!important;
    font-family:Arial,sans-serif!important;font-weight:900!important;line-height:1!important;
  }
}
#loyaltyInfoModal .loyaltyBalanceCard .loyaltyCoin{
  position:relative!important;display:block!important;box-sizing:border-box!important;
  flex:0 0 58px!important;width:58px!important;height:58px!important;
  border:3px solid #ffed92!important;border-radius:50%!important;
  background:radial-gradient(circle at 31% 25%,#fff2a5 0%,#ffd45a 28%,#efac1f 65%,#b96b08 100%)!important;
  box-shadow:inset 0 0 0 3px #db9116,inset 0 0 0 5px rgba(255,242,156,.85),0 5px 13px rgba(0,0,0,.22)!important;
  transform:none!important;filter:none!important;overflow:hidden!important;
}
#loyaltyInfoModal .loyaltyBalanceCard .loyaltyCoin::after{
  content:'₽';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#9e5a05;font-family:Arial,Helvetica,sans-serif;font-size:29px;font-weight:900;
  line-height:1;text-shadow:0 1px 0 rgba(255,242,170,.8);
}
@media(max-width:380px){#loyaltyInfoModal .loyaltyBalanceCard .loyaltyCoin{flex-basis:52px!important;width:52px!important;height:52px!important}#loyaltyInfoModal .loyaltyBalanceCard .loyaltyCoin::after{font-size:26px}}


/* 2026-10-11 v3 stronger neutral site background so it is visible on desktop and restaurant pages */
body:not(.multibrandHome):not(.hasDecorBackground) .app,
body.multibrandRestaurant .app{
  min-height:100vh!important;
  background:
    radial-gradient(1100px 520px at 12% -4%, rgba(242,79,35,.16) 0%, rgba(242,79,35,0) 56%),
    radial-gradient(880px 420px at 88% 10%, rgba(255,255,255,.065) 0%, rgba(255,255,255,0) 52%),
    radial-gradient(760px 380px at 50% 100%, rgba(178,194,214,.06) 0%, rgba(178,194,214,0) 54%),
    linear-gradient(180deg,#1a1f25 0%,#12161b 42%,#0c1014 100%)!important;
  background-attachment:fixed!important;
}
body:not(.multibrandHome):not(.hasDecorBackground) .desktopWebHeader,
body.multibrandRestaurant .desktopWebHeader{
  background:linear-gradient(180deg, rgba(15,18,24,.92), rgba(15,18,24,.82))!important;
  backdrop-filter:blur(18px)!important;
}
body:not(.multibrandHome):not(.hasDecorBackground) .desktopWebTopLinks,
body:not(.multibrandHome):not(.hasDecorBackground) .desktopWebMainRow,
body.multibrandRestaurant .desktopWebTopLinks,
body.multibrandRestaurant .desktopWebMainRow{
  background:transparent!important;
}
body:not(.multibrandHome):not(.hasDecorBackground) .categoryBlock,
body:not(.multibrandHome):not(.hasDecorBackground) .menuSection,
body:not(.multibrandHome):not(.hasDecorBackground) .section,
body.multibrandRestaurant .categoryBlock,
body.multibrandRestaurant .menuSection,
body.multibrandRestaurant .section{
  background:transparent!important;
}
body:not(.multibrandHome):not(.hasDecorBackground) .products,
body.multibrandRestaurant .products{
  background:transparent!important;
}

/* FoodCore website background configured per establishment in Admin */
@media(min-width:960px){
  html:has(body.fcSiteBackgroundEnabled){background:#14181d!important}
  body.fcSiteBackgroundEnabled{background:#14181d!important}
  body.fcSiteBackgroundEnabled::before{content:""!important;display:block!important;position:fixed!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(rgba(12,16,22,.42),rgba(12,16,22,.56)),var(--fc-site-background) center / cover no-repeat!important;filter:none!important;opacity:1!important}
  body.fcSiteBackgroundEnabled .app,body.fcSiteBackgroundEnabled main,body.fcSiteBackgroundEnabled .menuSection,body.fcSiteBackgroundEnabled .categoryBlock,body.fcSiteBackgroundEnabled .section{background:transparent!important}
  body.fcSiteBackgroundEnabled .desktopWebHeader{background:rgba(13,16,22,.93)!important}
}
@media(min-width:960px){
 body.fcSiteBackgroundEnabled:not(.multibrandHome){background-image:linear-gradient(rgba(12,16,22,.36),rgba(12,16,22,.52)),var(--fc-site-background)!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
 body.fcSiteBackgroundEnabled:not(.multibrandHome)::before{display:none!important}
 body.fcSiteBackgroundEnabled:not(.multibrandHome) .app{background:transparent!important}
}

/* Website background: preserve whole composition without zoom or crop */
@media (min-width:960px){
 body.fcSiteBackgroundEnabled:not(.multibrandHome){
   background-color:#15191f!important;
   background-image:linear-gradient(rgba(12,16,22,.24),rgba(12,16,22,.42)),var(--fc-site-background)!important;
   background-size:100% 100%,contain!important;
   background-position:center center!important;
   background-repeat:no-repeat!important;
   background-attachment:fixed!important;
 }
}

/* Custom tenant desktop website header background, independent of page background */
@media(min-width:960px){
 body.fcSiteHeaderBackgroundEnabled .desktopWebHeader{
   background-image:linear-gradient(90deg,rgba(7,10,15,.65),rgba(7,10,15,.45)),var(--fc-site-header-background)!important;
   background-position:center center!important;
   background-size:cover!important;
   background-repeat:no-repeat!important;
   background-color:#11161d!important;
 }
 body.fcSiteHeaderBackgroundEnabled .desktopWebTopLinks,
 body.fcSiteHeaderBackgroundEnabled .desktopWebMainRow{background:transparent!important}
}


/* FoodCore 4.12.01 — modern product modal with visible recommendations and elegant scroll hint */
#productModal{padding:20px}
#productModal .sheetCard{
  width:min(1040px,calc(100vw - 48px))!important;
  max-height:min(88vh,920px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#17191f 0%,#121419 100%)!important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 100px rgba(0,0,0,.5);
}
#productModalBody{
  position:relative;
  overflow-y:auto;
  overflow-x:hidden;
  max-height:min(calc(88vh - 8px),912px);
  padding:22px 22px calc(108px + env(safe-area-inset-bottom,0px));
  scrollbar-width:none;
  -ms-overflow-style:none;
}
#productModalBody::-webkit-scrollbar{width:0;height:0;display:none}
#productModalBody.hasOverflow:not(.atEnd)::after{
  content:'';
  position:sticky;
  left:0;right:0;bottom:78px;
  display:block;
  height:48px;
  margin-top:-48px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(18,20,25,0),rgba(18,20,25,.96));
}
#productModal .sheetClose{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  z-index:12;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(18,20,25,.82);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.productDetailLayout{
  display:grid!important;
  grid-template-columns:minmax(360px,44%) minmax(0,56%)!important;
  gap:24px!important;
  align-items:start!important;
  padding-top:24px!important;
}
.productDetailMedia{position:sticky;top:0}
.productDetailMedia .modalVisual{
  aspect-ratio:4/4.35!important;
  min-height:360px;
  border-radius:24px!important;
  background:#20242d!important;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.productDetailMedia .modalVisual img{object-fit:cover!important;object-position:center!important}
.productDetailInfo{display:flex;flex-direction:column;gap:16px;min-width:0}
.productPrimaryInfo{display:grid;gap:10px}
.productDetailInfo .modalTitle{margin:0 56px 0 0!important;font-size:34px!important;line-height:1.02!important;letter-spacing:-.02em}
.productDetailInfo .modalDesc{font-size:15px!important;line-height:1.55!important;color:#b5bcc8!important}
.productScrollHint{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
}
.productScrollHint span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ff8f95}
.productScrollHint b{font-size:13px;line-height:1.35;color:#eef2f7;font-weight:800}
#productModalBody.atEnd .productScrollHint{display:none}
.productSectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.productSectionHead h3{margin:0;font-size:18px;color:#fff}
.productSectionHead span{font-size:12px;color:#8f98a6}
.productRecommendations{
  padding:16px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);
}
.productRecommendations .recommendRail{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.productRecommendations .recommendRail::-webkit-scrollbar{display:none}
.productRecommendations .recommendCard{
  flex:0 0 142px!important;
  width:142px!important;
  padding:10px;
  border-radius:18px;
  background:rgba(10,12,16,.34);
  border:1px solid rgba(255,255,255,.06);
  cursor:pointer;
}
.productRecommendations .recommendImage{width:100%!important;height:118px!important;border-radius:14px!important;overflow:hidden;background:#20242c!important}
.productRecommendations .recommendCard>b{display:block;font-size:16px;margin:10px 2px 4px;color:#fff}
.productRecommendations .recommendCard>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35;color:#aeb5c0;margin:0 2px 2px}
.productRecommendations .recommendImage .recommendAddButton{right:8px!important;bottom:8px!important}
#productModal .optionGroup{
  margin-top:0!important;
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}
#productModal .optionGroup h3{font-size:17px!important;margin:0 0 12px!important}
#productModal .modalFoot{
  position:sticky!important;
  bottom:0!important;
  left:0;right:0;
  z-index:10!important;
  margin:0 -22px calc(-22px - env(safe-area-inset-bottom,0px))!important;
  padding:16px 22px calc(16px + env(safe-area-inset-bottom,0px))!important;
  background:linear-gradient(180deg,rgba(18,20,25,.9),rgba(18,20,25,.98))!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
#productModal .modalPrice{font-size:30px!important;line-height:1;font-weight:1000}
#productModal .modalFoot small{display:block;margin-top:5px;color:#8e97a5;font-size:12px}
#productModal #modalAdd{min-width:180px;min-height:54px;border-radius:16px;font-size:16px;box-shadow:0 14px 30px rgba(242,13,24,.25)}

@media (max-width:959px){
  #productModal{padding:0}
  #productModal .sheetCard{
    width:100%!important;max-height:94vh!important;border-radius:26px 26px 0 0!important;
    left:50%!important;top:auto!important;bottom:0!important;transform:translateX(-50%)!important;
  }
  #productModalBody{max-height:94vh;padding:16px 16px calc(102px + env(safe-area-inset-bottom,0px))}
  .productDetailLayout{grid-template-columns:1fr!important;gap:16px!important;padding-top:14px!important}
  .productDetailMedia{position:relative;top:auto}
  .productDetailMedia .modalVisual{aspect-ratio:1.18/1!important;min-height:0;border-radius:22px!important}
  .productDetailInfo .modalTitle{font-size:28px!important;margin-right:52px!important}
  .productRecommendations .recommendCard{flex-basis:132px!important;width:132px!important}
  .productRecommendations .recommendImage{height:108px!important}
  #productModal .modalFoot{margin:0 -16px calc(-16px - env(safe-area-inset-bottom,0px))!important;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))!important}
  #productModal #modalAdd{min-width:148px;min-height:50px;font-size:15px}
  #productModal .modalPrice{font-size:26px!important}
}

@media (max-width:560px){
  .productScrollHint{display:grid;gap:5px;justify-content:start}
  .productScrollHint b{font-size:12px}
  .productRecommendations{padding:14px}
  .productSectionHead{display:grid;gap:4px}
}


/* FoodCore 4.12.02 — fixed modal footer and iOS scroll containment */
html.productModalOpen, html.productModalOpen body,
body.productModalOpen:not(.addressFirstRun):not(.addressBoot):not(.branchSelectorOpen){
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
#productModal[open]{position:fixed!important;inset:0!important;max-width:none!important;max-height:none!important;overflow:hidden!important;overscroll-behavior:contain!important;touch-action:none}
#productModal .sheetCard{
  display:flex!important;
  flex-direction:column!important;
  height:min(88dvh,920px)!important;
  max-height:calc(100dvh - 32px)!important;
}
#productModalBody{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding-bottom:20px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
#productModal .modalFoot{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  width:100%!important;
  padding:15px 22px calc(15px + env(safe-area-inset-bottom,0px))!important;
  align-self:stretch!important;
  background:#17191f!important;
}
@media(max-width:959px){
  #productModal .sheetCard{
    height:min(88dvh,760px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  #productModalBody{padding-bottom:16px!important}
  #productModal .modalFoot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important}
}


/* FoodCore 4.12.03 — compact product sheet, single checkout bar, proper recommendation previews */
#productModal .sheetCard{height:auto!important;max-height:min(88dvh,920px)!important;min-height:0!important;justify-content:flex-start!important}
#productModalBody{flex:0 1 auto!important;min-height:0!important;height:auto!important;max-height:calc(min(88dvh,920px) - 75px)!important;overflow-y:auto!important;padding-bottom:14px!important}
#productModal .sheetCard>.modalFoot{flex:0 0 auto!important;margin:0!important;width:100%!important}
#productModal .sheetCard>.modalFoot~.modalFoot{display:none!important}
#productModal .productRecommendations .recommendImage{display:block!important;position:relative!important;overflow:hidden!important}
#productModal .productRecommendations .recommendImage img,
#productModal .productRecommendations .recommendImage picture img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;position:static!important}
#productModal .productRecommendations .recommendImage .productPhotoSoon{width:100%;height:100%}
@media(max-width:959px){
 #productModal .sheetCard{height:auto!important;max-height:min(87dvh,760px)!important}
 #productModalBody{max-height:calc(min(87dvh,760px) - 74px)!important;padding-bottom:12px!important}
}

/* FoodCore 4.12.05 — mobile product sheet: clean first screen, no obstructed swipe callout */
@media (max-width: 600px){
  #productModal .sheetCard{border-radius:22px 22px 0 0!important}
  #productModalBody{padding:12px 14px 16px!important}
  #productModal .productDetailLayout{display:flex!important;flex-direction:column!important;gap:13px!important;padding-top:0!important}
  #productModal .productDetailMedia{position:relative!important;width:100%!important}
  #productModal .productDetailMedia .modalVisual{width:100%!important;aspect-ratio:1.38/1!important;min-height:0!important;max-height:38dvh!important;border-radius:16px!important}
  #productModal .productDetailInfo{width:100%!important;gap:12px!important}
  #productModal .productPrimaryInfo{gap:6px!important}
  #productModal .productDetailInfo .modalTitle{font-size:clamp(22px,6vw,28px)!important;line-height:1.14!important;letter-spacing:-.015em!important;margin:0 40px 0 0!important}
  #productModal .productDetailInfo .modalDesc{font-size:13px!important;line-height:1.42!important;margin:0!important}
  #productModal .productScrollHint{display:none!important}
  #productModal .productRecommendations{padding:12px!important;border-radius:17px!important;margin:0!important}
  #productModal .productSectionHead{gap:3px!important;margin-bottom:10px!important}
  #productModal .productSectionHead h3{font-size:16px!important;line-height:1.25!important}
  #productModal .productSectionHead span{font-size:11px!important}
  #productModal .productRecommendations .recommendCard{flex-basis:112px!important;width:112px!important;padding:7px!important;border-radius:13px!important}
  #productModal .productRecommendations .recommendImage{height:90px!important;border-radius:10px!important}
  #productModal .productRecommendations .recommendCard>b{font-size:14px!important;margin:7px 2px 3px!important}
  #productModal .productRecommendations .recommendCard>span{font-size:11px!important;line-height:1.25!important}
  #productModal .sheetClose{top:16px!important;right:16px!important;width:36px!important;height:36px!important}
  #productModal .sheetCard>.modalFoot{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important}
  #productModal .modalPrice{font-size:24px!important}
  #productModal #modalAdd{min-height:46px!important;min-width:132px!important;border-radius:13px!important}
}


/* FoodCore 4.12.06 — airy, unframed recommendations; remove overlay stripe */
#productModalBody.hasOverflow:not(.atEnd)::after{content:none!important;display:none!important;background:none!important}
#productModal .productRecommendations{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:4px 0 2px!important;
  margin:0!important;
  min-width:0!important;
  overflow:visible!important;
}
#productModal .productSectionHead{display:block!important;margin:0 0 12px!important;padding:0 2px!important}
#productModal .productSectionHead h3{font-weight:850!important;font-size:19px!important;line-height:1.22!important;margin:0!important;color:inherit!important}
#productModal .productSectionHead span{display:none!important}
#productModal .productRecommendations .recommendRail{
  display:flex!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  padding:2px 2px 10px!important;
  margin:0!important;
  scrollbar-width:none!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  background:transparent!important;
  touch-action:pan-x!important;
}
#productModal .productRecommendations .recommendRail::-webkit-scrollbar{display:none!important}
#productModal .productRecommendations .recommendCard{
  flex:0 0 134px!important;
  width:134px!important;
  min-width:134px!important;
  max-width:134px!important;
  scroll-snap-align:start!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  min-height:0!important;
  color:inherit!important;
}
#productModal .productRecommendations .recommendImage{
  width:100%!important;
  height:134px!important;
  aspect-ratio:1!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:none!important;
}
#productModal .productRecommendations .recommendImage img,
#productModal .productRecommendations .recommendImage picture img{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
#productModal .productRecommendations .recommendCard>b{display:block!important;margin:8px 2px 3px!important;font-size:15px!important;line-height:1.2!important}
#productModal .productRecommendations .recommendCard>span{display:-webkit-box!important;margin:0 2px!important;font-size:12px!important;line-height:1.35!important;min-height:30px!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
#productModal .productRecommendations .recommendImage .quickControlSlot--overlay{right:7px!important;bottom:7px!important;z-index:8!important}
#productModal .productRecommendations .recommendImage .productServingsBadge{left:7px!important;top:7px!important;bottom:auto!important;z-index:6!important}
@media(max-width:600px){
 #productModal .productRecommendations{padding:2px 0 0!important}
 #productModal .productSectionHead{margin-bottom:11px!important}
 #productModal .productSectionHead h3{font-size:17px!important}
 #productModal .productRecommendations .recommendRail{gap:12px!important;padding-bottom:8px!important}
 #productModal .productRecommendations .recommendCard{flex:0 0 124px!important;width:124px!important;min-width:124px!important;max-width:124px!important}
 #productModal .productRecommendations .recommendImage{height:124px!important;border-radius:14px!important}
 #productModal .productRecommendations .recommendCard>b{font-size:15px!important;margin:8px 1px 3px!important}
 #productModal .productRecommendations .recommendCard>span{font-size:12px!important;line-height:1.3!important}
}

/* FoodCore 4.12.07 — reliable mobile product scrolling; ordered recommendations */
#productModal[open] .sheetCard{touch-action:pan-y!important;overscroll-behavior:contain!important}
#productModal[open] #productModalBody{
  touch-action:pan-y!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  scroll-behavior:auto!important;
}
#productModal[open] #productModalBody .productDetailLayout,
#productModal[open] #productModalBody .productDetailInfo,
#productModal[open] #productModalBody .productRecommendations,
#productModal[open] #productModalBody .recommendRail,
#productModal[open] #productModalBody .recommendCard,
#productModal[open] #productModalBody .recommendImage{
  touch-action:pan-y!important;
}
@media(max-width:959px){
  #productModal .productRecommendations .recommendRail{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    scroll-snap-type:none!important;
    -webkit-overflow-scrolling:auto!important;
    padding:0!important;
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  #productModal .productRecommendations .recommendCard{
    display:flex!important;
    flex-direction:column!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  #productModal .productRecommendations .recommendImage{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.18/1!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.04)!important;
  }
  #productModal .productRecommendations .recommendImage img,
  #productModal .productRecommendations .recommendImage picture img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  #productModal .productRecommendations .recommendCard>b{
    font-size:15px!important;
    line-height:1.2!important;
    margin:8px 2px 3px!important;
  }
  #productModal .productRecommendations .recommendCard>span{
    margin:0 2px!important;
    font-size:12px!important;
    line-height:1.35!important;
    min-height:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  #productModal .productRecommendations{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:4px 0 2px!important;
  }
  #productModal .productSectionHead{margin-bottom:12px!important}
  #productModal .productDetailInfo{gap:16px!important}
  #productModal .optionGroup.addonProductGroup{
    margin-top:3px!important;
    padding:14px!important;
    border-radius:17px!important;
  }
  #productModal .sheetCard>.modalFoot{
    position:relative!important;
    z-index:8!important;
    flex-shrink:0!important;
  }
  #productModalBody.hasOverflow:not(.atEnd)::after{display:none!important;content:none!important}
}
@media(max-width:375px){
  #productModal .productRecommendations .recommendRail{gap:10px!important}
  #productModal .productRecommendations .recommendImage{aspect-ratio:1.12/1!important}
}

/* FoodCore 4.12.08 — return native horizontal recommendations carousel on mobile.
   Keep vertical scrolling native, without intercepting touchmove in JavaScript. */
@media (max-width:959px){
  #productModal[open] .sheetCard,
  #productModal[open] #productModalBody,
  #productModal[open] #productModalBody .productDetailLayout,
  #productModal[open] #productModalBody .productDetailInfo,
  #productModal[open] #productModalBody .productRecommendations{
    touch-action:pan-x pan-y!important;
  }
  #productModal .productRecommendations .recommendRail{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;
    scroll-behavior:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    padding:2px 3px 10px!important;
    margin:0!important;
    scrollbar-width:none!important;
  }
  #productModal .productRecommendations .recommendRail::-webkit-scrollbar{
    display:none!important;
  }
  #productModal .productRecommendations .recommendCard{
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 144px!important;
    width:144px!important;
    min-width:144px!important;
    max-width:144px!important;
    scroll-snap-align:start!important;
    touch-action:pan-x pan-y!important;
  }
  #productModal .productRecommendations .recommendImage{
    width:100%!important;
    height:138px!important;
    aspect-ratio:auto!important;
    touch-action:pan-x pan-y!important;
  }
  #productModal .productRecommendations .recommendCard>b{
    margin:8px 2px 3px!important;
  }
  #productModal .productRecommendations{
    overflow:hidden!important;
  }
}
@media(max-width:375px){
  #productModal .productRecommendations .recommendCard{
    flex-basis:132px!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }
  #productModal .productRecommendations .recommendImage{
    height:126px!important;
    aspect-ratio:auto!important;
  }
}


/* FoodCore product: restore touch gestures and flatten optional addon UI */
@media (max-width:959px){
  /* Override older high-specificity pan-y declarations that blocked horizontal swipe. */
  #productModal[open] #productModalBody .productRecommendations .recommendRail,
  #productModal[open] #productModalBody .productRecommendations .recommendCard,
  #productModal[open] #productModalBody .productRecommendations .recommendImage,
  #productModal[open] #productModalBody .productRecommendations .recommendImage img,
  #productModal[open] #productModalBody .productRecommendations .quickControlSlot{
    touch-action:pan-x pan-y!important;
  }
  #productModal[open] #productModalBody .productRecommendations .recommendRail{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;
    min-width:0!important;
    scrollbar-width:none!important;
  }
  #productModal[open] #productModalBody .productRecommendations .recommendCard{
    flex:0 0 144px!important;
    width:144px!important;
    min-width:144px!important;
    max-width:144px!important;
  }
  #productModal[open] #productModalBody .productRecommendations .recommendImage{
    width:100%!important;
    height:136px!important;
  }
  #productModal .optionGroup.addonProductGroup{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    margin:12px 0 4px!important;
  }
  #productModal .addonProductGroup h3{
    margin:0 0 12px!important;
    font-size:18px!important;
    font-weight:800!important;
  }
  #productModal .addonProductGrid{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  #productModal .addonProductCard{
    display:grid!important;
    grid-template-columns:60px minmax(0,1fr) 36px!important;
    min-width:0!important;
    min-height:72px!important;
    gap:12px!important;
    align-items:center!important;
    padding:6px 8px 6px 0!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  #productModal .addonProductCard:last-child{border-bottom:0!important}
  #productModal .addonProductCard.selected{background:rgba(255,255,255,.025)!important}
  #productModal .addonProductImage{
    width:60px!important;height:60px!important;
    border-radius:13px!important;overflow:hidden!important;
  }
  #productModal .addonProductInfo b{
    font-size:14px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
  }
  #productModal .addonProductInfo strong{
    font-size:14px!important;
    margin-top:4px!important;
  }
  #productModal .addonProductCheck{
    position:static!important;
    width:34px!important;height:34px!important;
    border:1px solid rgba(255,255,255,.17)!important;
    background:rgba(255,255,255,.1)!important;
    grid-column:3!important;
    justify-self:end!important;
    font-size:20px!important;
  }
  #productModal .addonProductCard.selected .addonProductCheck{
    background:var(--accent)!important;
    border-color:var(--accent)!important;
  }
}


/* FoodCore: recommendations last, compact horizontal peek carousel — 2026-10-13 */
@media(max-width:959px){
 #productModal .productRecommendations{padding:0!important;margin-top:5px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden!important;min-width:0!important}
 #productModal .productRecommendations .productSectionHead{margin:0 0 11px!important}
 #productModal .productRecommendations .recommendRail{
  display:flex!important;grid-template-columns:none!important;flex-direction:row!important;flex-wrap:nowrap!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  gap:10px!important;padding:2px 24px 10px 0!important;margin:0!important;
  overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;scroll-behavior:auto!important;
  scroll-snap-type:x proximity!important;touch-action:auto!important;
  scrollbar-width:none!important;
 }
 #productModal .productRecommendations .recommendRail::-webkit-scrollbar{display:none!important}
 #productModal .productRecommendations .recommendCard{
  flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;
  display:flex!important;flex-direction:column!important;gap:0!important;
  scroll-snap-align:start!important;touch-action:auto!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
 }
 #productModal .productRecommendations .recommendImage{
  display:block!important;width:112px!important;height:112px!important;min-height:112px!important;
  max-height:112px!important;aspect-ratio:1/1!important;border-radius:14px!important;overflow:hidden!important;
  background:#20232c!important;touch-action:auto!important;
 }
 #productModal .productRecommendations .recommendImage img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
 #productModal .productRecommendations .recommendCard>b{font-size:14px!important;margin:7px 1px 3px!important;line-height:1.15!important}
 #productModal .productRecommendations .recommendCard>span{font-size:11px!important;line-height:1.3!important;margin:0 1px!important;max-width:100%!important}
 #productModal .productRecommendations .recommendImage .quickControlSlot--overlay{right:4px!important;bottom:4px!important}
 #productModal .productRecommendations .recommendImage .recommendAddButton{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;font-size:20px!important}
}

/* No legacy fullscreen splash; keep client visible during background loading. */
#launchSplash{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.nativeStartupLoading .app,body.addressBoot .app{visibility:visible!important;opacity:1!important}

/* FoodCore startup: never expose partially initialized native storefront. */
html.fcNativeInitialFrame,html.fcNativeInitialFrame body{background:#090b10!important}
html.fcNativeInitialFrame body>.app{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html.fcNativeInitialFrame.fcNativeFirstPaint body>.app{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
html.fcNativeInitialFrame.fcNativeFirstPaint #foodcoreResumeSnapshot{display:none!important}
/* Preserve native scrolling momentum and avoid horizontal tab snapping. */
@media(hover:none) and (pointer:coarse){
  #categories{scroll-behavior:auto!important;scroll-snap-type:none!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important}
  .menuSection,.categoryBlock{touch-action:pan-y!important}
}

/* FoodCore 2026-10-13: restore native in-WebView progress after Android splash. */
html.fcNativeInitialFrame:not(.foodcoreWarmResumeEarly) #launchSplash,
#launchSplash.nativeLaunchSplash:not(.hidden){
  display:flex!important;visibility:visible!important;pointer-events:auto!important;
  position:fixed!important;inset:0!important;z-index:99999!important;
  align-items:center!important;justify-content:center!important;
  background:rgba(9,11,16,.95)!important;opacity:1!important;
  -webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden)::before,
#launchSplash.nativeLaunchSplash:not(.hidden)::after{display:none!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner{
  opacity:1!important;transform:scale(1)!important;width:84px!important;height:84px!important;
  border:0!important;filter:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner>span{
  width:84px!important;height:84px!important;min-height:84px!important;max-height:84px!important;
}
#launchSplash.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.foodcoreWarmResumeEarly #launchSplash{display:none!important}

/* Permanently prohibit the retired logo/name/text loading layout. */
#launchSplash #launchLogo,#launchSplash #launchBrand,#launchSplash .launchText,#launchSplash .launchLoader,#launchSplash .launchSplashInner{display:none!important}

/* 2026-10-13: retired branded loader must never be rendered. */
#launchSplash .launchSplashInner,#launchSplash #launchLogo,#launchSplash #launchBrand,#launchSplash .launchText,#launchSplash .launchLoader{display:none!important}

/* FoodCore startup 2026-10-14: large ring over real softly blurred menu. */
html.fcNativeInitialFrame:not(.foodcoreWarmResumeEarly) #launchSplash,
#launchSplash.nativeLaunchSplash:not(.hidden){
  background:rgba(10,11,17,.44)!important;
  -webkit-backdrop-filter:blur(17px) saturate(.85)!important;
  backdrop-filter:blur(17px) saturate(.85)!important;
}
#launchSplash.nativeLaunchSplash.fcMenuBackdropReady:not(.hidden){
  background:rgba(10,11,17,.33)!important;
  -webkit-backdrop-filter:blur(18px) saturate(.95)!important;
  backdrop-filter:blur(18px) saturate(.95)!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner{
  width:156px!important;height:156px!important;max-width:none!important;max-height:none!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner>span{
  width:156px!important;height:156px!important;min-height:156px!important;max-height:156px!important;
  -webkit-mask:none!important;mask:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreSpinnerTrack{
  border:12px solid rgba(245,246,252,.20)!important;background:transparent!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreSpinnerGlow{display:none!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreSpinnerTail{
  border:12px solid transparent!important;border-top-color:var(--accent,#ef2b2d)!important;
  border-right-color:var(--accent,#ef2b2d)!important;background:transparent!important;
  animation:fcBigLoaderRotation 1s linear infinite!important;
  filter:none!important;
}
@keyframes fcBigLoaderRotation{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:375px){
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner,
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner>span{
    width:138px!important;height:138px!important;min-height:138px!important;max-height:138px!important;
  }
}


/* FoodCore startup 2026-10-14 v3: exact black bouncing-dot loader like reference GIF. */
html.fcNativeInitialFrame:not(.foodcoreWarmResumeEarly) #launchSplash,
#launchSplash.nativeLaunchSplash:not(.hidden){
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  align-items:center!important;
  justify-content:center!important;
  background:#000!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden)::before,
#launchSplash.nativeLaunchSplash:not(.hidden)::after{display:none!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner{
  width:210px!important;
  height:36px!important;
  max-width:none!important;
  max-height:none!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner>span{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  border:0!important;
  background:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i{
  display:block!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i:nth-child(1){background:rgba(255,255,255,.92)!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i:nth-child(2){background:rgba(255,255,255,.72)!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i:nth-child(3){background:rgba(255,255,255,.52)!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i:nth-child(4){background:rgba(255,255,255,.32)!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i:nth-child(5){background:rgba(255,255,255,.12)!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceBall{
  width:16px!important;
  height:16px!important;
  left:41px!important;
  top:10px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.10)!important;
  will-change:transform!important;
  animation:fcLoaderBallBounce .75s cubic-bezier(.55,.08,.48,.94) infinite alternate!important;
}
@keyframes fcLoaderBallBounce{
  0%{transform:translateX(0) scale(1)}
  100%{transform:translateX(120px) scale(1)}
}
@media(max-width:420px){
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreMinimalSpinner{width:196px!important;height:34px!important}
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack{gap:12px!important}
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceTrack i{width:15px!important;height:15px!important}
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceBall{width:15px!important;height:15px!important;left:38px!important;top:9px!important}
  @keyframes fcLoaderBallBounce{
    0%{transform:translateX(0) scale(1)}
    100%{transform:translateX(111px) scale(1)}
  }
}
@media(prefers-reduced-motion:reduce){
  #launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreBounceBall{animation-duration:1.2s!important}
}

/* FoodCore: user's original animated GIF, no CSS imitation. */
#launchSplash.nativeLaunchSplash:not(.hidden),
html.fcNativeInitialFrame:not(.foodcoreWarmResumeEarly) #launchSplash{
 background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 align-items:center!important;justify-content:center!important;
}
#launchSplash.nativeLaunchSplash:not(.hidden)::before,
#launchSplash.nativeLaunchSplash:not(.hidden)::after{display:none!important}
#launchSplash.nativeLaunchSplash:not(.hidden) .foodcoreGifLoader{
 display:block!important;flex:none!important;position:relative!important;
 width:min(400px,100vw)!important;height:auto!important;aspect-ratio:4/3!important;min-width:0!important;max-width:100vw!important;
 min-height:0!important;max-height:none!important;object-fit:contain!important;
 margin:0!important;padding:0!important;border:0!important;transform:none!important;animation:none!important;
 filter:none!important;opacity:1!important;pointer-events:none!important;
}
#launchSplash.hidden{display:none!important}


/* FoodCore 2026-10-14: uniform compact recommendation carousel, free native swipe. */
@media(max-width:959px){
 #productModal[open] #productModalBody .productRecommendations{
   width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendRail{
   display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
   width:100%!important;max-width:100%!important;min-width:0!important;
   gap:9px!important;padding:3px 18px 13px 0!important;margin:0!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   -webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;
   scroll-snap-type:none!important;scroll-behavior:auto!important;
   touch-action:pan-x!important;scrollbar-width:none!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendRail::-webkit-scrollbar{display:none!important}
 #productModal[open] #productModalBody .productRecommendations .recommendCard{
   box-sizing:border-box!important;flex:0 0 clamp(110px,34vw,130px)!important;
   width:clamp(110px,34vw,130px)!important;min-width:clamp(110px,34vw,130px)!important;
   max-width:clamp(110px,34vw,130px)!important;
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;
   background:transparent!important;scroll-snap-align:none!important;touch-action:pan-x!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendImage{
   position:relative!important;display:block!important;width:100%!important;
   height:auto!important;min-height:0!important;max-height:none!important;
   aspect-ratio:1/1!important;overflow:hidden!important;border-radius:13px!important;
   background:#20232c!important;touch-action:pan-x!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendImage img{
   display:block!important;width:100%!important;height:100%!important;
   object-fit:contain!important;touch-action:pan-x!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendCard>b{
   display:block!important;font-size:14px!important;line-height:1.25!important;
   margin:7px 1px 3px!important;white-space:nowrap!important;
 }
 #productModal[open] #productModalBody .productRecommendations .recommendCard>span{
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
   overflow:hidden!important;min-height:28px!important;max-height:28px!important;
   font-size:11px!important;line-height:14px!important;margin:0 1px!important;
 }
}

/* FoodCore: compact scheduled-category placeholder */
.fcUnavailableCard{border:1px solid var(--line,rgba(145,145,145,.2));background:var(--card,#fff);border-radius:20px;padding:14px;overflow:hidden;box-shadow:0 5px 22px rgba(0,0,0,.035)}
.fcUnavailableTop{display:flex;align-items:center;gap:14px}.fcUnavailableThumb{width:86px;height:86px;flex:0 0 86px;border-radius:15px;overflow:hidden;background:var(--card2,#eee);opacity:1;filter:grayscale(1)}.fcUnavailableThumb img{width:100%;height:100%;object-fit:cover}.fcUnavailableFallback{display:grid;place-items:center;font-size:32px}.fcUnavailableText{min-width:0;display:flex;flex-direction:column;gap:5px}.fcUnavailableText b{font-size:16px}.fcUnavailableText span{font-size:13px;font-weight:650;color:var(--muted,#888)}.fcUnavailableText small{font-size:12px;color:var(--muted,#888)}.fcUnavailableExpand{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line,#ddd);border-radius:13px;background:transparent;color:inherit;font:700 14px/1.2 inherit;cursor:pointer}.fcUnavailableItems[hidden]{display:none!important}.fcUnavailableItems{margin-top:12px;max-height:240px;overflow-y:auto;border-top:1px solid var(--line,#ddd)}.fcUnavailableItem{display:flex;justify-content:space-between;gap:12px;padding:11px 3px;border-bottom:1px solid var(--line,#ddd);opacity:.65;font-size:13px}.fcUnavailableItem strong{white-space:nowrap}.category[title="Сейчас недоступно"]{opacity:.63}

/* Compact image previews for unavailable categories. Read-only: no add-to-cart controls. */
.fcUnavailableExpand .fcUnavailableChevron{display:block;flex:0 0 16px;transition:transform .2s ease}
.fcUnavailableExpand[aria-expanded="true"] .fcUnavailableChevron{transform:rotate(180deg)}
.fcUnavailableItems{max-height:420px;overflow-y:auto;padding-top:12px}
.fcUnavailableProducts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fcUnavailableProduct{min-width:0;overflow:hidden;border:1px solid var(--line,rgba(145,145,145,.2));border-radius:13px;background:var(--card2,rgba(120,120,120,.05));opacity:.69;filter:saturate(.45);pointer-events:none}
.fcUnavailableProductPhoto{aspect-ratio:1.35;overflow:hidden;background:rgba(130,130,130,.12)}
.fcUnavailableProductPhoto img{display:block;width:100%;height:100%;object-fit:cover}
.fcUnavailableProductPhoto .productPhotoSoon{display:flex;align-items:center;justify-content:center;height:100%;font-size:11px}
.fcUnavailableProductInfo{padding:8px;display:flex;flex-direction:column;gap:5px;min-width:0}
.fcUnavailableProductInfo strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.fcUnavailableProductInfo span{font-size:13px;font-weight:750}
.fcUnavailableProductInfo small{font-size:11px;opacity:.8}
@media(min-width:660px){.fcUnavailableProducts{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* FC: grayscale unavailable products; responsive, fixed-size preview tiles */
.fcUnavailableProduct{opacity:1!important;filter:none!important;pointer-events:none!important}
.fcUnavailableProductPhoto img{filter:grayscale(1)!important;opacity:.83!important}
.fcUnavailableProductPhoto{filter:grayscale(1)!important}
.fcUnavailableProductInfo{padding:7px!important;gap:3px!important}
.fcUnavailableProducts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;justify-content:start!important}
.fcUnavailableProductPhoto{aspect-ratio:1.65!important}
.fcUnavailableItems{max-height:305px!important;overflow-y:auto!important}
.fcUnavailableSchedule{font-size:11px!important;line-height:1.4!important;font-weight:500!important;display:block}
@media (min-width:700px){
 .fcUnavailableProducts{grid-template-columns:repeat(auto-fill,minmax(138px,170px))!important;gap:10px!important}
 .fcUnavailableProductPhoto{height:105px!important;aspect-ratio:auto!important}
 .fcUnavailableItems{max-height:345px!important}
}
@media (max-width:440px){
 .fcUnavailableProductPhoto{aspect-ratio:1.8!important}
 .fcUnavailableProductInfo strong{font-size:11px!important}
 .fcUnavailableProductInfo span{font-size:12px!important}
 .fcUnavailableProducts{gap:7px!important}
}

/* Web first-paint guard: no unfinished/default tenant layout before bootstrap. */
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) body {
  background:#111318 !important;
}
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) body > .app,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) body > .sideDrawer,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) body > .drawerOverlay {
  visibility:hidden !important;
}
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) body::after {
  content:"";
  position:fixed;z-index:1000;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);
  background-size:55% 100%;background-repeat:no-repeat;
  animation:fcWebBootBar 1.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes fcWebBootBar {0%{background-position:-120% 0}100%{background-position:240% 0}}

/* Before first complete paint, hide floating cart and other fixed client chrome too. */
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) .floatingCart,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) .cartFloat,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) .giftCartRing,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) .bottomNav,
html.fcWebBootPending:not(.fcNativeInitialFrame):not(.foodcoreWarmResumeEarly) #cartBar {
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}

/* FoodCore: adaptive category overflow, desktop + mobile */
.categoryDock{position:sticky}
.categoryDock .categories{flex:1 1 auto;min-width:0;overflow:hidden!important;scrollbar-width:none!important}
.categoryDock .categories>.category[hidden]{display:none!important}
.fcCategoryMoreButton{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--text,#fff);font-size:14px;font-weight:800;line-height:1.2;font-family:inherit;white-space:nowrap;padding:10px 11px;cursor:pointer}
.fcCategoryMoreButton[hidden],.fcCategoryMoreMenu[hidden]{display:none!important}
.fcCategoryMoreButton.active{color:var(--accent,#f20d18)}
.fcCategoryMoreButton span{font-size:20px;line-height:10px;transition:transform .15s}
.fcCategoryMoreButton[aria-expanded="true"] span{transform:rotate(180deg)}
.fcCategoryMoreMenu{position:absolute;z-index:90;top:calc(100% + 4px);right:8px;min-width:210px;max-width:min(340px,calc(100vw - 24px));max-height:min(65vh,480px);overflow:auto;padding:7px;background:#19191c;color:#fff;border:1px solid #45454b;border-radius:14px;box-shadow:0 12px 35px #0009}
.fcCategoryMoreItem{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:12px 13px;border-radius:9px;font-size:14px;font-weight:700;line-height:1.25;font-family:inherit;cursor:pointer}
.fcCategoryMoreItem:hover,.fcCategoryMoreItem.active{background:#ffffff16;color:#fff}
.fcCategoryMoreItem.active{box-shadow:inset 3px 0 var(--accent,#f20d18)}
@media(min-width:960px){.categoryDock .categories{min-width:0!important}.fcCategoryMoreMenu{right:12px}}


/* FoodCore: keep desktop cart in its original fixed right-hand dock column.
   Overflow control gets its own column ONLY when visible. */
@media (min-width:960px){
  .categoryDock:has(> .fcCategoryMoreButton:not([hidden])){
    grid-template-columns:46px minmax(0,1fr) auto 154px!important;
  }
  .categoryDock > #cartBar.floatingCart{
    grid-column:-2 / -1!important;
    justify-self:end!important;
  }
  .categoryDock > .fcCategoryMoreButton:not([hidden]){
    grid-column:3!important;
    justify-self:end!important;
  }
  .categoryDock > .fcCategoryMoreMenu{grid-column:auto!important;}
}
/* Distinct understated menu control; no text glyph masquerading as chevron. */
.categoryDock > .fcCategoryMoreButton:not([hidden]){
  display:inline-flex!important;align-items:center;justify-content:center;
  gap:9px!important;min-height:36px;padding:7px 12px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px!important;background:rgba(255,255,255,.07)!important;
  color:var(--text,#fff)!important;font-size:13px!important;font-weight:750!important;
  line-height:1.2!important;white-space:nowrap;
  transition:background .18s,border-color .18s;
}
.categoryDock > .fcCategoryMoreButton:hover,
.categoryDock > .fcCategoryMoreButton[aria-expanded="true"]{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.3)!important;
}
.categoryDock > .fcCategoryMoreButton span{
  display:block!important;width:7px;height:7px;font-size:0!important;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg)!important;
  transition:transform .18s!important;
}
.categoryDock > .fcCategoryMoreButton[aria-expanded="true"] span{
  transform:translateY(2px) rotate(225deg)!important;
}
@media (max-width:959px){
 .categoryDock > .fcCategoryMoreButton:not([hidden]){min-height:34px;padding:6px 9px!important;font-size:12px!important}
}

/* FoodCore website-only authentication layout. Native/mobile remains unchanged. */
#clientAuthModal .fcWebAuthHero{display:none}
#clientAuthModal .fcWebAuthForm{display:contents}
@media (min-width:900px) and (hover:hover){
  #clientAuthModal[open]{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#0c1017!important;overflow:auto!important}
  #clientAuthModal::backdrop{background:rgba(3,6,12,.88)!important;backdrop-filter:blur(9px)}
  #clientAuthModal .clientAuthCard,#clientAuthModal.customAuthScreen .clientAuthCard{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:none!important;height:100dvh!important;min-height:700px!important;max-height:none!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#11151d!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;align-items:stretch!important;color:#fff!important}
  #clientAuthModal.customAuthScreen .clientAuthCard::before,#clientAuthModal.customAuthScreen .clientAuthCard::after{display:none!important}
  #clientAuthModal .fcWebAuthHero{display:flex!important;grid-column:1;background:linear-gradient(0deg,rgba(8,12,19,.97),rgba(8,12,19,.28)),linear-gradient(135deg,#18212c,#2b151b 65%,#141924);position:relative;min-height:100%;padding:clamp(32px,5vw,85px);box-sizing:border-box;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.09)}
  #clientAuthModal.customAuthScreen .fcWebAuthHero{background-image:linear-gradient(0deg,rgba(8,12,19,.96),rgba(8,12,19,.36)),var(--client-auth-bg,linear-gradient(135deg,#18212c,#2b151b));background-size:cover;background-position:center}
  #clientAuthModal .fcWebAuthHeroMark{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:15px;color:rgba(255,255,255,.8)}
  #clientAuthModal .fcWebAuthHeroBottom{max-width:580px}
  #clientAuthModal .fcWebAuthHeroAccent{height:5px;width:64px;background:var(--accent,#e72530);border-radius:8px;margin-bottom:25px}
  #clientAuthModal .fcWebAuthHero h3{font-size:clamp(34px,4vw,68px);line-height:1.06;letter-spacing:-.035em;margin:0 0 20px;color:white}
  #clientAuthModal .fcWebAuthHero p{max-width:470px;font-size:18px;line-height:1.6;color:#c3cad4;margin:0}
  #clientAuthModal .fcWebAuthForm{display:flex!important;grid-column:2;flex-direction:column;justify-content:center;align-items:stretch;position:relative;box-sizing:border-box;width:100%;max-width:680px;margin:auto;padding:56px clamp(38px,5vw,90px);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
  #clientAuthModal .clientAuthDismiss{position:fixed!important;top:24px!important;right:26px!important;z-index:10}
  #clientAuthModal .clientAuthLogo,#clientAuthModal.customAuthScreen .clientAuthLogo{margin:0 0 16px!important}
  #clientAuthModal .clientAuthCard h2,#clientAuthModal.customAuthScreen .clientAuthCard h2{text-align:left!important;font-size:clamp(28px,2.5vw,38px)!important;text-shadow:none!important}
  #clientAuthModal .clientAuthCard .fcWebAuthForm>p{text-align:left!important;max-width:none!important;margin-left:0!important}
  #clientAuthModal .clientAuthMethod{min-height:66px}
  #clientAuthModal .clientPhoneInput{min-height:62px}
  #clientAuthModal .clientAuthStatus{flex-shrink:0}
}
@media (min-width:900px) and (max-height:750px) and (hover:hover){#clientAuthModal .fcWebAuthForm{justify-content:flex-start;padding-top:45px;padding-bottom:35px}#clientAuthModal .clientAuthMethod{min-height:58px}}

/* FoodCore: compact desktop login for short displays (only website dialog). */
@media (min-width:900px) and (hover:hover){
  #clientAuthModal[open]{overflow:hidden!important}
  #clientAuthModal .clientAuthCard,
  #clientAuthModal.customAuthScreen .clientAuthCard{
    height:100dvh!important;min-height:0!important;max-height:100dvh!important;
    overflow:hidden!important;grid-template-columns:minmax(0,1fr) minmax(390px,1fr)!important;
  }
  #clientAuthModal .fcWebAuthHero{padding:clamp(18px,3vw,45px)!important}
  #clientAuthModal .fcWebAuthHero h3{font-size:clamp(28px,3.1vw,52px)!important}
  #clientAuthModal .fcWebAuthHero p{font-size:clamp(13px,1.3vw,16px)!important}
  #clientAuthModal .fcWebAuthForm{
    max-height:100dvh!important;min-height:0!important;overflow-y:auto!important;
    padding:clamp(15px,3vh,32px) clamp(22px,4vw,58px)!important;
    gap:0!important;justify-content:center!important;
  }
  #clientAuthModal .clientAuthLogo,
  #clientAuthModal.customAuthScreen .clientAuthLogo{
    display:flex!important;visibility:visible!important;opacity:1!important;
    width:clamp(50px,8vh,72px)!important;height:clamp(50px,8vh,72px)!important;
    min-width:50px!important;min-height:50px!important;flex:none!important;
    margin:0 0 8px!important;align-self:flex-start!important;
  }
  #clientAuthModal .clientAuthLogo img{width:100%!important;height:100%!important;object-fit:contain!important}
  #clientAuthModal .clientAuthCard h2,
  #clientAuthModal.customAuthScreen .clientAuthCard h2{font-size:clamp(23px,3.5vh,32px)!important;margin:0 0 7px!important}
  #clientAuthModal .fcWebAuthForm>p{font-size:clamp(12px,1.7vh,15px)!important;line-height:1.3!important;margin:0 0 10px!important}
  #clientAuthModal .clientAuthMethodStep{margin-top:3px!important}
  #clientAuthModal .clientPhoneLabel{margin-bottom:8px!important}
  #clientAuthModal .clientPhoneInput{min-height:48px!important;height:50px!important}
  #clientAuthModal .clientPhoneInput input{height:48px!important;font-size:18px!important}
  #clientAuthModal .clientAuthMethods{gap:6px!important;margin-top:7px!important}
  #clientAuthModal .clientAuthMethod{min-height:52px!important;padding:7px 12px!important}
  #clientAuthModal .clientAuthChooseTitle{margin-top:8px!important}
  #clientAuthModal .clientAuthDismiss{position:fixed!important;top:14px!important;right:18px!important}
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
  #clientAuthModal .fcWebAuthForm{justify-content:flex-start!important;padding-top:14px!important;padding-bottom:14px!important}
  #clientAuthModal .clientAuthLogo,#clientAuthModal.customAuthScreen .clientAuthLogo{width:48px!important;height:48px!important;min-height:48px!important}
  #clientAuthModal .clientAuthMethod{min-height:46px!important}
}


/* FoodCore website login: smooth restaurant photo / neutral shared form transition.
   Visual-only, desktop-only; tenant background lives on hero. */
@media (min-width:900px) and (hover:hover){
  #clientAuthModal .clientAuthCard,
  #clientAuthModal.customAuthScreen .clientAuthCard{
    background:#222a36!important;
  }
  #clientAuthModal .fcWebAuthHero{
    border-right:0!important;
    isolation:isolate;
    overflow:visible!important;
  }
  #clientAuthModal .fcWebAuthHero::after{
    content:"";position:absolute;z-index:1;pointer-events:none;
    right:-2px;top:0;bottom:0;
    width:clamp(90px,15vw,240px);
    transform:translateX(calc(100% - 2px));
    background:linear-gradient(90deg,
      rgba(34,42,54,0) 0%,
      rgba(34,42,54,.42) 24%,
      rgba(34,42,54,.82) 65%,
      #222a36 100%);
  }
  #clientAuthModal .fcWebAuthForm{
    background:linear-gradient(115deg,#222a36 0%,#252e3c 55%,#202834 100%)!important;
    max-width:none!important;
    width:100%!important;
    padding-left:clamp(36px,5vw,85px)!important;
    padding-right:clamp(32px,5vw,85px)!important;
  }
  #clientAuthModal .fcWebAuthForm::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse at 75% 25%,rgba(150,170,200,.08),transparent 68%);
  }
  #clientAuthModal .fcWebAuthForm > *{position:relative;z-index:2}
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
  #clientAuthModal .fcWebAuthForm{padding-left:clamp(26px,4vw,58px)!important;padding-right:clamp(26px,4vw,58px)!important}
}

/* FoodCore login v2: kitchen-neutral design with continuous blurred photo fade.
   Only desktop web auth: no effect on native login or restaurant/site backgrounds. */
@media (min-width:900px) and (hover:hover){
 #clientAuthModal .clientAuthCard,
 #clientAuthModal.customAuthScreen .clientAuthCard{background:#282c29!important;isolation:isolate}
 #clientAuthModal .fcWebAuthHero{
   z-index:2!important;overflow:visible!important;isolation:auto!important;
   border:0!important;
 }
 #clientAuthModal .fcWebAuthHero::after{
   content:"";display:block!important;position:absolute;pointer-events:none;
   top:0;bottom:0;right:-1px;width:clamp(180px,25vw,400px);
   transform:translateX(50%);z-index:1;
   background:linear-gradient(90deg,
     rgba(40,44,41,0) 0%,rgba(40,44,41,.12) 20%,
     rgba(40,44,41,.55) 44%,rgba(40,44,41,.83) 65%,
     rgba(40,44,41,.97) 84%,#282c29 100%);
   -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
 }
 #clientAuthModal .fcWebAuthHeroMark,
 #clientAuthModal .fcWebAuthHeroBottom{position:relative;z-index:3}
 #clientAuthModal .fcWebAuthForm{
   z-index:1!important;max-width:none!important;width:100%!important;
   background-image:linear-gradient(90deg,rgba(40,44,41,.72),rgba(32,36,34,.42)),
     url('/client/assets/foodcore-auth-kitchen.svg')!important;
   background-color:#282c29!important;background-size:cover!important;
   background-position:center!important;
   padding-left:clamp(48px,6vw,110px)!important;
 }
 #clientAuthModal .fcWebAuthForm::before{
   background:radial-gradient(ellipse at 85% 15%,rgba(180,158,123,.08),transparent 60%)!important;
 }
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
 #clientAuthModal .fcWebAuthForm{padding-left:clamp(42px,5vw,78px)!important}
}

/* FoodCore login hotfix: keep smooth split, but preserve clean readable form.
   Fixes excessive dark band over the right auth panel. */
@media (min-width:900px) and (hover:hover){
  #clientAuthModal .clientAuthCard,
  #clientAuthModal.customAuthScreen .clientAuthCard{
    background:#242923!important;
  }
  #clientAuthModal .fcWebAuthHero{
    z-index:2!important;
    overflow:visible!important;
    border:0!important;
  }
  #clientAuthModal .fcWebAuthHero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    right:-1px!important;
    width:clamp(72px,9vw,135px)!important;
    transform:translateX(calc(100% - 1px))!important;
    pointer-events:none!important;
    z-index:2!important;
    background:linear-gradient(90deg,
      rgba(36,41,35,0) 0%,
      rgba(36,41,35,.18) 28%,
      rgba(36,41,35,.55) 60%,
      rgba(36,41,35,.9) 86%,
      #242923 100%)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  #clientAuthModal .fcWebAuthHeroMark,
  #clientAuthModal .fcWebAuthHeroBottom{
    position:relative!important;
    z-index:3!important;
  }
  #clientAuthModal .fcWebAuthForm{
    position:relative!important;
    z-index:1!important;
    max-width:none!important;
    width:100%!important;
    padding-left:clamp(42px,5vw,86px)!important;
    padding-right:clamp(34px,5vw,84px)!important;
    background-image:
      linear-gradient(180deg,rgba(26,30,27,.95),rgba(26,30,27,.88)),
      url('/client/assets/foodcore-auth-kitchen.svg')!important;
    background-color:#242923!important;
    background-size:cover!important;
    background-position:center!important;
  }
  #clientAuthModal .fcWebAuthForm::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 78% 22%,rgba(255,255,255,.04),transparent 22%),
      radial-gradient(circle at 18% 80%,rgba(214,160,104,.05),transparent 28%)!important;
  }
  #clientAuthModal .fcWebAuthForm > *{
    position:relative!important;
    z-index:2!important;
  }
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
  #clientAuthModal .fcWebAuthForm{
    padding-left:clamp(34px,4vw,62px)!important;
    padding-right:clamp(28px,4vw,56px)!important;
  }
}

/* FoodCore login hotfix v3: strict clean split.
   Left = restaurant photo, right = independent kitchen-style background.
   No center overlap onto the form area. */
@media (min-width:900px) and (hover:hover){
  #clientAuthModal .clientAuthCard,
  #clientAuthModal.customAuthScreen .clientAuthCard{
    background:#1f241f!important;
    grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)!important;
  }

  #clientAuthModal .fcWebAuthHero{
    position:relative!important;
    overflow:hidden!important;
    border-right:1px solid rgba(255,255,255,.06)!important;
    z-index:1!important;
  }
  #clientAuthModal .fcWebAuthHero::after{
    content:none!important;
    display:none!important;
  }
  #clientAuthModal .fcWebAuthHeroMark,
  #clientAuthModal .fcWebAuthHeroBottom{
    position:relative!important;
    z-index:2!important;
  }

  #clientAuthModal .fcWebAuthForm{
    position:relative!important;
    z-index:1!important;
    max-width:none!important;
    width:100%!important;
    padding-left:clamp(36px,4vw,70px)!important;
    padding-right:clamp(30px,4vw,70px)!important;
    background-image:
      linear-gradient(180deg,rgba(18,22,19,.90),rgba(18,22,19,.84)),
      url('/client/assets/foodcore-auth-kitchen.svg')!important;
    background-color:#1f241f!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  #clientAuthModal .fcWebAuthForm::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 82% 18%,rgba(255,255,255,.045),transparent 24%),
      radial-gradient(circle at 15% 85%,rgba(214,160,104,.045),transparent 28%)!important;
  }
  #clientAuthModal .fcWebAuthForm > *{
    position:relative!important;
    z-index:2!important;
  }

  #clientAuthModal .clientPhoneInput{
    background:rgba(12,16,14,.56)!important;
    border-color:rgba(255,255,255,.38)!important;
    backdrop-filter:blur(6px)!important;
  }
  #clientAuthModal .clientAuthMethod{
    background:rgba(12,16,14,.50)!important;
    border-color:rgba(255,255,255,.16)!important;
    backdrop-filter:blur(6px)!important;
  }
  #clientAuthModal .clientAuthStatus{
    background:rgba(78,18,27,.80)!important;
  }
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
  #clientAuthModal .fcWebAuthForm{
    padding-left:clamp(28px,3.2vw,54px)!important;
    padding-right:clamp(24px,3.2vw,54px)!important;
  }
}

/* FoodCore login hotfix v4:
   - ensure visible right-side kitchen background
   - move dismiss button to top-right corner
   - remove useless internal scroll bar */
@media (min-width:900px) and (hover:hover){
  #clientAuthModal[open]{overflow:hidden!important}
  #clientAuthModal .clientAuthCard,
  #clientAuthModal.customAuthScreen .clientAuthCard{
    overflow:hidden!important;
    scrollbar-width:none!important;
  }
  #clientAuthModal .clientAuthCard::-webkit-scrollbar,
  #clientAuthModal .fcWebAuthForm::-webkit-scrollbar,
  #clientAuthModal[open]::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
    background:transparent!important;
  }
  #clientAuthModal .fcWebAuthForm{
    overflow:hidden!important;
    scrollbar-width:none!important;
    position:relative!important;
    background-image:
      linear-gradient(180deg,rgba(20,24,22,.78),rgba(20,24,22,.72)),
      url('/client/assets/foodcore-auth-kitchen.svg')!important;
    background-color:#22261f!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    box-shadow:inset 18px 0 34px rgba(0,0,0,.16)!important;
  }
  #clientAuthModal .fcWebAuthForm::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(90deg,rgba(0,0,0,.10),transparent 18%),
      radial-gradient(circle at 82% 14%,rgba(255,255,255,.06),transparent 20%),
      radial-gradient(circle at 12% 84%,rgba(255,170,92,.05),transparent 26%)!important;
  }
  #clientAuthModal .clientAuthDismiss,
  #clientAuthModal.customAuthScreen .clientAuthDismiss{
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    left:auto!important;
    margin:0!important;
    z-index:30!important;
    align-self:auto!important;
  }
  #clientAuthModal .clientAuthLogo,
  #clientAuthModal.customAuthScreen .clientAuthLogo{
    margin-top:8px!important;
  }
}
@media (min-width:900px) and (max-height:680px) and (hover:hover){
  #clientAuthModal .clientAuthDismiss,
  #clientAuthModal.customAuthScreen .clientAuthDismiss{
    top:12px!important;
    right:12px!important;
  }
}

/* FoodCore desktop auth: remove the REAL page-level scrollbar underneath modal.
   Desktop-only; do not alter native/mobile scroll behaviour. */
@media (min-width:900px) and (hover:hover){
  html:has(#clientAuthModal[open]),
  html:has(#clientAuthModal[open]) body{
    overflow:hidden!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    height:100%!important;
    scrollbar-width:none!important;
  }
  html:has(#clientAuthModal[open])::-webkit-scrollbar,
  html:has(#clientAuthModal[open]) body::-webkit-scrollbar{display:none!important;width:0!important}
  #clientAuthModal[open]{
    overflow:hidden!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overscroll-behavior:none!important;
  }
  #clientAuthModal[open]::-webkit-scrollbar,
  #clientAuthModal[open] *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  #clientAuthModal[open] .clientAuthCard,
  #clientAuthModal[open] .fcWebAuthHero,
  #clientAuthModal[open] .fcWebAuthForm{
    overflow:hidden!important;
    max-height:100dvh!important;
    scrollbar-width:none!important;
  }
  #clientAuthModal[open] .clientAuthDismiss,
  #clientAuthModal[open].customAuthScreen .clientAuthDismiss{
    position:fixed!important;
    top:clamp(15px,2.5vh,25px)!important;
    right:clamp(20px,2.7vw,42px)!important;
    left:auto!important;
    bottom:auto!important;
    margin:0!important;
    z-index:999!important;
    width:36px!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:rgba(12,16,18,.52)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    line-height:1!important;
  }
}


/* Native Android/iOS FoodCore app: classic swipeable category bar.
   Website keeps its own overflow “More” button. */
html.fcNativeCategoryRail .categoryDock .categories,
html.fcNativeCategoryRail #categories{
 overflow-x:auto!important;overflow-y:hidden!important;
 flex:1 1 auto!important;min-width:0!important;
 -webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;
 scrollbar-width:none!important;
}
html.fcNativeCategoryRail #categories::-webkit-scrollbar{display:none!important}
html.fcNativeCategoryRail #categories > .category{flex:0 0 auto!important}
html.fcNativeCategoryRail .fcCategoryMoreButton,
html.fcNativeCategoryRail .fcCategoryMoreMenu{display:none!important}
