/* Golden Valley Hotel - overrides loaded after the theme stylesheets.
   Theme/vendor CSS is left untouched; fixes live here. */

/* ================================================================
   SINGLE VERTICAL SCROLLBAR
   eb.css sets html { overflow-x:hidden } and main.css sets
   body.himara-vertical-header { overflow-x:hidden }. A hidden x-axis
   forces overflow-y to auto, and default.css pins html, body to
   height:100%, so <body> became its own scroll box (inner scrollbar)
   next to the window's scrollbar. With html back to visible, the
   browser hands body's overflow to the viewport: one scrollbar, and
   horizontal overflow is still hidden.
   ================================================================ */
html {
    overflow-x: visible;
}

/* ================================================================
   MOBILE NAVBAR + OFF-CANVAS SIDEBAR (below 992px)
   ================================================================ */
.gvh-mobile-navbar,
.gvh-mobile-overlay,
.gvh-sidebar-close {
    display: none;
}

@media (max-width: 991.98px) {

    /* Top navbar: logo left, burger right */
    .gvh-mobile-navbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 64px;
        padding: 0 16px;
        background: #fff;
        box-shadow: 0 2px 12px rgba(0,0,0,0.08);
        z-index: 1030;
    }
    .gvh-mobile-logo img {
        display: block;
        height: 44px;
        width: auto;
        max-width: 170px;
        object-fit: contain;
    }
    .gvh-mobile-burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        gap: 6px;
        width: 44px;
        height: 44px;
        padding: 0 4px;
        margin-right: -4px;
        background: none;
        border: 0;
        cursor: pointer;
    }
    .gvh-mobile-burger span {
        display: block;
        width: 26px;
        height: 2px;
        background: var(--green, #002201);
        transition: width 0.3s;
    }
    .gvh-mobile-burger span:nth-child(2) { width: 18px; }
    .gvh-mobile-burger:hover span,
    .gvh-mobile-burger:focus-visible span { width: 26px; background: var(--gold, #c09142); }

    /* Page content starts below the navbar, full width */
    body.himara-vertical-header .wrapper,
    body.himara-vertical-header.opened .wrapper {
        margin-left: 0 !important;
        padding-top: 64px;
    }

    /* Sidebar becomes an off-canvas drawer, hidden until the burger is clicked */
    header.vertical-header,
    header.vertical-header.open-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 300px !important;
        max-width: 85vw;
        height: 100vh !important;
        height: 100dvh !important;
        background: #fff;
        border-right: 0;
        box-shadow: 4px 0 24px rgba(0,0,0,0.18);
        z-index: 1050 !important;
        transform: translateX(-105%);
        visibility: hidden;
        transition: transform 0.35s ease, visibility 0s linear 0.35s;
    }
    body.gvh-mobile-menu-open header.vertical-header {
        transform: none;
        visibility: visible;
        transition: transform 0.35s ease, visibility 0s;
    }

    /* Drawer contents: logo, full menu and Book Now always visible */
    header.vertical-header .main-menu {
        visibility: visible !important;
        opacity: 1 !important;
        animation: none !important;
        width: 100% !important;
    }
    body.sidebar-closed header.vertical-header .brand,
    body.sidebar-closed header.vertical-header .gvh-sidebar-booknow {
        display: block !important;
    }
    header.vertical-header .brand {
        padding: 20px 56px 24px !important;
    }
    header.vertical-header .header-content,
    header.vertical-header .toggle-menu-button {
        display: none !important;
    }

    /* Keep the dropdown chevron on its own row when the submenu expands
       (gvh-custom.css centres it on the whole <li>, which grows when open) */
    header.vertical-header .main-menu .menu-item.dropdown:after {
        top: 27px !important;
    }

    /* Close button */
    .gvh-sidebar-close {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 12px;
        right: 12px;
        width: 40px;
        height: 40px;
        padding: 0;
        background: none;
        border: 1px solid #e5e0d8;
        color: var(--green, #002201);
        font-size: 26px;
        line-height: 1;
        cursor: pointer;
        z-index: 2;
        transition: background 0.25s, color 0.25s, border-color 0.25s;
    }
    .gvh-sidebar-close:hover,
    .gvh-sidebar-close:focus-visible {
        background: var(--gold, #c09142);
        border-color: var(--gold, #c09142);
        color: #fff;
    }

    /* Dimmed backdrop behind the open drawer */
    .gvh-mobile-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.5);
        z-index: 1040;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.35s, visibility 0s linear 0.35s;
    }
    body.gvh-mobile-menu-open .gvh-mobile-overlay {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.35s, visibility 0s;
    }
    body.gvh-mobile-menu-open {
        overflow: hidden;
    }
}
