/* V109: explicit mobile checkout mode; does not depend on :has(). */
body.v109CheckoutActive #bottomBar,
body.v109CheckoutActive #quickModuleDock,
body.v109CheckoutActive .mainMenuMobileNav{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.v109CheckoutActive #viewCheckout .checkoutStickyBar{
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:30050!important;
  transform:none!important;
  isolation:isolate!important;
  padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
}
body.v109CheckoutActive #checkoutNextBtn,
body.v109CheckoutActive #checkoutBackBtn{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  position:relative!important;
  z-index:2!important;
}
body.v109CheckoutActive #viewCheckout.checkoutFlow,
body.v109CheckoutActive #viewCheckout .checkoutFlow{
  padding-bottom:max(126px,calc(108px + env(safe-area-inset-bottom)))!important;
}
@media(max-width:560px){
  body.v109CheckoutActive #viewCheckout .checkoutStickyBar{
    grid-template-columns:auto minmax(0,1fr) minmax(108px,auto)!important;
    gap:6px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
/* Cart: keep Continue to checkout physically above the fixed Shop dock. */
body.v109CartActive #viewCart{
  padding-bottom:max(126px,calc(112px + env(safe-area-inset-bottom)))!important;
}
body.v109CartActive #viewCart #btnGoCheckout{
  position:relative!important;
  z-index:12050!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
body.v109CartActive #viewCart .v109CartCheckoutRow{
  position:sticky!important;
  bottom:calc(92px + env(safe-area-inset-bottom))!important;
  z-index:12050!important;
  padding:7px!important;
  margin-left:-7px!important;
  margin-right:-7px!important;
  border-radius:17px!important;
  background:rgba(10,9,7,.96)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.32)!important;
}
