/* Isolate the storefront while a mobile dialog is open. Keep its layout for scroll restoration. */
html.ct-mobile-page-locked,body.ct-mobile-page-locked{background:#fff!important;overscroll-behavior:none!important}
body.ct-mobile-page-locked>:not(#ct-chat-widget):not(#ct-order-modal):not(#ct-chat-photo-viewer),body.ct-mobile-page-locked>:not(#ct-chat-widget):not(#ct-order-modal):not(#ct-chat-photo-viewer) *{visibility:hidden!important;pointer-events:none!important}
/* Cover the layout viewport as well as Safari's moving visual viewport. The overscan
   also prevents the storefront from being sampled behind a translucent keyboard. */
body.ct-mobile-page-locked::before{content:""!important;display:block!important;position:fixed!important;inset:-100vmax!important;z-index:2147482800!important;background:#fff!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;transform:none!important;animation:none!important;transition:none!important}
#ct-chat-widget.ct-chat-mobile #ct-chat-window:focus,#ct-order-modal.ct-order-mobile .ct-order-dialog:focus{outline:0!important}
#ct-chat-widget.ct-chat-mobile #ct-chat-window,#ct-order-modal.ct-order-mobile{touch-action:pan-y pinch-zoom}

body.ct-mobile-page-locked.ct-order-open #ct-chat-widget,body.ct-mobile-page-locked.ct-order-open #ct-chat-widget *{visibility:hidden!important;pointer-events:none!important}
