/* Cart Drawer styles (scoped to .cart-drawer*) */
.cart-drawer-root{position:fixed;inset:0;pointer-events:none;z-index:1050;}
.cart-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .18s ease;pointer-events:auto;}
.cart-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(420px,100%);background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 24px 48px rgba(0,0,0,.24);transform:translate3d(100%,0,0);transition:transform .22s ease;display:flex;flex-direction:column;}
.cart-drawer-root.open .cart-drawer-backdrop{opacity:1;}
.cart-drawer-root.open .cart-drawer-panel{transform:translate3d(0,0,0);}

.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eee;}
.cart-drawer-title{font-size:1.125rem;margin:0;}
.cart-drawer-body{padding:12px 16px;overflow:auto;flex:1;contain:content;position:relative;}
.cart-drawer-footer{border-top:1px solid #eee;padding:12px 16px;}

.cart-drawer-empty{padding:24px 8px;color:#666;text-align:center;}

.cart-drawer-actions{display:flex;gap:8px;margin-top:12px;}
.cart-drawer-actions .btn{flex:1;}

@media (max-width:768px){
  .cart-drawer-panel{left:0;right:0;bottom:0;top:auto;height:min(80vh, 560px);width:100%;border-top-left-radius:16px;border-top-right-radius:16px;transform:translate3d(0,100%,0);}
}

@media (prefers-reduced-motion: reduce){
  .cart-drawer-backdrop,.cart-drawer-panel{transition:none;}
}

/* Do not style .cart-line or its children here. */
/* Fix: ensure page is clickable when drawer is closed */
.cart-drawer-backdrop{pointer-events:none;}
.cart-drawer-root.open .cart-drawer-backdrop{pointer-events:auto;}
.cart-drawer-root:not(.open) .cart-drawer-panel{pointer-events:none;}

/* Drawer footer layout: prevent overlap */
.cart-drawer-footer .row{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.cart-drawer-footer #summary-subtotal{margin-left:auto;white-space:nowrap;}

/* Hide legacy toast if any slips through */
.toast-notice{display:none !important;}

/* Ensure panel is always above the backdrop */
.cart-drawer-backdrop{z-index:1;}
.cart-drawer-panel{z-index:2;}

/* Ensure drawer overlays everything and remains interactive */
.cart-drawer-root{z-index:2147483647;}
.cart-drawer-panel{pointer-events:auto; overflow:hidden;}
.cart-drawer-body{overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch;}
.cart-drawer-actions .btn{pointer-events:auto;}

.cart-drawer-body::before,.cart-drawer-body::after{content:"";position:sticky;left:0;right:0;height:24px;pointer-events:none;z-index:1;opacity:0;transition:opacity .2s;}
.cart-drawer-body::before{top:0;background:linear-gradient(#fff,rgba(255,255,255,0));}
.cart-drawer-body::after{bottom:0;background:linear-gradient(to top,#fff,rgba(255,255,255,0));}
.cart-drawer-body.scroll-top::before{opacity:1;}
.cart-drawer-body.scroll-bottom::after{opacity:1;}
