/* Isolated checkout viewport hotfix. All checkout/order controllers remain unchanged. */
/* The live store has other fixed helpers above z-index 110; the checkout must own the top layer. */
.bs-checkout.is-open{
  z-index:1000;
  isolation:isolate;
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:0;
  width:100%;
  max-width:100%;
  min-height:0;
  box-sizing:border-box;
  overscroll-behavior:contain;
  background:var(--co-paper,#e9e5df);
}
/* Do not combine an absolute grid child with top/bottom/height during iOS visualViewport resizing. */
.bs-checkout .checkout-box,
.bs-checkout.is-open .checkout-box{
  position:relative;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  width:min(100%,640px);
  max-width:640px;
  height:100%;
  min-height:0;
  max-height:100%;
  margin:0;
  flex:0 1 640px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:0;
  transform:none;
}
.bs-checkout .checkout-head{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  min-width:0;
  gap:8px;
  padding:calc(8px + env(safe-area-inset-top,0px)) 14px 8px;
}
.bs-checkout .checkout-head>div{flex:1 1 auto;min-width:0}
.bs-checkout .checkout-head h2{
  font-size:clamp(16px,5vw,20px);
  line-height:1.4;
  overflow-wrap:break-word;
}
.bs-checkout .co-back{
  width:auto;
  height:auto;
  min-height:44px;
  flex:0 0 auto;
  padding:8px 2px;
  white-space:nowrap;
  border-radius:0;
}
.bs-checkout .checkout-body{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.bs-checkout .checkout-body #checkoutFormView,
.bs-checkout .co-section,
.bs-checkout .co-address-grid,
.bs-checkout .co-field{min-width:0}
.bs-checkout.co-keyboard .co-actions{position:static}
.bs-checkout.co-keyboard .checkout-body{scroll-padding-block:16px 16px}
/* Keep checkout validation toasts above the isolated dialog (base toast is z-index 130). */
body.is-locked:has(#checkoutModal.bs-checkout.is-open) .toast{
  z-index:1001;
}
/* No other fixed helper may appear over customer phone/address entry. */
body.is-locked:has(#checkoutModal.bs-checkout.is-open) .bs-help-launcher,
body.is-locked:has(#checkoutModal.bs-checkout.is-open) .bs-help-menu{
  visibility:hidden;
  pointer-events:none;
}
@media (min-width:700px){
  .bs-checkout.is-open{padding:20px;background:rgba(0,0,0,.72)}
  .bs-checkout .checkout-box,
  .bs-checkout.is-open .checkout-box{border-radius:20px}
}
@media (max-width:699px){
  .bs-checkout.is-open{background:var(--co-paper,#e9e5df)}
}
@media (max-height:440px){
  .bs-checkout .checkout-head{padding-top:6px;padding-bottom:6px}
  .bs-checkout .checkout-head small{display:none}
  .bs-checkout .checkout-head h2{font-size:16px}
}
