/**
 * Unified scroll shells (same idea as Holy Grail main pane):
 * body does not scroll; .shefa-hg-main-scroll and .shefa-dash-main-inner do.
 */

html.shefa-layout-holy-grail {
    height: 100%;
}

html.shefa-layout-holy-grail body {
    min-height: 100%;
    height: 100%;
    overflow: hidden;
}

html.shefa-layout-holy-grail .shefa-hg-main-scroll {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

/* Farm / member / admin dashboards — desktop: inner pane scrolls */
@media (min-width: 992px) {
    body:has(.shefa-dash-shell) {
        overflow: hidden;
        height: 100%;
        max-height: 100%;
    }
}

/* Mobile: natural page scroll (avoids trapped / stuck panels) */
@media (max-width: 991.98px) {
    body:has(.shefa-dash-shell) {
        overflow-x: hidden;
        overflow-y: auto;
        height: auto;
        max-height: none;
        min-height: 100%;
        -webkit-overflow-scrolling: touch;
    }

    body:has(.shefa-dash-shell) .shefa-dash-shell {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    body:has(.shefa-dash-shell) .shefa-dash-main,
    body:has(.shefa-dash-shell) .shefa-dash-main-inner {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    body:has(.shefa-dash-shell) .shefa-dash-shell.is-mobile-nav-open .shefa-dash-nav {
        max-height: min(70vh, 520px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

body:has(.shefa-dash-shell) .shefa-dash-main-inner,
body:has(.shefa-dash-shell) .shefa-hg-main-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-gutter: stable;
}

/* Modals: never trap scroll on body — keep the portal pane scrollable (incl. while modal open). */
body.modal-open:has(.shefa-dash-shell),
body.shefa-modal-lock:has(.shefa-dash-shell) {
    overflow: hidden !important;
}

body.modal-open:has(.shefa-dash-shell) .shefa-dash-main-inner,
body.shefa-modal-lock:has(.shefa-dash-shell) .shefa-dash-main-inner,
body.modal-open .shefa-hg-main-scroll,
body.shefa-modal-lock .shefa-hg-main-scroll {
    overflow-y: auto !important;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
