/**
 * Theme Header CSS - Isolated
 * Prefix: bfht-h- (Begin From Here Theme Header)
 * Z-Index: 999999 (Highest priority)
 * Fixed Position with Gradient
 */

/* Header Container - Fixed with Gradient */
.bfht-h-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    /* HIGHEST - Above everything */
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 0.95) 50%,
            rgba(255, 255, 255, 0.85) 70%,
            rgba(255, 255, 255, 0.5) 85%,
            rgba(255, 255, 255, 0) 100%) !important;
    padding: 20px 0 30px 0 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Inner Container (replaces bfhd-container in header) */
.bfht-h-inner {
    max-width: var(--bfhd-container-width, 1360px);
    margin: 0 auto;
    padding: 0 var(--bfhd-container-padding, 20px);
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
    flex-wrap: nowrap !important;
}

/* Logo Section */
.bfht-h-logo-link {
    position: relative !important;
    z-index: 10 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
}

.bfht-h-logo {
    height: 40px !important;
    width: auto !important;
    display: block !important;
}

.bfht-h-logo-text {
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--color-text-dark, #2D3748) !important;
    text-decoration: none !important;
}

/* Auth Buttons */
.bfht-h-auth-buttons {
    position: relative !important;
    z-index: 10 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    display: flex !important;
    gap: 12px !important;
}

.bfht-h-btn {
    padding: 10px 24px !important;
    border-radius: var(--radius-sm, 8px) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: var(--transition, all 0.3s ease) !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-block !important;
    line-height: 1.2 !important;
}

.bfht-h-btn-icon {
    display: none !important;
}

.bfht-h-btn-icon svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

.bfht-h-btn-signup {
    background: var(--color-blue, #5B8FE5) !important;
    color: var(--color-white, #FFFFFF) !important;
}

.bfht-h-btn-signup:hover {
    background: var(--color-blue-dark, #4A6FA5) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.15)) !important;
}

.bfht-h-btn-login {
    background: var(--color-primary, #00E2C1) !important;
    color: var(--color-white, #FFFFFF) !important;
}

.bfht-h-btn-login:hover {
    background: #00C4A8 !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.15)) !important;
}

.bfht-h-btn-logout {
    background: #F87171 !important;
    /* Soft Premium Red */
    color: var(--color-white, #FFFFFF) !important;
}

.bfht-h-btn-logout:hover {
    background: #EF4444 !important;
    /* Darker Red on Hover */
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.15)) !important;
}

/* Navigation Menu */
.bfht-h-nav {
    position: relative !important;
    z-index: 10 !important;
    display: flex;
    align-items: center;
    gap: 30px;
    flex: 1;
    min-width: 0;
    justify-content: flex-end;
}

.bfht-h-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 20px;
}

.bfht-h-menu-item {
    position: relative;
    list-style: none;
}

.bfht-h-menu-link {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: var(--color-text-dark, #333);
    font-weight: 500;
    transition: color 0.3s ease;
}

.bfht-h-menu-link:hover {
    color: var(--color-primary, #00E2C1);
}

/* Submenu/Dropdown */
.bfht-h-submenu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #FFFFFF !important;
    min-width: 220px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 8px !important;
    padding: 8px 0 !important;
    margin-top: 5px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease !important;
    z-index: 999999 !important;
    /* HIGHEST */
    pointer-events: auto !important;
    /* CRITICAL: Enable clicks */
    list-style: none !important;
}

/* Show submenu on hover */
.bfht-h-menu-item:hover>.bfht-h-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    /* CRITICAL: Enable clicks */
}

/* Keep submenu open when hovering over it */
.bfht-h-submenu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    /* CRITICAL: Enable clicks */
}

.bfht-h-submenu-item {
    list-style: none;
}

.bfht-h-submenu-link {
    display: block;
    padding: 10px 20px;
    color: var(--color-text-dark, #333);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.bfht-h-submenu-link:hover {
    background: var(--color-bg, #F7FAFC);
    color: var(--color-primary, #00E2C1);
}

/* Dropdown Arrow Indicator */
.bfht-h-has-children>.bfht-h-menu-link::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 6px;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
}

/* Mobile Menu Toggle */
.bfht-h-mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.bfht-h-mobile-toggle span {
    display: block;
    width: 24px;
    height: 3px;
    background: var(--color-text-dark, #333);
    border-radius: 2px;
    transition: all 0.3s ease;
    margin-bottom: 4px;
}

.bfht-h-mobile-toggle span:last-child {
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .bfht-h-inner {
        gap: 10px !important;
    }

    .bfht-h-mobile-toggle {
        display: block !important;
        order: 4 !important;
    }

    .bfht-h-auth-buttons {
        display: flex !important;
        order: 3 !important;
        gap: 8px !important;
        margin-left: auto !important;
    }

    .bfht-h-btn {
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .bfht-h-btn-text {
        display: none !important;
    }

    .bfht-h-btn-icon {
        display: block !important;
    }

    .bfht-h-btn-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    /* CRITICAL: Do NOT hide the nav container, otherwise menu won't show */
    .bfht-h-nav {
        display: block !important;
        position: static !important;
        width: auto !important;
        flex: 0 !important;
        margin: 0;
        padding: 0;
    }

    .bfht-h-menu {
        display: none;
        flex-direction: column;
        position: fixed;
        /* Changed to fixed to guarantee full screen behavior */
        top: 90px;
        /* Approximate header height */
        bottom: 0;
        left: 0;
        right: 0;
        background: #FFFFFF;
        box-shadow: none;
        /* Full screen doesn't need shadow */
        padding: 20px;
        overflow-y: auto;
        /* Enable scrolling within menu */
        border-top: 1px solid #E2E8F0;
        z-index: 999;
    }

    .bfht-h-menu.is-active {
        display: flex !important;
        flex-direction: column !important;
        height: calc(100vh - 90px) !important;
        justify-content: flex-start !important;
        padding-bottom: 60px !important;
    }

    .bfht-h-menu-item {
        width: 100%;
        border-bottom: 1px solid #F7FAFC;
    }

    .bfht-h-menu-link {
        padding: 15px 0;
        display: flex;
        /* For arrow alignment */
        justify-content: space-between;
        align-items: center;
    }

    .bfht-h-submenu {
        position: relative !important;
        box-shadow: none !important;
        margin-top: 0 !important;
        margin-left: 20px !important;
        border-left: 2px solid #F7FAFC;
        padding-left: 10px !important;
        background: transparent !important;
        top: 0 !important;

        /* HIDE BY DEFAULT */
        display: none !important;
        opacity: 0;
        visibility: hidden;
        transform: none !important;
        height: 0;
        overflow: hidden;
    }

    /* SHOW WHEN OPENED VIA JS */
    .bfht-h-submenu.bfht-submenu-open {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        height: auto !important;
        overflow: visible !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}