/* Bounded mobile paid-page header and menu geometry. */
.gam-menu-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--gam-menu-backdrop-top, 100vh);
  z-index: 40;
  background: rgba(8, 12, 17, .55);
  touch-action: none;
}

.gam-menu-backdrop[hidden] {
  display: none !important;
}

.ms-menu {
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media (max-width: 1000px) {
  .ms-menu {
    max-height: max(0px, calc(100vh - var(--gam-header-bottom, 70px) - 20px));
  }
}

@supports (height: 100dvh) {
  @media (max-width: 1000px) {
    .ms-menu {
      max-height: max(0px, calc(100dvh - var(--gam-header-bottom, 70px) - 20px));
    }
  }
}

@media (max-width: 760px), (max-width: 1000px) and (pointer: coarse) {
  html {
    scroll-padding-top: calc(var(--gam-mobile-header-height, 76px) + 12px);
  }

  .gh {
    position: sticky;
    top: 0;
    z-index: 1100;
  }

  .gam-menu-backdrop {
    z-index: 1090;
  }
}

@media (max-width: 760px) {
  .sticky.ms-sticky {
    display: none !important;
  }

  body {
    padding-bottom: 0 !important;
  }
}

@media print {
  .gh {
    position: relative;
    top: auto;
    z-index: 50;
  }

  .gam-menu-backdrop,
  .ms-menu {
    display: none !important;
  }
}
