/* ==========================================================
   FIGORA HEADER
   ========================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
    transition: all .35s ease;
}

.site-header.is-scrolled {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: var(--shadow-lg);
}

.header-wrapper{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    min-height:84px;
    transition:min-height .35s ease;
}

.site-header.is-scrolled .header-wrapper{
    min-height:72px;
}

/* ==========================================================
   LOGO
========================================================== */

.site-branding{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.custom-logo{
    width:auto;
    max-width:220px;
    max-height:64px;
    transition:all .35s ease;
}

.site-header.is-scrolled .custom-logo{
    max-height:56px;
}

.site-title{
    font-family:var(--font-heading);
    font-size:1.7rem;
    font-weight:700;
    text-decoration:none;
    color:var(--color-heading);
}

/* ==========================================================
   NAVIGATION
========================================================== */

.main-navigation{
    margin-left:auto;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:2rem;
    list-style:none;
    margin:0;
    padding:0;
}

.nav-menu li{
    position:relative;
}

.nav-menu a{
    display:block;
    padding:.5rem 0;
    color:var(--color-text);
    text-decoration:none;
    font-weight:600;
    transition:color .25s ease;
}

.nav-menu a:hover,
.current-menu-item > a,
.current-menu-parent > a,
.current-menu-ancestor > a,
.current_page_parent > a{
    color:var(--color-primary);
}

.nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:var(--color-primary);
    transition:width .3s ease;
}

.nav-menu li:hover > a::after,
.current-menu-item > a::after{
    width:100%;
}

/* ==========================================================
   ACTIONS
========================================================== */

.header-actions{
    display:flex;
    align-items:center;
    gap:1rem;
}

.header-cta{
    white-space:nowrap;
}

/* ==========================================================
   HAMBURGER
========================================================== */

.menu-toggle{
    display:none;
    width:48px;
    height:48px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:0;
}

.menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    margin:5px auto;
    background:var(--color-heading);
    transition:all .3s ease;
    border-radius:10px;
}

.menu-toggle.active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
    opacity:0;
}

.menu-toggle.active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:991px){

    .menu-toggle{
        display:block;
    }

    .header-cta{
        display:none;
    }

    .main-navigation{

        position:absolute;

        top:100%;

        left:0;

        width:100%;

        background:var(--color-surface);

        border-top:1px solid var(--color-border);

        box-shadow:var(--shadow-lg);

        max-height:0;

        overflow:hidden;

        transition:max-height .35s ease;

    }

    .main-navigation.is-open{

        max-height:600px;

    }

    .nav-menu{

        flex-direction:column;

        align-items:flex-start;

        padding:2rem;

        gap:1.25rem;

    }

}

@media (max-width:768px){

    .header-wrapper{

        min-height:72px;

    }

    .custom-logo{

        max-width:170px;

    }

}
/* Prevent scrolling when mobile menu is open */
body.menu-open{
    overflow:hidden;
}