/* A capsule unfolds into a floating cart; native dialog keeps focus and Escape. */
html.cart-popup-open{overflow:hidden}
.cart-popup-open #cart-dock{visibility:hidden}
#cart-dialog.cart-popup{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:auto;max-height:min(720px,calc(100dvh - 48px));background:transparent;border:0;border-radius:20px;box-shadow:none;overflow:visible;isolation:isolate}
#cart-dialog.cart-popup[open]{display:flex;flex-direction:column}
#cart-dialog.cart-popup::backdrop{background:#12201866}
.cart-popup-surface{position:absolute;inset:0;z-index:-1;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 70px #15251b33;transform-origin:0 0;pointer-events:none}
#cart-dialog.cart-popup>.dialog-header{padding:20px 24px;flex-shrink:0;border-bottom:1px solid var(--line);border-radius:20px 20px 0 0}
#cart-dialog.cart-popup>.dialog-header h2{font-size:25px}
#cart-dialog.cart-popup>.dialog-content{padding:18px 24px 22px;overflow-y:auto;border-radius:0 0 20px 20px;min-height:0;flex:1}
#cart-dialog.cart-popup .cart-list{overflow-y:auto;max-height:300px;min-height:90px;flex:none;overscroll-behavior:contain}
#cart-dialog.cart-popup .cart-line{padding:14px 0;gap:12px;flex-wrap:wrap}
#cart-dialog.cart-popup .cart-line>img{width:60px;height:60px;border-radius:10px}
#cart-dialog.cart-popup .item-copy{min-width:130px}
#cart-dialog.cart-popup .item-copy>strong{font-size:15px}
#cart-dialog.cart-popup .cart-line .line-price{font-size:14px;margin-left:auto}
#cart-dialog.cart-popup .cart-remove{padding:0;width:44px;height:44px;min-width:44px}
#cart-dialog.cart-popup .quantity .icon-button{width:44px;height:44px;min-width:44px}
#cart-dialog.cart-popup .cart-footer{position:static;bottom:auto;margin:12px 0 0;padding:0;background:transparent}
#cart-dialog.cart-popup .cart-footer .summary-row{margin:0 0 16px;padding-top:16px;font-size:23px}
#cart-dialog.cart-popup .fulfillment-note{background:transparent;border-radius:0;padding:0;font-size:12px;color:var(--muted);margin:0 0 8px}
#cart-dialog.cart-popup #cart-address{display:none}
#cart-dialog.cart-popup #cart-hint{font-size:12px;line-height:1.5;margin:8px 0 16px}
#cart-dialog.cart-popup .cart-undo{margin-bottom:12px;padding:8px 10px;font-size:12px;gap:8px}
#cart-dialog.cart-popup .empty-state{padding:16px 0}
#cart-dialog.cart-popup .empty-state h2{font-size:22px}
#cart-dialog.cart-popup .empty-state p{font-size:14px}
.cart-dock{width:360px;max-width:calc(100vw - 32px);border-radius:28px;min-height:64px}
.cart-dock .dock-caption{flex:1;text-align:left}
.cart-dock .dock-action{border-radius:20px;font-size:12px;min-height:44px;padding:10px 14px}
.cart-dock .cart-previews img{border-radius:50%;width:38px;height:38px}
@media(max-width:720px){
 #cart-dialog.cart-popup{left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:calc(100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px - env(safe-area-inset-bottom))}
 #cart-dialog.cart-popup>.dialog-header{padding:16px 18px}#cart-dialog.cart-popup>.dialog-header h2{font-size:23px}
 #cart-dialog.cart-popup>.dialog-content{padding:14px 18px 18px}#cart-dialog.cart-popup .item-copy{min-width:100px}
 #cart-dialog.cart-popup .cart-line{gap:10px}#cart-dialog.cart-popup .cart-line>img{width:50px;height:50px}
 .cart-dock{width:auto;left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media(max-height:520px){#cart-dialog.cart-popup .cart-list{max-height:none;overflow:visible;min-height:60px}#cart-dialog.cart-popup>.dialog-header{padding-block:10px}#cart-dialog.cart-popup>.dialog-content{padding-block:12px}}
@media(forced-colors:active){.cart-popup-surface{border:1px solid CanvasText;background:Canvas}.cart-dock{border:1px solid ButtonText}}
