.product-image .product-badges{position:absolute;top:13px;left:13px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;z-index:2;max-width:calc(100% - 26px)}.product-image .product-badges .new-badge{position:static!important;display:inline-flex}.product-meta .product-badges{display:inline-flex;align-items:center;gap:6px}.product-meta .product-badges .new-badge{position:static;transform:none}.product-badges .hit-badge{background:linear-gradient(135deg,#fcb253,#f19634);color:#fff}.product-badges .custom-badge{background:#f7e5d5;color:#986547;transform:none!important;box-shadow:none}.draft-preview-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:#251b17ed;border:1px solid #ffc09270;color:#ffd0b4;border-radius:10px;padding:9px 15px;font:500 11px Manrope,Arial,sans-serif;z-index:1000;max-width:calc(100% - 30px);text-align:center}.contacts-photo-tabs{flex-wrap:wrap}
.delivery-price-grid,.delivery-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.delivery-details-grid{grid-template-columns:1fr 1fr}.delivery-price-grid .delivery-panel{padding:25px}.delivery-price-grid h3{font-size:34px;letter-spacing:-.04em}.delivery-price-grid h3 small{font-size:12px;color:#9e8b7f}.delivery-source-note{font-size:11px;color:#9e8b7f;margin:25px 0}.delivery-source-note a{color:#cb8055}.delivery-details-grid .secondary{display:inline-block;margin-top:15px}.delivery-details-grid p{max-width:450px}.contacts-photo-tabs{flex-wrap:wrap}
@media(max-width:650px){.delivery-price-grid,.delivery-details-grid{grid-template-columns:1fr;gap:12px}.delivery-price-grid h3{font-size:30px}}

/* Consistent scrolling and close icons in customer dialogs. */
html,dialog,dialog *{scrollbar-width:thin;scrollbar-color:#c9b8a785 transparent}
@supports selector(::-webkit-scrollbar){
 html,body dialog,body dialog *{scrollbar-width:auto;scrollbar-color:auto}
 html::-webkit-scrollbar,dialog::-webkit-scrollbar,dialog *::-webkit-scrollbar{width:6px;height:6px}
 html::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track,dialog *::-webkit-scrollbar-track{background:transparent}
 html::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb,dialog *::-webkit-scrollbar-thumb{border-radius:10px;background:#c9b8a785}
 html::-webkit-scrollbar-thumb:hover,dialog::-webkit-scrollbar-thumb:hover,dialog *::-webkit-scrollbar-thumb:hover{background:#aa8e72aa}
 html::-webkit-scrollbar-button,dialog::-webkit-scrollbar-button,dialog *::-webkit-scrollbar-button{display:none;width:0;height:0}
 html::-webkit-scrollbar-corner,dialog::-webkit-scrollbar-corner,dialog *::-webkit-scrollbar-corner{background:transparent}
}
.close:not([hidden]),#closeMobileMenu{display:grid;place-items:center;padding:0;line-height:1}
.close svg,#closeMobileMenu svg{display:block;width:18px;height:18px;stroke-width:1.7;pointer-events:none}
.close:hover{transform:none}


body.cart-open{overflow:hidden}
.checkout [data-checkout-mode]{display:flex;align-items:center;justify-content:center;gap:7px;flex:1}
.checkout [data-checkout-mode] svg{width:19px;height:19px}
@media(max-width:700px){
 dialog.cart-dialog,dialog.checkout-dialog{inset:0 auto auto 0;width:100vw;max-width:none;height:min(100dvh,var(--dialog-viewport-height,100dvh));max-height:min(100dvh,var(--dialog-viewport-height,100dvh));margin:0;border-radius:0;padding:0;overflow:hidden;background:#fff}
 dialog.cart-dialog[open]{display:flex;flex-direction:column}
 .cart-dialog .cart-head{flex-shrink:0;padding:calc(28px + env(safe-area-inset-top,0px)) 22px 16px}
 .cart-dialog .cart-head .eyebrow{display:block;padding-right:40px}
 .cart-dialog .cart-head h2{margin-top:15px;font-size:30px}
 .cart-dialog #cartItems{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 18px}
 .cart-dialog #cartSummary{flex-shrink:0;padding:16px 22px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid #eee8e0;background:#fff;box-shadow:0 -8px 30px #3e251006}
 .cart-dialog .cart-sum{margin:0 0 14px}
 .cart-dialog .demo-note{margin:0 0 12px}
 .cart-dialog #cartSummary>.primary{width:100%}
 .cart-dialog .primary,.checkout-action .primary{min-height:50px;border-radius:14px}
 .cart-dialog .close,.checkout-dialog>.close{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:16px;width:38px;height:38px;z-index:5}
 .checkout-dialog #modalContent{height:100%;min-height:0}
 .checkout-dialog .checkout{height:100%;display:flex;flex-direction:column;min-height:0}
 .checkout-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(32px + env(safe-area-inset-top,0px)) 22px 18px}
 .checkout-scroll>.eyebrow{display:block;padding-right:42px}
 .checkout h2{font-size:30px;margin:24px 0}
 .checkout label{font-size:12px;margin:18px 0}
 .checkout input,.checkout textarea{font-size:16px;min-height:48px}
 .checkout-action{flex-shrink:0;padding:18px 22px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid #eee8e0;background:#fff;box-shadow:0 -8px 30px #3e251006}
 .checkout-action .cart-sum{margin:0 0 16px}
 .checkout-action .primary{margin:0}
}

.order-created-dialog{width:min(440px,calc(100vw - 30px));padding:34px 30px 28px;background:radial-gradient(ellipse at 50% 20%,#fff0df99,transparent 62%),linear-gradient(145deg,#fffffffa,#fff9f2f2);border:1px solid #fff9;overflow:hidden;backdrop-filter:blur(24px)}
.order-created{text-align:center;animation:order-enter .35s ease both}
.order-created-logo{display:block;width:104px;height:auto;margin:0 auto}
.order-animation{position:relative;width:170px;height:180px;margin:18px auto 14px}
.order-animation .order-pizza{position:absolute;inset:0;width:170px;height:180px;overflow:visible;animation:pizza-eaten 3s linear forwards;filter:drop-shadow(0 7px 8px #f36c2015)}
.pizza-bite{transform:scale(0);transform-box:fill-box;transform-origin:center;animation:pizza-bite .12s .6s ease-out forwards}
.pizza-bite.bite-two{animation-delay:1.35s}.pizza-bite.bite-three{animation-delay:2.1s}
.order-animation .order-ready{position:absolute;left:40px;top:43px;width:90px;height:90px;color:#ef772c;opacity:0;animation:order-ready .3s 3s ease forwards}
.order-ready circle{stroke:#f9c395;stroke-width:1.6}.order-ready path{stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70;animation:order-check .4s 3s ease forwards}
.order-created>.eyebrow{font-size:8px;letter-spacing:1.2px;color:#b18d70}
.order-created h2{font-size:30px;line-height:1.17;letter-spacing:-1px;margin:13px 0;color:#242322}
.order-created>p{font-size:13px;line-height:1.7;color:#8f7b6b;max-width:285px;margin:0 auto 20px}
.order-created-total{display:flex;align-items:center;justify-content:center;gap:22px;font-size:12px;background:#fff0e3a6;border:1px solid #f5ddc670;border-radius:12px;padding:13px 20px;margin-bottom:22px;color:#aa896d}
.order-created-total strong{font-size:16px;color:#4a3526}
.order-created .secondary{background:transparent;padding:7px 0;border-radius:0;border-bottom:1px solid #edc3a280;color:#bc743f}
@keyframes pizza-bite{to{transform:scale(1)}}
@keyframes pizza-eaten{0%,17%,39%,64%{transform:rotate(0) scale(1);opacity:1}20%,44%,69%{transform:rotate(-5deg) scale(.95)}24%,48%,73%,87%{transform:rotate(0) scale(1);opacity:1}100%{transform:translateY(8px) scale(.7);opacity:0;visibility:hidden}}
@keyframes order-ready{to{opacity:1}}
@keyframes order-check{to{stroke-dashoffset:0}}
@keyframes order-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.order-created-dialog{padding:30px 24px 28px}.order-created h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.order-created{animation:none}.order-animation .order-pizza{display:none}.order-animation .order-ready{animation:none;opacity:1}.order-ready path{animation:none;stroke-dashoffset:0}}
.checkout-action>.primary{background:linear-gradient(160deg,#ff8a47,#ff641e);border:1px solid #ffb27d80;box-shadow:inset 0 2px 1px #ffffffac,inset 0 -2px 1px #d0440929,0 3px 9px #d8531014}

/* Compact completion card: brand, animation and one clear next step. */
.order-created-dialog{width:min(354px,calc(100vw - 36px));padding:28px 24px 30px;border-radius:22px}
.order-created-logo{width:88px}
.order-animation{width:118px;height:124px;margin:12px auto 14px}
.order-animation .order-pizza{width:118px;height:124px}
.order-animation .order-ready{width:72px;height:72px;left:23px;top:25px}
.order-created h2{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:8px 0 10px}
.order-created>p{font-size:12px;line-height:1.6;max-width:230px;margin:0 auto;color:#9b806a}
@media(max-width:700px){.order-created-dialog{padding:28px 24px 30px}.order-created h2{font-size:23px}}
.order-countdown{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#ffaf70,#ff641e);transform-origin:left;animation:order-countdown 3s linear forwards}
@keyframes order-countdown{to{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){.order-countdown{animation:none;display:none}}
.order-created-dialog #modalContent{position:static}

/* Promotion posters sit below the copy at the full dialog width. */
.info-content.city-promo-view>.promo-detail-poster{display:block;float:none;width:100%;height:auto;max-height:none;object-fit:contain;margin:24px 0 0;border-radius:12px}
@media(max-width:700px){.info-content.city-promo-view>.promo-detail-poster{margin-top:20px;border-radius:10px}}

/* Keep cutout alignment while allowing the catalogue hover zoom. */
@media(hover:hover){
 .product-image.cutout-media:hover>img{transform:scale(calc(var(--cutout-scale,var(--sushi-scale,1)) * 1.06)) translate(var(--cutout-x,var(--sushi-x,0%)),var(--cutout-y,var(--sushi-y,0%)))!important}
 .menu-category-card:hover .category-card-art.cutout-media>img{transform:scale(calc(var(--cutout-scale,var(--sushi-scale,1)) * 1.04)) translate(var(--cutout-x,var(--sushi-x,0%)),var(--cutout-y,var(--sushi-y,0%)))!important}
}

/* Story viewer: timed slides, readable banners and a persistent action. */
dialog.promo-story-dialog{width:min(560px,calc(100vw - 36px));height:min(760px,90dvh);max-width:none;max-height:90dvh;padding:0;overflow:hidden;background:linear-gradient(150deg,#fff,#fffaf4);border-radius:24px}
.promo-story-dialog #modalContent{height:100%;min-height:0}
.promo-story{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.promo-story-progress{display:flex;gap:5px;padding:18px 20px 0}
.story-step{flex:1;height:3px;border-radius:5px;background:#dfd4c6;overflow:hidden}
.story-step i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffb56f,#ff641e);border-radius:inherit}
.story-complete i{width:100%}.story-current i{width:100%;transform:scaleX(0);transform-origin:left;animation:promo-story-time 7s linear forwards}
.promo-story-paused .story-current i{animation-play-state:paused}
@keyframes promo-story-time{to{transform:scaleX(1)}}
.promo-story-tools{display:flex;align-items:center;gap:7px;padding:14px 66px 4px 20px}
.promo-story-tools button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #eadfd280;border-radius:50%;background:#fff7ef;color:#b57f54}
.promo-story-tools button:hover{background:#fff0e2;color:#ef6925}.promo-story-tools button:disabled{opacity:.3;cursor:default}
.promo-story-tools svg{width:17px;height:17px}
#promoStoryPosition{font-size:11px;font-weight:700;color:#a88a70;min-width:38px;text-align:center}
#promoStoryPause{margin-left:auto}
.promo-story-dialog>.close{right:20px;top:35px;width:34px;height:34px;background:#fff7ef;border:1px solid #eadfd280;color:#ef6925}
.promo-story-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 26px 26px;touch-action:pan-y}
.promo-story-content .city-promo-view>.eyebrow{font-size:8px;letter-spacing:1px}
.promo-story-content .city-promo-view h2{font-size:30px;line-height:1.18;margin:14px 0 16px}
.promo-story-content .city-promo-view p{font-size:13px;line-height:1.8;margin:0}
.promo-story-content .city-promo-view>.promo-detail-poster{width:100%;margin:24px 0 0;border-radius:14px;max-height:none}
.promo-story-action{padding:16px 26px 20px;border-top:1px solid #eee4d8;background:#ffffffdc;backdrop-filter:blur(14px);box-shadow:0 -8px 24px #50331e05}
.promo-story-action>.primary{display:block;width:100%;margin:0;min-height:49px;border:1px solid #ffb27d80;border-radius:14px;background:linear-gradient(160deg,#ff8a47,#ff641e);box-shadow:inset 0 2px 1px #ffffffac,inset 0 -2px 1px #d0440929,0 3px 9px #d8531014;font-size:12px}
@media(max-width:700px){dialog.promo-story-dialog{inset:0 auto auto 0;width:100vw;height:min(100dvh,var(--dialog-viewport-height,100dvh));max-height:min(100dvh,var(--dialog-viewport-height,100dvh));margin:0;border-radius:0}.promo-story-progress{padding-top:calc(16px + env(safe-area-inset-top,0px))}.promo-story-dialog>.close{top:calc(33px + env(safe-area-inset-top,0px))}.promo-story-content{padding:20px 22px}.promo-story-content .city-promo-view h2{font-size:28px}.promo-story-action{padding:14px 22px calc(18px + env(safe-area-inset-bottom,0px))}}
@media(min-width:901px){.promo-rail .promos.promo-stories{grid-auto-columns:calc((100% - 56px)/5)}.promo-rail .promo-stories .promo{height:244px}.promo-rail .promo-stories .promo h2{font-size:17px}.promo-rail .promo-stories .story-badge{font-size:9px}.promo-rail .promo-scroll-control{top:106px}}
@media(min-width:1200px){.promo-rail .promos.promo-stories{grid-auto-columns:calc((100% - 70px)/6)}}
@media(prefers-reduced-motion:reduce){.story-current i{animation-timing-function:linear}.product-image.cutout-media>img,.menu-category-card .category-card-art.cutout-media>img{transition:none}}
.promo-story-action[hidden]{display:none}
/* Side arrows match the familiar story navigation. */
dialog.promo-story-dialog{overflow:visible}
.promo-story-dialog #modalContent{border-radius:inherit;overflow:hidden}
#promoStoryPosition{display:none}
.promo-story-tools{justify-content:flex-end;min-height:48px}
.promo-story-navigation{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:64px;padding:0;background:transparent;border:0;border-radius:12px;color:#fff;z-index:5;transition:background .2s}
.promo-story-navigation svg{width:23px;height:23px}
#promoStoryPrevious.promo-story-navigation{left:-58px}#promoStoryNext.promo-story-navigation{right:-58px}
.promo-story-navigation:hover{background:#ffffff15}.promo-story-navigation:disabled{opacity:.2;cursor:default}
@media(max-width:700px){.promo-story-navigation{width:28px;height:54px;border-radius:9px;background:#ffffffb0;color:#e7712f;backdrop-filter:blur(8px)}#promoStoryPrevious.promo-story-navigation{left:3px}#promoStoryNext.promo-story-navigation{right:3px}.promo-story-navigation svg{width:18px;height:18px}}

/* Photo-led story cards on the home page. */
.promo-rail .promo-stories .promo>img{inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:none;z-index:0}
.promo-rail .promo-stories .promo::after{inset:0;background:linear-gradient(180deg,#20160c00 38%,#20160c25 56%,#20160cb8 100%)}
.promo-rail .promo-stories .promo .promo-copy{left:16px;right:20px;bottom:20px}
.promo-rail .promo-stories .promo h2{color:#fff;font-size:18px;line-height:1.15;font-weight:800;text-shadow:0 1px 8px #0003}
.promo-rail .promo-stories .promo .story-arrow{color:#ffffffb8}
.promo-rail .promo-stories .promo:hover>img{transform:scale(1.035)}
@media(max-width:900px){.promo-rail .promo-stories .promo .promo-copy{left:13px;right:18px;bottom:17px}.promo-rail .promo-stories .promo h2{font-size:17px}}

/* One uploaded photograph, with its copy and optional action overlaid. */
dialog.promo-story-dialog{height:min(840px,90dvh);background:#efc8a5}
.promo-story{position:relative;display:block}
.promo-story-progress{position:absolute;inset:0 0 auto;z-index:4}
.story-step{background:#ffffff70}.story-step i{background:#fff}
.promo-story-tools{position:absolute;inset:22px 0 auto;z-index:4}
.promo-story-tools button,.promo-story-dialog>.close{background:#20160c24;border-color:#ffffff50;color:#fff;backdrop-filter:blur(8px)}
.promo-story-tools button:hover{background:#20160c45;color:#fff}
.promo-story-content{position:absolute;inset:0;padding:0;overflow:hidden}
.promo-story-slide{position:relative;width:100%;height:100%;background:#f4bb8d;isolation:isolate}
.promo-story-slide.story-tone-sand{background:#ddccb5}.promo-story-slide.story-tone-lilac{background:#d1b6dd}.promo-story-slide.story-tone-yellow{background:#ffda73}.promo-story-slide.story-tone-mint{background:#c5d0b4}
.promo-story-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1a120e35 0%,transparent 28%,#1a120e10 44%,#1a120ec7 78%,#1a120ee6 100%);z-index:1;pointer-events:none}
.promo-story-photo{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
.promo-story-copy{position:absolute;left:26px;right:26px;bottom:99px;max-height:55%;overflow-y:auto;overscroll-behavior:contain;color:white;z-index:2;text-shadow:0 1px 7px #0002}
.promo-story-copy h2{color:#fff;font-size:32px;line-height:1.12;font-weight:800;letter-spacing:-.9px;margin:0 0 14px}
.promo-story-copy p{color:#ffffffeb;font-size:13px;line-height:1.65;margin:0}
.promo-story-no-action .promo-story-copy{bottom:28px}
.promo-story-copy:empty{display:none}
.promo-story-action{position:absolute;left:26px;right:26px;bottom:25px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;z-index:3}
.promo-story-action>.primary{border-radius:50px;min-height:50px;font-size:13px}
@media(max-width:700px){dialog.promo-story-dialog{height:min(100dvh,var(--dialog-viewport-height,100dvh));max-height:min(100dvh,var(--dialog-viewport-height,100dvh))}.promo-story-tools{top:calc(20px + env(safe-area-inset-top,0px))}.promo-story-content{padding:0}.promo-story-copy{left:24px;right:24px;bottom:calc(94px + env(safe-area-inset-bottom,0px));max-height:54%}.promo-story-copy h2{font-size:30px}.promo-story-copy p{font-size:12px}.promo-story-action{left:24px;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));padding:0}.promo-story-no-action .promo-story-copy{bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
.promo .story-arrow{display:none}.promo-rail .promo-stories .promo .promo-copy{right:16px}
.promo-story-dialog>.close{z-index:8;pointer-events:auto}
.promo.promo-gift{background:linear-gradient(150deg,#ffdac0,#efad79)}
.promo.promo-gift>img,.promo-rail .promo-stories .promo.promo-gift>img{inset:5px 5% auto;width:90%;height:74%;object-fit:contain;object-position:center;transform:none}
.promo-rail .promo-stories .promo.promo-gift::after{background:linear-gradient(180deg,transparent 50%,#96552235 72%,#6334148c 100%)}
.promo-story-slide.story-gift{background:linear-gradient(155deg,#ffead4,#ffc194 58%,#ce814d)}
.story-gift .promo-story-photo{height:65%;padding:30px 30px 0;object-fit:contain;object-position:center}
.story-gift::after{background:linear-gradient(180deg,transparent 35%,#85431610 55%,#603619b8 100%)}
.promo>img,.promo-rail .promo-stories .promo>img{object-position:var(--promo-photo-x,50%) var(--promo-photo-y,50%);transform:scale(var(--promo-photo-scale,1));transform-origin:var(--promo-photo-x,50%) var(--promo-photo-y,50%)}
.promo-rail .promo-stories .promo:hover>img{transform:scale(calc(var(--promo-photo-scale,1)*1.035))}
.promo-story-photo{object-position:var(--promo-photo-x,50%) var(--promo-photo-y,50%);transform:scale(var(--promo-photo-scale,1));transform-origin:var(--promo-photo-x,50%) var(--promo-photo-y,50%)}
.promo-rail .promo-stories .promo h2{overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.promo-story-copy h2,.promo-story-copy p{overflow-wrap:anywhere}

.promo-story-tools button,.promo-story-dialog>.close{border:0}
.promo-story-tools button:focus-visible,.promo-story-dialog>.close:focus-visible{outline:0;background:#20160c45}
