/* GorBandhan public navbar hover/focus closure - 2026-09-18
   Keeps desktop dropdowns stable while moving the pointer into the menu,
   replaces the browser/Bootstrap blue focus ring with brand styling,
   and preserves an accessible keyboard focus indicator. */

.bv-site-header .bv-main-menu > .nav-item > .nav-link {
    border: 1px solid transparent !important;
    outline: none;
    box-shadow: none;
    transition: color .18s ease, background .18s ease, border-color .18s ease,
                box-shadow .18s ease, transform .18s ease !important;
}

/* Mouse hover and open dropdown state */
.bv-site-header .bv-main-menu > .nav-item > .nav-link:hover,
.bv-site-header .bv-main-menu > .nav-item.dropdown:hover > .nav-link,
.bv-site-header .bv-main-menu > .nav-item > .nav-link.show,
.bv-site-header .bv-main-menu > .nav-item.dropdown:focus-within > .nav-link {
    color: #7a1230 !important;
    background: linear-gradient(135deg, #fff7e8 0%, #fff0d7 100%) !important;
    border-color: rgba(122, 18, 48, .16) !important;
    box-shadow: 0 8px 20px rgba(122, 18, 48, .10) !important;
    transform: translateY(-1px);
}

.bv-site-header .bv-main-menu > .nav-item > .nav-link:hover i,
.bv-site-header .bv-main-menu > .nav-item > .nav-link.show i,
.bv-site-header .bv-main-menu > .nav-item.dropdown:focus-within > .nav-link i {
    color: #8b1239 !important;
}

/* Mouse click must not leave the browser's blue focus ring behind. */
.bv-site-header .bv-main-menu > .nav-item > .nav-link:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* Keep keyboard navigation accessible, but use GorBandhan gold rather than blue. */
.bv-site-header .bv-main-menu > .nav-item > .nav-link:focus-visible {
    color: #7a1230 !important;
    background: #fff7e8 !important;
    border-color: rgba(245, 158, 11, .72) !important;
    outline: 3px solid rgba(245, 158, 11, .42) !important;
    outline-offset: 2px !important;
    box-shadow: 0 8px 20px rgba(122, 18, 48, .10) !important;
}

/* Dropdown item hover follows the same brand treatment. */
.bv-site-header .bv-dropdown-menu .dropdown-item {
    transition: color .16s ease, background .16s ease, transform .16s ease !important;
}

.bv-site-header .bv-dropdown-menu .dropdown-item:hover,
.bv-site-header .bv-dropdown-menu .dropdown-item:focus {
    color: #7a1230 !important;
    background: linear-gradient(90deg, #fff8ec 0%, #fff0d9 100%) !important;
    transform: translateX(3px);
    outline: none !important;
}

.bv-site-header .bv-dropdown-menu .dropdown-item:focus-visible {
    outline: 2px solid rgba(245, 158, 11, .50) !important;
    outline-offset: 1px !important;
}

@media (min-width: 1200px) {
    /* Keep desktop hover menus rendered so opacity/visibility can transition.
       They stay absolute, so they do not affect navbar layout. */
    .bv-site-header .bv-main-menu > .bv-dropdown > .bv-dropdown-menu {
        display: block !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        margin-top: 8px !important;
        transform: translateY(8px) !important;
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    }

    /* Transparent hover bridge removes the dead gap between toggle and menu. */
    .bv-site-header .bv-main-menu > .bv-dropdown > .bv-dropdown-menu::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -10px;
        height: 12px;
        background: transparent;
    }

    .bv-site-header .bv-main-menu > .bv-dropdown:hover > .bv-dropdown-menu,
    .bv-site-header .bv-main-menu > .bv-dropdown:focus-within > .bv-dropdown-menu,
    .bv-site-header .bv-main-menu > .bv-dropdown > .bv-dropdown-menu.show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) !important;
    }
}

