/* All page layouts share the same cart geometry. */
body #shop-cart-drawer { position:fixed !important; inset:0 !important; z-index:2147482500 !important; margin:0 !important; }
body #shop-cart-drawer.hidden { display:none !important; }
body #shop-cart-drawer .shop-cart-drawer__backdrop { position:absolute; inset:0; background:rgba(2,6,23,.66); }
body #shop-cart-drawer .shop-cart-drawer__panel { position:absolute !important; inset:0 0 0 auto !important; width:min(460px,100%) !important; max-width:100% !important; height:100% !important; max-height:100dvh !important; box-sizing:border-box; display:flex; flex-direction:column; gap:14px; padding:22px 18px max(18px,env(safe-area-inset-bottom)) !important; overflow-y:auto !important; overscroll-behavior-y:contain; touch-action:pan-y; background:#101827; color:#f1f5f9; border:1px solid #334155; border-radius:0 !important; }
body[data-theme="light"] #shop-cart-drawer .shop-cart-drawer__panel { background:#fff; color:#172033; border-color:#d6deeb; }
#shop-cart-drawer .shop-cart-list { display:flex; flex-direction:column; justify-content:flex-start; gap:12px; flex:1 0 auto; overflow:visible; min-height:0; }
#shop-cart-drawer .shop-cart-item { display:grid; flex:0 0 auto; grid-template-columns:58px minmax(0,1fr); grid-template-rows:auto auto; gap:10px; align-items:center; }
#shop-cart-drawer .shop-cart-item__thumb { width:58px; height:58px; }
#shop-cart-drawer .shop-cart-item__info { min-width:0; overflow-wrap:anywhere; }
#shop-cart-drawer .shop-cart-item__controls { grid-column:2; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
#shop-cart-drawer .shop-cart-item__qty { display:grid; grid-column:2; grid-row:auto; justify-self:start; grid-template-columns:44px 44px 44px !important; align-items:center; gap:6px; }
/* Track widths must match the touch targets, including old shop mobile overrides. */
#shop-cart-drawer .shop-cart-item__qty button { display:grid; place-items:center; box-sizing:border-box; width:44px; min-width:44px; max-width:44px; height:44px !important; min-height:44px !important; margin:0; padding:0; line-height:1; font-size:18px; }
#shop-cart-drawer .shop-cart-item__qty em { display:grid; place-items:center; box-sizing:border-box; width:44px; min-width:0; height:44px; margin:0; padding:0; font-size:16px; line-height:1; font-style:normal; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; text-align:center; }
#shop-cart-drawer .shop-cart-item__remove { flex:none; margin:0 0 0 auto; padding:0 12px; min-height:44px !important; font-size:12px; line-height:1; white-space:nowrap; border:1px solid rgba(248,113,113,.25); background:rgba(248,113,113,.08); color:#fca5a5; }
#shop-cart-drawer .shop-cart-item__remove:hover:not(:disabled) { background:rgba(248,113,113,.18); }
body[data-theme="light"] #shop-cart-drawer .shop-cart-item__remove { color:#b91c1c; background:#fff5f5; border-color:#fecaca; }
#shop-cart-drawer .shop-cart-item__qty button, #shop-cart-drawer .shop-cart-item__remove, #shop-cart-close-btn { min-width:44px; min-height:44px; touch-action:manipulation; }
#shop-cart-status { margin:0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
#shop-cart-status:empty { display:none; }
#shop-cart-drawer button:disabled { opacity:.5; cursor:default; }
#shop-cart-drawer .shop-cart-hint { margin:0; line-height:1.5; }
#global-cart-toast { position:fixed; bottom:90px; left:50%; transform:translateX(-50%); z-index:13000; width:max-content; max-width:calc(100% - 40px); padding:12px 18px; box-sizing:border-box; background:#19273e; color:#fff; border:1px solid #64748b; border-radius:14px; box-shadow:0 10px 36px #0005; font-size:14px; }
#global-cart-toast[hidden] { display:none; }
#global-cart-toast { z-index:2147482700; }
body #shop-cart-count.hidden { display:none !important; }
body #shop-cart-drawer .shop-cart-drawer__panel { z-index:2 !important; }
body #shop-cart-drawer .shop-cart-drawer__backdrop { z-index:1 !important; }
@media (max-width:480px) { body #shop-cart-drawer .shop-cart-drawer__panel { padding-top:max(14px,env(safe-area-inset-top)) !important; } #shop-cart-drawer .shop-cart-item__controls { grid-column:1 / -1; } }
