/* =========================================================
   STOCKSKILL — BOOK CLASS FINAL FINAL
   ========================================================= */

/* Never allow Book Class to appear as an ordinary page-flow
   element outside the real header navigation. */
body > a[href="/book-class"],
main > a[href="/book-class"],
footer a[href="/book-class"],
footer a[href^="/book-class?"] {
    display:none !important;
}

/* =========================================================
   MOBILE DRAWER — HARD FIXED OVERLAY
   ========================================================= */

.mobile-drawer,
#mobileDrawer {
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    z-index:99990 !important;

    display:block !important;

    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    overflow:hidden !important;
    box-sizing:border-box !important;

    transform:none !important;
}

/* Open state — support all existing class conventions */
.mobile-drawer.open,
.mobile-drawer.active,
#mobileDrawer.open,
#mobileDrawer.active {
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
}

/* Backdrop */
#mobileDrawer .mobile-drawer-backdrop,
.mobile-drawer .mobile-drawer-backdrop {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:1 !important;
}

/* Drawer panel */
#mobileDrawer .mobile-drawer-panel,
.mobile-drawer .mobile-drawer-panel {
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;

    width:min(88vw,390px) !important;
    max-width:390px !important;
    height:100dvh !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    z-index:2 !important;
    box-sizing:border-box !important;

    transform:translateX(100%) !important;
    transition:transform .25s ease !important;
}

#mobileDrawer.open .mobile-drawer-panel,
#mobileDrawer.active .mobile-drawer-panel,
.mobile-drawer.open .mobile-drawer-panel,
.mobile-drawer.active .mobile-drawer-panel {
    transform:translateX(0) !important;
}

/* =========================================================
   BOOK CLASS INSIDE MOBILE MENU
   ========================================================= */

#mobileDrawer .stockskill-mobile-book-class,
.mobile-drawer .stockskill-mobile-book-class {
    display:flex !important;
    align-items:center !important;
    gap:12px !important;

    width:100% !important;
    min-height:48px !important;

    box-sizing:border-box !important;

    padding:12px 14px !important;
    margin:4px 0 !important;

    text-decoration:none !important;

    visibility:visible !important;
    opacity:1 !important;

    position:relative !important;
    z-index:20 !important;

    cursor:pointer !important;
}

.stockskill-mobile-book-icon {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:30px !important;
    height:30px !important;
    min-width:30px !important;

    border-radius:8px !important;
}

/* Do not show mobile-only Book Class outside mobile */
@media (min-width:769px) {
    #mobileDrawer .stockskill-mobile-book-class,
    .mobile-drawer .stockskill-mobile-book-class {
        display:none !important;
    }
}

/* Mobile */
@media (max-width:768px) {
    #mobileDrawer .stockskill-mobile-book-class,
    .mobile-drawer .stockskill-mobile-book-class {
        display:flex !important;
    }

    body.mobile-menu-open {
        overflow:hidden !important;
    }
}
