/* ==========================================================================
   MHASIBU — HEADER & NAVIGATION
   Child Theme
   ========================================================================== */


/* ==========================================================================
   1. TOP INFORMATION BAR
   ========================================================================== */

.top-bar {
    width: 100%;
    background-color: var(--mhs-navy-deep) !important;
    color: var(--mhs-white);
    font-family: var(--mhs-font-body);
    font-size: 12px;
}

.top-bar .top-bar-container {
    max-width: 1100px;
    min-height: 40px;
    margin: 0 auto;
    padding: 0 32px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top-bar-left,
.top-bar-right {
    display: flex;
    align-items: center;
}

.top-bar-left {
    gap: 24px;
}

.top-bar-right {
    gap: 20px;
}

.top-bar a {
    color: var(--mhs-white) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
}

.top-bar a:hover {
    color: var(--mhs-copper-light) !important;
}

.top-bar svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    flex-shrink: 0;
}

.top-bar .social-icons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-bar .social-icons a {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    font-size: 11px;
}

.top-bar .social-icons a:hover {
    background-color: var(--mhs-copper);
    color: var(--mhs-white) !important;
}


/* ==========================================================================
   2. ASTRA ABOVE HEADER
   ========================================================================== */

.ast-above-header-wrap,
.ast-above-header-bar,
.ast-above-header,
.site-above-header-wrap {
    background-color: var(--mhs-navy-deep) !important;
}

.ast-header-html-1,
.ast-header-html-1 .ast-header-html,
.ast-header-html-1 .ast-builder-html-element {
    background-color: transparent !important;
}


/* ==========================================================================
   3. MAIN HEADER
   ========================================================================== */

.site-header,
.ast-primary-header,
.ast-primary-header-bar,
#ast-desktop-header .ast-primary-header-bar,
.ast-primary-header .ast-builder-grid-row {
    background-color: var(--mhs-white) !important;
    background-image: none !important;
}

.ast-primary-header-bar .site-primary-header-wrap {
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.ast-primary-header-bar .ast-builder-grid-row {
    align-items: center !important;
}

.ast-primary-sticky-header-active .ast-primary-header,
.ast-header-sticked .ast-primary-header {
    box-shadow: var(--mhs-shadow-header);
}


/* ==========================================================================
   4. LOGO / BRANDING
   ========================================================================== */

.site-branding .site-title a,
.site-branding .site-title {
    color: var(--mhs-navy) !important;
    font-family: var(--mhs-font-display);
    font-weight: var(--mhs-weight-bold);
    font-size: 18px;
    letter-spacing: 1px;
}

.site-branding .site-description,
.ast-site-identity .site-description,
.site-description {
    display: none !important;
}

.site-branding img,
.custom-logo-link img,
.ast-site-identity img,
.ast-transparent-header .custom-logo {
    height: 64px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    padding: 8px 0 !important;
    transition: transform 0.3s ease;
}

.custom-logo-link:hover img,
.ast-site-identity:hover img {
    transform: scale(1.03);
}


/* ==========================================================================
   5. MAIN NAVIGATION
   ========================================================================== */

/* .main-header-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

.main-header-menu > .menu-item > a {
    color: var(--mhs-navy) !important;
    font-family: var(--mhs-font-body);
    font-size: 14px !important;
    font-weight: var(--mhs-weight-semibold);
    letter-spacing: 0.3px;

    padding: 8px 14px;

    border-bottom: 2px solid transparent;

    transition:
        color 0.2s ease,
        border-color 0.2s ease;
    white-space: nowrap !important;
}


.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > a {
    color: var(--mhs-copper) !important;
    border-bottom-color: var(--mhs-copper);
} */


/* ==========================================================================
   6. DROPDOWN MENU
   ========================================================================== */

.main-header-menu .sub-menu {
    background-color: var(--mhs-white) !important;
    min-width: 220px;

    border-top: 3px solid var(--mhs-copper);
    border-radius: 8px !important;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25) !important;

    overflow: hidden !important;
}

.main-header-menu .sub-menu .menu-item a {
    color: var(--mhs-text) !important;
    font-family: var(--mhs-font-body);
    font-size: var(--mhs-size-small);
    font-weight: var(--mhs-weight-regular);

    padding: 10px 20px;

    border-left: 3px solid transparent;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        padding-left 0.25s ease,
        border-color 0.25s ease;
}

.main-header-menu .sub-menu .menu-item a:hover {
    background-color: var(--mhs-peach);
    color: var(--mhs-copper) !important;
    border-left-color: var(--mhs-copper-light);
    padding-left: 20px;
}

.main-header-menu > .menu-item.menu-item-has-children > a::after {
    content: '\25BE';
    font-size: 10px;
    margin-left: 4px;
    opacity: 0.5;
}


/* ==========================================================================
   7. HEADER BUTTONS
   ========================================================================== */

.ast-header-button-1,
.ast-header-button-2 {
    white-space: nowrap !important;
}

.ast-header-button-1 .ast-custom-button,
.ast-header-button-2 .ast-custom-button,
.ast-custom-button,
a.ast-custom-button {
    font-family: var(--mhs-font-body);
    font-size: 14px !important;
    font-weight: var(--mhs-weight-semibold);

    border-radius: 8px !important;

    padding: 12px 24px !important;

    letter-spacing: 0.05em;
    text-transform: none;

    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.ast-header-button-1 .ast-custom-button {
    background-color: var(--mhs-white) !important;
    color: var(--mhs-navy) !important;
    border: 1px solid var(--mhs-navy) !important;
    box-shadow: 0 4px 14px rgba(21, 22, 103, 0.35) !important;
}

.ast-header-button-1 .ast-custom-button:hover {
    background-color: #0e0f4a !important;
    color: var(--mhs-white) !important;
    box-shadow: 0 6px 20px rgba(21, 22, 103, 0.45) !important;
    transform: translateY(-2px);
}

.ast-header-button-2 .ast-custom-button {
    background-color: var(--mhs-copper-light) !important;
    color: var(--mhs-white) !important;
    border: 1px solid var(--mhs-copper-light) !important;
}

.ast-header-button-2 .ast-custom-button:hover {
    background-color: var(--mhs-copper) !important;
    color: var(--mhs-white) !important;
    border-color: var(--mhs-copper) !important;
    transform: translateY(-2px);
}


/* ==========================================================================
   8. MOBILE HEADER
   ========================================================================== */

.ast-mobile-menu-trigger-minimal .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg,
.ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: var(--mhs-navy);
}

.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    background-color: var(--mhs-navy-deep);
}

.ast-mobile-popup-drawer .menu-item a {
    color: var(--mhs-white) !important;
    font-family: var(--mhs-font-body);
    font-size: var(--mhs-size-body);

    padding: 12px 20px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ast-mobile-popup-drawer .menu-item a:hover {
    color: var(--mhs-copper-light) !important;
}


/* ==========================================================================
   9. HEADER DECORATIVE TOP LINE
   ========================================================================== */

body::before {
    content: "";
    display: block;

    width: 100%;
    height: 5px;

    background: var(--mhs-copper);

    position: fixed;
    top: 0;
    left: 0;

    z-index: 99999;
}


/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    .top-bar {
        display: none;
    }

    .ast-primary-header-bar .site-primary-header-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-branding img,
    .custom-logo-link img,
    .ast-site-identity img {
        height: 56px !important;
    }
}