/**
 * HBREA Header Styles
 *
 * Header, navigation, and sticky top bar enhancements.
 * Works with Astra's Header Builder.
 *
 * @package HBREA
 * @since 1.0.0
 */

/* ==========================================================================
   HEADER BASE
   ========================================================================== */

.ast-primary-header-wrap {
    transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.ast-primary-header-wrap.is-scrolled {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

/* Main nav links */
.ast-header-break-point .main-navigation {
    font-family: var(--hbrea-font-heading);
}

.main-header-menu > .menu-item > a {
    font-family: var(--hbrea-font-heading);
    font-weight: var(--hbrea-font-semibold);
    font-size: var(--hbrea-text-sm);
    text-transform: uppercase;
    letter-spacing: var(--hbrea-tracking-wide);
    color: var(--hbrea-navy);
    transition: color var(--hbrea-transition-fast);
}

.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > a {
    color: var(--hbrea-copper);
}

/* Dropdown menus */
.main-header-menu .sub-menu {
    background-color: var(--hbrea-white);
    border-radius: var(--hbrea-radius);
    box-shadow: var(--hbrea-shadow-lg);
    border: 1px solid var(--hbrea-gray-200);
    padding: var(--hbrea-space-2) 0;
}

.main-header-menu .sub-menu .menu-item a {
    font-size: var(--hbrea-text-sm);
    font-weight: var(--hbrea-font-medium);
    text-transform: none;
    letter-spacing: normal;
    padding: var(--hbrea-space-2) var(--hbrea-space-4);
    color: var(--hbrea-gray-700);
    transition: background-color var(--hbrea-transition-fast), color var(--hbrea-transition-fast);
}

.main-header-menu .sub-menu .menu-item a:hover {
    background-color: var(--hbrea-gray-100);
    color: var(--hbrea-navy);
}

/* ==========================================================================
   HEADER BUTTONS
   ========================================================================== */

/* Donate button in header */
.ast-header-button-1 a,
.ast-header-button-2 a {
    font-family: var(--hbrea-font-heading);
    font-weight: var(--hbrea-font-semibold);
    text-transform: uppercase;
    letter-spacing: var(--hbrea-tracking-wide);
    border-radius: var(--hbrea-radius);
    transition: all var(--hbrea-transition-fast);
}

/* Primary button (Join HBREA) */
.ast-header-button-1 a {
    background-color: var(--hbrea-copper) !important;
    color: var(--hbrea-white) !important;
    border: none !important;
}

.ast-header-button-1 a:hover {
    background-color: #A86638 !important; /* Darker copper */
}

/* Secondary button (Donate) */
.ast-header-button-2 a {
    background-color: transparent !important;
    color: var(--hbrea-navy) !important;
    border: 2px solid var(--hbrea-navy) !important;
}

.ast-header-button-2 a:hover {
    background-color: var(--hbrea-navy) !important;
    color: var(--hbrea-white) !important;
}

/* ==========================================================================
   MOBILE HEADER
   ========================================================================== */

/* Mobile menu toggle */
.ast-mobile-menu-trigger-minimal {
    color: var(--hbrea-navy);
}

/* Mobile menu panel */
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    background-color: var(--hbrea-white);
}

.ast-mobile-popup-drawer .main-header-menu .menu-item a {
    font-family: var(--hbrea-font-heading);
    font-weight: var(--hbrea-font-medium);
    color: var(--hbrea-navy);
    padding: var(--hbrea-space-3) var(--hbrea-space-4);
    border-bottom: 1px solid var(--hbrea-gray-200);
}

.ast-mobile-popup-drawer .main-header-menu .menu-item a:hover {
    color: var(--hbrea-copper);
}

/* Mobile submenu */
.ast-mobile-popup-drawer .sub-menu .menu-item a {
    padding-left: var(--hbrea-space-8);
    font-size: var(--hbrea-text-sm);
}

/* Close button */
.ast-mobile-popup-drawer .menu-toggle-close {
    color: var(--hbrea-navy);
}

/* ==========================================================================
   LOGO
   ========================================================================== */

.site-logo-img .custom-logo {
    max-height: 60px;
    width: auto;
}

@media (min-width: 768px) {
    .site-logo-img .custom-logo {
        max-height: 70px;
    }
}

/* ==========================================================================
   TRANSPARENT HEADER (for homepage hero)
   ========================================================================== */

.hbrea-has-hero .ast-primary-header-wrap {
    position: absolute;
    width: 100%;
    z-index: var(--hbrea-z-sticky);
    background-color: transparent;
}

.hbrea-has-hero .main-header-menu > .menu-item > a {
    color: var(--hbrea-white);
}

.hbrea-has-hero .main-header-menu > .menu-item > a:hover {
    color: var(--hbrea-copper);
}

.hbrea-has-hero .ast-mobile-menu-trigger-minimal {
    color: var(--hbrea-white);
}

/* Scrolled state */
.hbrea-has-hero .ast-primary-header-wrap.is-scrolled {
    position: fixed;
    background-color: var(--hbrea-white);
}

.hbrea-has-hero .ast-primary-header-wrap.is-scrolled .main-header-menu > .menu-item > a {
    color: var(--hbrea-navy);
}

.hbrea-has-hero .ast-primary-header-wrap.is-scrolled .main-header-menu > .menu-item > a:hover {
    color: var(--hbrea-copper);
}

.hbrea-has-hero .ast-primary-header-wrap.is-scrolled .ast-mobile-menu-trigger-minimal {
    color: var(--hbrea-navy);
}

/* ==========================================================================
   STICKY TOP BAR ADJUSTMENT
   ========================================================================== */

/* Account for top bar height */
.admin-bar .hbrea-topbar {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .hbrea-topbar {
        top: 46px;
    }
}

/* Push header down when top bar is visible */
body:not(.hbrea-topbar-hidden) .ast-primary-header-wrap {
    margin-top: var(--hbrea-topbar-height);
}

/* When top bar is hidden */
body.hbrea-topbar-hidden .ast-primary-header-wrap {
    margin-top: 0;
}