@media (max-width: 1199.98px) {
    /* Mobile/tablet remains click/tap driven by Bootstrap. */
    .bv-site-header .bv-main-menu > .bv-dropdown > .bv-dropdown-menu {
        transform: none !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link:hover,
    .bv-site-header .bv-main-menu > .nav-item > .nav-link.show,
    .bv-site-header .bv-main-menu > .nav-item.dropdown:focus-within > .nav-link {
        transform: none !important;
    }
}


/* Public navigation type hierarchy - 2026-09-18
   Main menu intentionally stronger than dropdown submenu. */
@media (min-width: 1200px) {
    .bv-site-header .bv-main-menu > .nav-item > .nav-link {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }

    .bv-site-header .bv-dropdown-menu .dropdown-item {
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    .bv-site-header .bv-dropdown-menu .dropdown-item i {
        font-size: 19px !important;
    }
}

/* ================================================================
   GorBandhan public header full-width fit closure - 2026-09-18
   Keeps every desktop navigation/action item visible on common
   125% Windows display scaling / 1200-1499 CSS-pixel viewports.
   Wide desktop keeps the approved 18px main / 16px submenu hierarchy.
   ================================================================ */

@media (min-width: 1200px) {
    .bv-site-header .bv-navbar .bv-shell {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .bv-site-header .bv-brand {
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }

    .bv-site-header .bv-nav-collapse {
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .bv-site-header .bv-main-menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }

    .bv-site-header .bv-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;
        min-width: max-content !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }

    .bv-site-header .bv-language-form {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .bv-site-header .bv-register-btn,
    .bv-site-header .bv-login-btn,
    .bv-site-header .bv-language-select {
        white-space: nowrap !important;
    }
}

/* Compact desktop: Bootstrap is already expanded at xl (1200px),
   therefore this range must be deliberately tighter than wide desktop. */
@media (min-width: 1200px) and (max-width: 1499.98px) {
    .bv-site-header .bv-navbar .bv-shell {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 6px !important;
    }

    .bv-site-header .bv-brand {
        flex: 0 0 90px !important;
        width: 90px !important;
        max-width: 90px !important;
        margin-right: 2px !important;
    }

    .bv-site-header .bv-menu-logo {
        width: auto !important;
        max-width: 88px !important;
        max-height: 58px !important;
    }

    .bv-site-header .bv-nav-collapse {
        gap: 5px !important;
    }

    .bv-site-header .bv-main-menu {
        gap: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link {
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        padding: 10px 7px !important;
        gap: 3px !important;
        letter-spacing: 0 !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link i {
        font-size: 15px !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link .me-1 {
        margin-right: .18rem !important;
    }

    .bv-site-header .bv-main-menu .dropdown-toggle::after {
        margin-left: 5px !important;
    }

    .bv-site-header .bv-actions {
        gap: 5px !important;
        margin-left: 3px !important;
    }

    .bv-site-header .bv-login-btn,
    .bv-site-header .bv-register-btn {
        min-height: 42px !important;
        height: 42px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .bv-site-header .bv-register-btn {
        gap: 5px !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .bv-site-header .bv-language-select {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 104px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding-left: 11px !important;
        padding-right: 29px !important;
        font-size: 13px !important;
    }
}

/* Extra-tight expanded desktop range.  Keep text complete rather than
   clipping Register Free / Language when Windows scaling reduces CSS width. */
@media (min-width: 1200px) and (max-width: 1299.98px) {
    .bv-site-header .bv-navbar .bv-shell {
        padding-left: 8px !important;
        padding-right: 8px !important;
        gap: 3px !important;
    }

    .bv-site-header .bv-brand {
        flex-basis: 78px !important;
        width: 78px !important;
        max-width: 78px !important;
        margin-right: 0 !important;
    }

    .bv-site-header .bv-menu-logo {
        max-width: 76px !important;
        max-height: 54px !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link {
        font-size: 14px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .bv-site-header .bv-main-menu > .nav-item > .nav-link i {
        font-size: 14px !important;
    }

    .bv-site-header .bv-actions {
        gap: 4px !important;
        margin-left: 1px !important;
    }

    .bv-site-header .bv-login-btn,
    .bv-site-header .bv-register-btn {
        padding-left: 9px !important;
        padding-right: 9px !important;
        font-size: 12.5px !important;
    }

    .bv-site-header .bv-language-select {
        width: 94px !important;
        min-width: 94px !important;
        max-width: 94px !important;
        padding-left: 9px !important;
        padding-right: 26px !important;
        font-size: 12.5px !important;
    }
}

/* Wide desktop retains the approved hierarchy. */
@media (min-width: 1500px) {
    .bv-site-header .bv-main-menu > .nav-item > .nav-link {
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    .bv-site-header .bv-dropdown-menu .dropdown-item {
        font-size: 16px !important;
        font-weight: 600 !important;
    }
}
