/* Shared by every gifting dialog - see modalUtils.setScrollLock in js/cart/modal-utils.js. */
.gcw-scroll-locked,
.gcw-scroll-locked body {
    overflow: hidden;
    overscroll-behavior: none;
}

/*
 * The page is pinned rather than merely clipped: body { overflow: hidden } only
 * reaches the viewport while the root element's own overflow is visible, and it
 * does not hold the viewport still on iOS Safari at all.
 *
 * top, left and width come from applyScrollLock, which reads them off the body
 * before it leaves the flow so the page cannot shift or widen underneath the
 * backdrop. releaseScrollLock clears them and restores the offset.
 */
.gcw-scroll-locked body {
    position: fixed;
}
