/* iOS scroll-chain absorber for the slide-over.

   iOS picks a scroll target at gesture start and skips scrollers that cannot
   move in the drag direction; when nothing qualifies it rubber-bands the
   whole PWA viewport, where `overscroll-behavior` is ignored. The same
   happens to leftover momentum when a hard fling runs an inner scroller
   (e.g. a number wheel) into its edge — after the finger lifts, no touch
   guard can intervene.

   The absorber stays scrollable by exactly 1px at all times, so it always
   qualifies as the scroll target for anything chaining out of the drawer —
   and on a genuinely scrollable element `overscroll-behavior: none` IS
   honored, terminating the chain before it reaches the viewport. The sticky
   content layer pins the visible drawer so the 1px of travel never shows.
   (Technique: github.com/stripearmy/react-ios-scroll-lock) */
.slide-over-absorber {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  scrollbar-width: none;
}

.slide-over-absorber::-webkit-scrollbar {
  display: none;
}

.slide-over-absorber-inner {
  height: calc(100% + 1px);
}

.slide-over-absorber-content {
  position: sticky;
  top: 0;
  bottom: 0;
  height: calc(100% - 1px);
}
