/* Keep the full checkout usable on shorter desktop and mobile screens. */
html.cart-modal-open,body.cart-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.cart-modal-open>[data-cart-inert="1"]{
  pointer-events:none!important;
  user-select:none!important;
}
.drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  pointer-events:none;
  overscroll-behavior:contain;
}
.drawer-backdrop.open{
  display:block!important;
  pointer-events:auto!important;
}
.cart-drawer{
  position:absolute!important;
  top:0;
  right:0;
  bottom:0;
  z-index:1;
  width:min(470px,100vw);
  height:100%;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  pointer-events:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  isolation:isolate;
  background:#fff;
}
.drawer-head{flex:0 0 auto;position:sticky;top:0;z-index:3;background:#fff}
.drawer-body{
  flex:0 0 auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  overscroll-behavior:auto;
}
.drawer-foot{
  flex:0 0 auto;
  min-height:0;
  overflow:visible;
  overscroll-behavior:auto;
  padding:12px 14px max(20px,env(safe-area-inset-bottom));
}
.cart-drawer button,.cart-drawer a,.cart-drawer input,.cart-drawer select,.cart-drawer textarea{
  pointer-events:auto!important;
  touch-action:manipulation;
}
.drawer-foot .totals{margin-bottom:8px;gap:3px}
.drawer-foot .total-row{font-size:10px}
.drawer-foot .total-row.final{padding-top:6px;font-size:12px}
.payment-center{gap:8px!important}
.payment-method-grid{gap:6px!important}
.payment-method-choice{
  min-height:50px!important;
  padding:7px 9px!important;
}
.payment-method-choice strong{font-size:10px!important}
.payment-method-choice span{margin-top:2px!important;font-size:8px!important;line-height:1.25!important}
.payment-method-detail{padding:9px!important}
.payment-method-detail h3{margin-bottom:3px!important;font-size:12px!important}
.payment-method-detail p{margin:3px 0 7px!important;font-size:9px!important;line-height:1.4!important}
.pay-amount{margin:6px 0!important;padding:7px!important}
.pay-amount strong{font-size:13px!important}
.pay-warning{padding:7px!important;font-size:8.5px!important;line-height:1.35!important}
.pay-fields{gap:5px!important}
.pay-fields input,.qa-checkout-options input,.qa-checkout-options select{padding:8px!important}
.qa-checkout-options,.qa-submit-box{gap:6px!important;margin-top:8px!important;padding:8px!important}
.qa-fulfillment button{padding:8px!important}
.pay-actions{margin-top:7px!important}
.pay-actions .btn,.pay-fields .btn{min-height:36px!important}

@media(max-width:680px){
  .cart-drawer{width:100vw}
  .drawer-head{padding:11px 12px}
  .drawer-body{padding:9px 10px}
  .drawer-foot{padding:9px 10px max(24px,env(safe-area-inset-bottom))}
  .payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .payment-method-choice{min-height:46px!important}
}

@media(max-height:760px){
  .drawer-head{padding:9px 12px}
  .drawer-head h2{font-size:16px}
  .drawer-body{padding:8px 10px}
  .drawer-foot{padding:8px 10px max(20px,env(safe-area-inset-bottom))}
  .payment-method-choice{min-height:42px!important;padding:5px 7px!important}
  .payment-method-choice span{display:none!important}
  .payment-method-detail{padding:7px!important}
  .qa-checkout-options,.qa-submit-box{margin-top:6px!important;padding:7px!important}
}
