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

:root{
    --header-height:96px;
    --topbar-height:54px;

    --primary:#0F2E63;
    --secondary:#D79B2B;

    --text:#1F2937;
    --muted:#6B7280;

    --white:#ffffff;
    --border:#ECECEC;

    --transition:.28s ease;
}

.site-header{
    position:sticky;
    top:0;
    z-index:9999;
    background:#fff;
    box-shadow:0 6px 30px rgba(0,0,0,.05);
}

.top-bar{
    height:var(--topbar-height);
    background:#faf8f5;
    border-bottom:1px solid var(--border);
}

.top-bar__inner{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.top-bar__right svg{
    width:22px;
    height:22px;
    stroke:#25D366;
    stroke-width:2.2;
    display:block;
}

.top-bar__right a{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    transition:.3s ease;
}

.top-bar__right a:hover{
    background:#eefaf2;
    transform:translateY(-2px);
}

.top-bar__left{
    display:flex;
    align-items:center;
    gap:10px;
    flex:1;
}

.top-bar__right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:40px;
}
.top-bar__center,
.top-bar__right{
    display:flex;
    align-items:center;
    gap:10px;
}

.top-bar a{
    display:flex;
    align-items:center;
    gap:8px;
    color:#222;
    text-decoration:none;
    font-size:.95rem;
    font-weight:500;
}

.top-bar span{
    color:#222;
}

.top-bar svg{
    width:18px;
    height:18px;
    stroke:var(--secondary);
    stroke-width:2;
    flex-shrink:0;
}

.main-header{
    height:96px;
    background:#fff;
    border-bottom:1px solid #f1f1f1;
}

.container{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 32px;
    box-sizing:border-box;

}
.header-inner{
    height:100%;
    display:grid;
    grid-template-columns:240px minmax(0,1fr) auto;
    align-items:center;
    column-gap:60px;
}

.site-branding{
    display:flex;
    align-items:center;
}

.custom-logo-link{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.custom-logo{
    display:block;
    width:auto;
    height:72px;
    max-width:100%;
    transition:.35s ease;

}

.primary-navigation{
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
}

.header-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-left:auto;
    flex-shrink:0;
}

.primary-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:44px;

    margin:0;
    padding:0;

    list-style:none;
}

.primary-menu li{
    position:relative;
}

.primary-menu a{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    height:96px;

    color:#1F2937;

    font-size:17px;
    font-weight:600;
    line-height:1;

    text-decoration:none;

    transition:all .30s ease;
}

.primary-menu li::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:22px;

    width:0;
    height:2px;

    transform:translateX(-50%);

    background:#D79B2B;

    border-radius:50px;

    transition:all .30s ease;

}

.primary-menu li:hover>a{

    color:#D79B2B;

}

.primary-menu li:hover::after{

    width:32px;

}

.primary-menu li.current-menu-item>a,
.primary-menu li.current_page_item>a,
.primary-menu li.current-menu-parent>a{

    color:#D79B2B;

}

.primary-menu li.current-menu-item::after,
.primary-menu li.current_page_item::after,
.primary-menu li.current-menu-parent::after{

    width:32px;

}

.header-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

.header-cta{

    position:relative;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    width:168px;
    height:48px;

    overflow:hidden;

    border-radius:8px;

    background:
        linear-gradient(
            180deg,
            #173f79 0%,
            #0F2E63 100%
        );

    border:1px solid rgba(215,155,43,.35);

    color:#ffffff;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    letter-spacing:.25px;

    transition:.30s ease;

    box-shadow:
        0 8px 20px rgba(15,46,99,.14);

}

.header-cta::before{

    content:"";

    position:absolute;

    left:-140%;
    top:0;

    width:120%;
    height:100%;

    background:linear-gradient(
        115deg,
        transparent,
        rgba(255,255,255,.28),
        transparent
    );

    transition:.65s;

}

.header-cta:hover{

    transform:translateY(-2px);

    box-shadow:
        0 16px 34px rgba(15,46,99,.22);

}

.header-cta:hover::before{

    left:140%;

}

.header-cta span{

    position:relative;
    z-index:2;

}

.header-cta svg{

    width:16px;
    height:16px;

    stroke:#D79B2B;

    position:relative;
    z-index:2;

    transition:.3s;

}

.header-cta:hover svg{

    transform:translateX(4px);


}

.mobile-menu-toggle{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
}

.mobile-menu-toggle i{
    width:30px;
    height:30px;
}

.mobile-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:320px;
    max-width:90%;
    height:100vh;
    background:#fff;
    z-index:99999;
    transition:.35s ease;
    overflow:auto;
    box-shadow:-10px 0 40px rgba(0,0,0,.15);
}

.mobile-menu.active{
    right:0;
}

.mobile-menu__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:24px;
    border-bottom:1px solid var(--border);
}

.mobile-close{
    background:none;
    border:none;
    cursor:pointer;
}

.mobile-close i{
    width:28px;
    height:28px;
}

.mobile-navigation{
    padding:30px 24px;
}

.mobile-menu-list{
    list-style:none;
    padding:0;
    margin:0;
}

.mobile-menu-list li{
    margin-bottom:18px;
}

.mobile-menu-list a{
    text-decoration:none;
    color:var(--text);
    font-size:1.1rem;
    font-weight:600;
}

.mobile-actions{
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.mobile-actions a{
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    padding:16px;
    border-radius:10px;
    font-weight:700;
}

.mobile-call{
    background:#f3f4f6;
    color:#111;
}

.mobile-whatsapp{
    background:#25D366;
    color:#fff;
}

.mobile-visit{
    background:var(--primary);
    color:#fff;
}

.mobile-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9998;
}

.mobile-overlay.active{
    opacity:1;
    visibility:visible;
}

/* Sticky */

.site-header.scrolled .main-header{
    height:78px;
}

.site-header.scrolled .custom-logo{
    height:60px;
}

/* Responsive */

@media(max-width:991px){

    .top-bar{
        display:none;
    }

    .primary-navigation{
        display:none;
    }

    .mobile-menu-toggle{
        display:block;
    }

    .header-cta{
        display:none;
    }

    .custom-logo{
        height:60px;
    }

}

@media(max-width:576px){

    .main-header{
        height:82px;
    }

    .custom-logo{
        height:52px;
    }

}

.whatsapp-pill{

    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;

    white-space:nowrap;

    color:#1F2937;
    text-decoration:none;

    font-size:14px;
    font-weight:600;
    letter-spacing:.2px;

    transition:.25s ease;

}

.whatsapp-pill svg{

    width:18px;
    height:18px;

    stroke:#D79B2B;
    stroke-width:2;

    flex-shrink:0;

    transition:.25s ease;

}

.whatsapp-pill span{

    white-space:nowrap;

    position:relative;

}

.whatsapp-pill span::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-3px;

    width:0;

    height:1.5px;

    background:#D79B2B;

    transition:.25s ease;

}

.whatsapp-pill:hover{

    color:#0F2E63;

}

.whatsapp-pill:hover svg{

    transform:translateX(2px);

}

.whatsapp-pill:hover span::after{

    width:100%;

}