/* One scroll surface above the iOS keyboard; the page behind stays fixed. */
@media (max-width: 575.98px) {
    body.gf-mobile-modal-lock { position: fixed; top: var(--gf-modal-scroll-top, 0); left: 0; right: 0; width: 100%; overflow: hidden; }
    [data-schedule-modal], [data-member-login-modal] { top: var(--gf-modal-visible-top, 0); bottom: auto; height: var(--gf-modal-visible-height, 100dvh); padding: 8px; overflow: hidden; }
    [data-schedule-modal] .gf-legacy-modal__dialog--schedule,
    [data-schedule-modal] .gf-session,
    [data-schedule-modal] .gf-session-trainer-card.is-open,
    [data-member-login-modal] .gf-legacy-modal__dialog { max-height: calc(var(--gf-modal-visible-height, 100dvh) - 16px); }
    [data-schedule-modal] .gf-session { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
    [data-schedule-modal] .gf-session__body { flex: none; overflow: visible; }
    [data-schedule-modal] .gf-session .lk-line { flex: none; }
    [data-schedule-modal] .gf-member-form input,
    [data-member-login-modal] input { font-size: 16px; scroll-margin-block: 16px; }
    [data-schedule-mobile-focus] [data-schedule-card] { scroll-margin-top: 16px; }
}
