/* Shantilal Phase 3.3 — catalogue & two-stage cart, scoped independently of header */
#menu-items .menu-item-card{border:1px solid #EFDEC5;border-radius:17px;background:#FFF9EE;box-shadow:0 3px 13px rgba(68,47,41,.07);}
#menu-items .menu-item-card .menu-item-body{padding:15px;gap:5px;}
#menu-items .menu-item-card h3{color:#442F29;font-weight:700;line-height:1.32;}
#menu-items .menu-item-card .menu-item-price{color:#AF432D;font-weight:750;margin-top:auto;}
#menu-items .menu-item-card .menu-item-media img{width:100%;height:100%;object-fit:cover;}
#menu-items .menu-item-card .add-fab{background:#AF432D;color:#FFF9EE;}
#menu-items .menu-item-card .ribbon-tag{background:#6B2230;color:#FFF9EE;}
@media(max-width:575.98px){
 #menu-items .sh-product-column{width:100%;}
 #menu-items .menu-item-card{display:grid;grid-template-columns:112px minmax(0,1fr);height:auto;min-height:128px;overflow:visible;align-items:stretch;}
 #menu-items .menu-item-card .menu-item-media{width:112px;min-height:112px;align-self:start;border-radius:16px 0 0 16px;overflow:hidden;}
 #menu-items .menu-item-card .menu-item-body{min-width:0;padding:11px 12px;gap:3px;}
 #menu-items .menu-item-card h3{font-size:14px!important;margin:0!important;}
 #menu-items .menu-item-card .menu-item-body p{font-size:11px!important;line-height:1.3;margin:0 0 4px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-grow:0!important;}
 #menu-items .menu-item-card .menu-item-price{font-size:14px;}
 #menu-items .menu-item-card .add-fab{right:7px;bottom:7px;width:34px;height:34px;}
 #menu-items .menu-item-card .size-chip{padding:3px 7px;font-size:11px;}
 #menu-items .menu-item-card .size-selector{gap:3px;}
 #menu-items .menu-item-card .pack-select{font-size:12px;padding:5px 25px 5px 8px;margin:4px 0!important;min-height:31px;}
 #menu-items .menu-item-card .pack-note{font-size:11px;margin:3px 0!important;}
 #menu-items .menu-item-card .stepper-fab{right:6px;bottom:6px;}
}
.cart-drawer-panel.sh-two-stage{--bs-offcanvas-width:min(460px,100vw);background:#FFF9EE;color:#442F29;}
.sh-two-stage .offcanvas-body{padding:0!important;overflow:hidden!important;}
.sh-cart-head{height:75px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:10px 14px;background:#FFF9EE;border-bottom:1px solid #EFDEC5;}
.sh-cart-heading h2{font-size:19px;font-weight:750;line-height:1.2;margin:0;color:#442F29;}
.sh-cart-heading small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#AF432D;font-weight:700;}
.sh-cart-back,.sh-cart-close{height:38px;width:38px;border:0;border-radius:50%;background:#FBE8D0;color:#AF432D;display:grid;place-items:center;}
.sh-cart-back[hidden]{visibility:hidden!important;pointer-events:none;}
.sh-cart-viewport{height:calc(100% - 75px);overflow:hidden;}
.sh-cart-track{height:100%;width:200%;display:flex;transition:transform .28s cubic-bezier(.2,.75,.25,1);}
.sh-two-stage.sh-show-checkout .sh-cart-track{transform:translateX(-50%);}
.sh-cart-stage{width:50%;min-width:50%;height:100%;min-height:0;display:flex;flex-direction:column;background:#FFF9EE;}
.sh-stage-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;}
.sh-stage-footer{flex:none;padding:12px 16px calc(13px + env(safe-area-inset-bottom));background:#FFF9EE;border-top:1px solid #EFDEC5;}
.sh-cart-primary{display:flex;gap:9px;align-items:center;justify-content:center;width:100%;min-height:47px;border-radius:14px;background:#AF432D;color:white;font-weight:700;}
.sh-cart-primary:hover,.sh-cart-primary:focus{background:#6B2230;color:white;}
.sh-cart-primary:disabled{opacity:.5;cursor:not-allowed;}
.sh-checkout-description{font-size:13px;color:#7B6258;margin-bottom:17px;}
#shCheckoutSummary{padding:12px;background:#FBE8D0;border-radius:14px;margin-top:18px;}
#cartSummary{margin-bottom:10px;}
.sh-two-stage .cart-line{border-bottom:1px solid #EFDEC5;}
@media(max-width:767.98px){.cart-drawer-panel.sh-two-stage{--bs-offcanvas-width:100vw!important;width:100vw!important;max-width:100vw!important;}.sh-cart-head{padding-top:calc(10px + env(safe-area-inset-top));height:calc(75px + env(safe-area-inset-top));}.sh-cart-viewport{height:calc(100% - 75px - env(safe-area-inset-top));}}
@media(prefers-reduced-motion:reduce){.sh-cart-track{transition:none!important;}}

/* Phase 3.3 refinement: compact horizontal card; no UI search introduced */
#menu-items .menu-item-card .sh-card-cart-action{margin-top:auto;display:flex;justify-content:flex-end;align-items:center}
#menu-items .sh-card-add,#menu-items .sh-card-stepper{border-radius:9px;background:#6B2230;color:#FFF9EE;border:0;min-height:34px;font-size:13px;font-weight:700;letter-spacing:.015em}
#menu-items .sh-card-add{padding:7px 18px;min-width:83px}
#menu-items .sh-card-stepper{display:flex;align-items:center;justify-content:space-between;min-width:100px;gap:6px}
#menu-items .sh-card-stepper button{width:33px;height:34px;border:0;background:transparent;color:inherit;font-size:18px}
#menu-items .sh-card-stepper output{font-size:13px;min-width:16px;text-align:center}
#menu-items [hidden]{display:none!important}
#menu-items .menu-item-card .menu-item-body{min-width:0}
#menu-items .menu-item-card .menu-item-price{margin:0}
@media(max-width:575.98px){
 #menu-items .menu-item-card{grid-template-columns:112px minmax(0,1fr);min-height:138px;}
 #menu-items .menu-item-card .menu-item-media{width:112px;height:112px;border-radius:12px;margin:10px 0 10px 10px}
 #menu-items .menu-item-card .menu-item-body{padding:10px 13px 10px 18px}
 #menu-items .menu-item-card .ribbon-tags{left:0;right:0;top:0}
 #menu-items .menu-item-card .ribbon-tag{font-size:8px;padding:3px 6px}
 #menu-items .menu-item-card .sh-card-cart-action{align-self:stretch}
}
/* Offcanvas must cover the sticky browser header and PWA header alike */
.cart-drawer-panel.sh-two-stage.offcanvas{position:fixed!important;inset:0 0 0 auto!important;height:100dvh!important;z-index:1202!important;transform:translateX(100%)}
.cart-drawer-panel.sh-two-stage.offcanvas.show,.cart-drawer-panel.sh-two-stage.offcanvas.showing{transform:translateX(0)}
.offcanvas-backdrop{z-index:1200!important}
.sh-two-stage .sh-cart-head{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:12px;min-height:76px;height:auto!important;flex-shrink:0}
.sh-two-stage .sh-cart-heading{grid-column:2;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.sh-two-stage .sh-cart-back{grid-column:1;grid-row:1}
.sh-two-stage .sh-cart-close{grid-column:3;grid-row:1;justify-self:end;margin:0!important}
.sh-two-stage .sh-cart-heading h2,.sh-two-stage .sh-cart-heading small{display:block!important;white-space:normal!important;overflow-wrap:normal;line-height:1.3}
.sh-two-stage .sh-cart-viewport{flex:1;min-height:0;height:auto!important}
@media(max-width:767.98px){.cart-drawer-panel.sh-two-stage.offcanvas{width:100vw!important;max-width:100vw!important}.sh-two-stage .sh-cart-head{padding-top:calc(12px + env(safe-area-inset-top))!important;padding-bottom:12px!important}}

/* Phase 3.3 confirmed: image | title-description-price | selector + action */
#menu-items .menu-item-card .menu-item-body{justify-content:flex-start!important}
#menu-items .menu-item-card .menu-item-price{margin:2px 0 4px!important;flex:0 0 auto!important}
#menu-items .sh-card-bottom-row{display:flex;align-items:center;gap:8px;width:100%;min-width:0;margin-top:auto}
#menu-items .sh-card-variants{flex:1 1 0;min-width:0}
#menu-items .sh-card-variants .pack-select{width:100%;max-width:100%;min-width:0;margin:0!important}
#menu-items .sh-card-variants .pack-note{margin:0!important;line-height:1.3}
#menu-items .sh-card-cart-action{flex:0 0 auto;margin:0!important;align-self:center!important}
#menu-items .sh-card-stepper{min-width:94px;gap:0}
#menu-items .sh-card-stepper button{width:29px}
#menu-items .menu-item-media{overflow:hidden}
#menu-items .menu-item-media .ribbon-tags{position:absolute!important;left:9px;right:auto;top:9px;z-index:3}
#menu-items .menu-item-media .ribbon-tag{display:block;max-width:100%;background:#D87719;color:#FFF9EE;font-weight:700;border-radius:5px;padding:4px 7px}
@media(max-width:575.98px){
 #menu-items .menu-item-card{min-height:0!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:start!important}
 #menu-items .menu-item-card .menu-item-media{width:102px!important;height:102px!important;min-height:0!important;margin:10px 0 10px 10px!important;aspect-ratio:1/1!important}
 #menu-items .menu-item-card .menu-item-body{padding:10px 12px!important;gap:3px!important}
 #menu-items .menu-item-card .menu-item-body p{margin:0!important;flex-grow:0!important}
 #menu-items .menu-item-card .ribbon-tags{left:0!important;right:0!important;top:0!important;width:100%;gap:0}
 #menu-items .menu-item-card .ribbon-tag{border-radius:0!important;text-align:center;font-size:8px!important;padding:3px 2px!important;width:100%;white-space:normal}
 #menu-items .sh-card-bottom-row{gap:6px;align-items:center;margin-top:4px}
 #menu-items .sh-card-add{min-width:76px;padding:7px 10px}
 #menu-items .sh-card-stepper{min-width:92px}
 #menu-items .sh-card-variants .pack-select{font-size:11px!important;padding:5px 18px 5px 5px!important}
 #menu-items .menu-item-card .menu-item-price{font-size:14px!important}
 #menu-items .menu-item-card .size-selector{margin:0!important}
}
/* Cart: absolute right close, no phantom back-button column, non-overlapping controls */
.sh-two-stage .sh-cart-head{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;padding:12px 64px 12px 18px!important;min-height:76px!important}
.sh-two-stage .sh-cart-back[hidden]{display:none!important}
.sh-two-stage .sh-cart-heading{grid-column:auto!important;flex:1;min-width:0;text-align:left;align-items:flex-start!important}
.sh-two-stage .sh-cart-close{position:absolute!important;right:16px;top:50%;transform:translateY(-50%);margin:0!important}
.sh-two-stage .sh-cart-back:not([hidden]){position:static!important;flex:none}
.sh-two-stage .cart-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:16px 0!important}
.sh-two-stage .cart-line>div:first-child{min-width:0!important;padding-right:0!important}
.sh-two-stage .cart-line .cart-variant-select{display:block;max-width:100%;width:100%!important;min-width:0!important;box-sizing:border-box;padding-right:28px}
.sh-two-stage .cart-line>div:nth-child(2){min-width:0;white-space:nowrap;gap:4px!important}
.sh-two-stage .cart-line .qty-stepper{flex-shrink:0}
.sh-two-stage .cart-line .qty-stepper input{width:32px!important;min-width:0}
@media(max-width:575.98px){.sh-two-stage .sh-stage-scroll{padding:14px!important}.sh-two-stage .cart-line{column-gap:7px}.sh-two-stage .cart-line .qty-stepper button{width:30px!important}.sh-two-stage .cart-line .qty-stepper input{width:27px!important}}
/* Preserve sticky category panel above cards, without obstructing their first row */
#menu-categories{margin-bottom:22px!important}
/* Reserve scrolling clearance under fixed View Cart control on mobile web */
@media(max-width:767.98px){body:not(.is-pwa) #menu-items{padding-bottom:100px!important}}

/* v5.7 — Cart line geometry: identity row then one unbreakable selector/stepper row.
   Overrides earlier generic .cart-line grids without touching product cards. */
.sh-two-stage .cart-line.sh-cart-item{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 gap:9px!important;padding:14px 0!important;min-width:0!important;
}
.sh-two-stage .sh-cart-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.sh-two-stage .sh-cart-item-identity{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
.sh-two-stage .sh-cart-remove{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;padding:0!important;margin:0!important}
.sh-two-stage .sh-cart-item-controls{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;gap:10px!important;min-width:0!important;width:100%!important;
}
.sh-two-stage .sh-cart-variant-wrap{min-width:0!important;max-width:100%;overflow:hidden}
.sh-two-stage .sh-cart-variant-wrap .cart-variant-select{
 margin:0!important;width:100%!important;min-width:0!important;max-width:100%!important;
 box-sizing:border-box!important;height:40px!important;padding:6px 28px 6px 10px!important;
 font-size:14px!important;text-overflow:ellipsis;
}
.sh-two-stage .sh-cart-variant-wrap .small{line-height:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-two-stage .sh-cart-item-controls .qty-stepper{
 flex:0 0 auto!important;display:flex!important;align-items:center!important;
 height:40px!important;white-space:nowrap!important;overflow:hidden!important;
}
.sh-two-stage .sh-cart-item-controls .qty-stepper button{width:34px!important;height:38px!important;flex:0 0 34px!important}
.sh-two-stage .sh-cart-item-controls .qty-stepper input{width:36px!important;flex:0 0 36px!important}
@media(max-width:380px){
 .sh-two-stage .sh-cart-item-controls{gap:7px!important}
 .sh-two-stage .sh-cart-item-controls .qty-stepper button{width:30px!important;flex-basis:30px!important}
 .sh-two-stage .sh-cart-item-controls .qty-stepper input{width:29px!important;flex-basis:29px!important}
}

/* v5.19: Cart-only product thumbnails. Keep pack selector and stepper row intact. */
.sh-two-stage .sh-cart-item-top{align-items:center!important}
.sh-two-stage .sh-cart-thumb{width:68px;height:68px;flex:0 0 68px;overflow:hidden;border-radius:12px;border:1px solid #EFDEC5;background:#FBE8D0;display:grid;place-items:center;color:#AF432D}
.sh-two-stage .sh-cart-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sh-two-stage .sh-cart-thumb .img-placeholder{font:500 10px/1.25 var(--font-body,Sora,sans-serif);text-align:center;padding:5px}
.sh-two-stage .sh-cart-thumb-empty{font-size:22px;color:#B58C78}
.sh-two-stage .sh-cart-item-identity{align-self:center}
@media(max-width:380px){.sh-two-stage .sh-cart-thumb{width:58px;height:58px;flex-basis:58px}.sh-two-stage .sh-cart-item-top{gap:8px!important}}
