/* Mobile v28 — hard document-end clamp and iOS overscroll repair. */
@media (max-width: 900px) {
  :root {
    --mobile-v28-dock-clearance: calc(82px + env(safe-area-inset-bottom));
  }

  html,
  html body.store-body {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overscroll-behavior-x: none !important;
    overscroll-behavior-y: none !important;
  }

  html body.store-body {
    padding-bottom: 0 !important;
  }

  html body.store-body::before,
  html body.store-body::after,
  html body.store-body #app::before,
  html body.store-body #app::after,
  html body.store-body #app > .store-layout::before,
  html body.store-body #app > .store-layout::after,
  html body.store-body #app > .store-layout > main.main::before,
  html body.store-body #app > .store-layout > main.main::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.store-body #app,
  html body.store-body #app > .store-layout,
  html body.store-body #app > .store-layout.sidebar-collapsed,
  html body.store-body #app > .store-layout.mobile-layout-v23,
  html body.store-body #app > .store-layout.mobile-layout-v24 {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-bottom: 0 !important;
  }

  html body.store-body #app > .store-layout:not(.auth-layout) > main.main,
  html body.store-body #app > .store-layout.sidebar-collapsed:not(.auth-layout) > main.main,
  html body.store-body #app > .store-layout.mobile-layout-v23:not(.auth-layout) > main.main,
  html body.store-body #app > .store-layout.mobile-layout-v24:not(.auth-layout) > main.main {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-bottom: var(--mobile-v28-dock-clearance) !important;
  }

  html body.store-body footer.site-footer,
  html body.store-body footer.site-footer.compact-footer,
  html body.store-body footer.site-footer.footer-v398,
  html body.store-body footer.site-footer.footer-v399 {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body.store-body.mobile-scroll-boundary-v28 {
    overscroll-behavior-y: none !important;
  }
}

@media (max-width: 430px) {
  :root {
    --mobile-v28-dock-clearance: calc(78px + env(safe-area-inset-bottom));
  }
}
