/* Final mobile scroll hardlock breaker */
@media (max-width: 768px), (pointer: coarse) {
  html,
  body,
  html.nanban-authed,
  body.nanban-pro-app,
  body.nanban-pro-app.nanban-authed {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    position: relative !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    pointer-events: auto !important;
  }

  body.nanban-pro-app #mainApp,
  body.nanban-pro-app #nbAppBody,
  body.nanban-pro-app #nbAppMain,
  body.nanban-pro-app .nb-app-main,
  body.nanban-pro-app .main-content,
  body.nanban-pro-app .nb-app-body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: calc(100dvh - 60px) !important;
    max-height: none !important;
    position: relative !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
    pointer-events: auto !important;
  }

  body.nanban-pro-app #nbAppMain .section-content.active-section,
  body.nanban-pro-app #masterSection.section-content.active-section {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    touch-action: pan-y !important;
    pointer-events: auto !important;
  }

  body.nanban-pro-app.nb-mobile-nav-open,
  body.nanban-pro-app.nb-mobile-nav-open #mainApp,
  body.nanban-pro-app.nb-mobile-nav-open #nbAppMain {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
  }

  #nanbanPagePreloader[style*="display: none"],
  #globalLoader[style*="display:none"],
  #globalLoader[style*="display: none"],
  .modal-overlay[style*="display: none"] {
    pointer-events: none !important;
  }
}
