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

.btp-header{

    position:sticky;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

}

.btp-nav-wrap{

    background:rgba(255,255,255,.94);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid #ECECEC;

    transition:.35s ease;

}

.btp-header.is-scrolled .btp-nav-wrap{

    background:#FFFFFF;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.btp-nav-inner{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

    min-height:88px;

}

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

.btp-logo{

    display:flex;

    align-items:center;

    flex-shrink:0;

}

.btp-logo img{

    max-height:52px;

    width:auto;

}

.btp-logo-text{

    display:flex;

    align-items:center;

    gap:12px;

    text-decoration:none;

}

.btp-logo-icon{

    width:32px;

    height:32px;

    color:var(--color-accent);

}

.btp-logo-text strong{

    font-family:var(--font-heading);

    font-size:20px;

    font-weight:700;

    color:var(--color-heading);

}

.btp-logo-text small{

    display:block;

    margin-top:2px;

    font-size:11px;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:var(--color-accent);

}

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

.btp-primary-nav{

    flex:1;

    display:flex;

    justify-content:center;

}

.btp-nav-list{

    display:flex;

    align-items:center;

    gap:6px;

    margin:0;

    padding:0;

    list-style:none;

}

.btp-nav-item{

    position:relative;

}

.btp-nav-link{

    display:flex;

    align-items:center;

    color:var(--color-heading);

    font-weight:600;

    font-size:15px;

    text-decoration:none;

    padding:11px 18px;

    border-radius:999px;

    position:relative;

    transition:color .25s ease, background-color .25s ease;

}

.btp-nav-link:hover{

    color:var(--color-accent);

    background-color:rgba(216,27,96,.08);

}

.btp-nav-link[aria-current="page"]{

    color:var(--color-accent);

    background-color:rgba(216,27,96,.1);

}

/* ==========================================================
   CTA
========================================================== */

.btp-nav-cta{

    display:flex;

    align-items:center;

    gap:18px;

}

.btp-nav-cta .btp-btn{

    height:52px;

    padding:0 24px;

    border-radius:999px;

}

/* ==========================================================
   HAMBURGER
========================================================== */

.btp-hamburger{

    display:none;

    width:48px;

    height:48px;

    border:none;

    background:#F5F6F8;

    border-radius:50%;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    gap:5px;

}

.btp-hamburger-bar{

    width:22px;

    height:2px;

    background:#111;

}

/* ==========================================================
   MOBILE DRAWER
========================================================== */

.btp-drawer{

    position:fixed;

    top:0;

    right:0;

    width:100%;

    height:100%;

    background:#FFFFFF;

    transform:translateX(100%);

    transition:.35s ease;

    display:flex;

    flex-direction:column;

    z-index:99999;

}

.btp-drawer.is-open{

    transform:translateX(0);

}

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

.btp-drawer-head{

    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:88px;

    padding:24px;

    border-bottom:1px solid #ECECEC;

}

.btp-logo-text-drawer{

    display:flex;

    align-items:center;

    gap:12px;

}

.btp-drawer-close{

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:#FFE7F1;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.3s;

}

.btp-drawer-close:hover{

    background:var(--color-accent);

    color:#FFFFFF;

}


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

.btp-drawer-nav{

    flex:1;

    overflow-y:auto;

    padding:32px 24px 24px;

}

.btp-drawer-list{

    display:flex;

    flex-direction:column;

    gap:0;

    margin:0;

    padding:0;

    list-style:none;

}

.btp-drawer-list li{

    width:100%;

}

.btp-drawer-list .btp-nav-link{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    width:100%;

    padding:18px 0;

    font-size:18px;

    font-weight:600;

    color:var(--color-heading);

    border-bottom:1px solid #ECECEC;

    transition:.3s ease;

}

.btp-drawer-list .btp-nav-link:hover{

    color:var(--color-accent);

    padding-left:12px;

}

.btp-drawer-list .btp-nav-link::after{

    display:none;

}

/* ==========================================================
   SUB MENU
========================================================== */

.btp-drawer-list .btp-submenu{

    display:none;

    position:static;

    opacity:1;

    visibility:visible;

    transform:none;

    box-shadow:none;

    background:transparent;

    padding:10px 0 10px 20px;

}

.btp-drawer-list .has-dropdown.is-open>.btp-submenu{

    display:block;

}

/* ==========================================================
   CTA FOOTER
========================================================== */

.btp-drawer-foot{

    padding:24px;

    border-top:1px solid #ECECEC;

    background:#FFFFFF;

}

.btp-drawer-foot .btp-btn{

    width:100%;

    height:58px;

    border-radius:999px;

    justify-content:center;

    font-size:17px;

    font-weight:700;

}

/* ==========================================================
   REMOVE SOCIAL
========================================================== */

.btp-drawer-social{

    display:none !important;

}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width:1024px){

    .btp-primary-nav{

        display:none;

    }

    .btp-hamburger{

        display:flex;

    }

    .btp-nav-cta{

        gap:12px;

    }

    .btp-nav-cta .btp-btn{

        width:220px;

        height:50px;

        padding:0 18px;

    }

    .btp-nav-inner{

        min-height:82px;

    }

}

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

@media (max-width:767px){

    .btp-nav-inner{

        min-height:76px;

        padding:0;

    }

    .btp-logo img{

        max-height:42px;

    }

    .btp-logo-text strong{

        font-size:18px;

    }

    .btp-logo-text small{

        display:none;

    }

    .btp-nav-cta .btp-btn{

        display:none;

    }

    .btp-hamburger{

        width:46px;

        height:46px;

    }

    .btp-drawer-head{

        min-height:80px;

        padding:20px;

    }

    .btp-drawer-nav{

        padding:28px 20px;

    }

    .btp-drawer-list .btp-nav-link{

        font-size:18px;

        padding:20px 0;

    }

    .btp-drawer-foot{

        padding:20px;

    }

}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width:480px){

    .btp-logo-text strong{

        font-size:17px;

    }

    .btp-logo-icon{

        width:28px;

        height:28px;

    }

    .btp-drawer-close{

        width:44px;

        height:44px;

    }

    .btp-drawer-list .btp-nav-link{

        font-size:17px;

        padding:18px 0;

    }

    .btp-drawer-foot .btp-btn{

        height:54px;

        font-size:16px;

    }

}

/* ==========================================================
   DRAWER ANIMATION
========================================================== */

.btp-drawer{

    will-change:transform;

}

.btp-drawer-overlay{

    backdrop-filter:blur(4px);

    -webkit-backdrop-filter:blur(4px);

}

.btp-drawer.is-open{

    animation:drawerSlide .35s ease forwards;

}

@keyframes drawerSlide{

    from{

        transform:translateX(100%);

    }

    to{

        transform:translateX(0);

    }

}

/* ==========================================================
   ACCESSIBILITY
========================================================== */

.btp-drawer-close:focus-visible,
.btp-hamburger:focus-visible,
.btp-nav-link:focus-visible{

    outline:2px solid var(--color-accent);

    outline-offset:3px;

}



/* ==========================================================
   FIXED STICKY HEADER — RESPONSIVE PRODUCTION OVERRIDES
   Keeps the navigation visible without covering page content.
========================================================= */

:root{
    --btp-admin-bar-offset:0px;
    --btp-header-height:88px;
}

.admin-bar{
    --btp-admin-bar-offset:32px;
}

.btp-header{
    position:fixed;
    top:var(--btp-admin-bar-offset);
    right:0;
    left:0;
    width:100%;
    z-index:99990;
    transform:translateZ(0);
    backface-visibility:hidden;
}

.btp-header-spacer{
    display:block;
    width:100%;
    height:var(--btp-header-height);
    flex:none;
    pointer-events:none;
}

.btp-nav-wrap{
    width:100%;
    background:rgba(255,255,255,.92);
    border-bottom:1px solid rgba(14,17,22,.08);
    box-shadow:0 1px 0 rgba(14,17,22,.03);
    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.btp-header.is-scrolled .btp-nav-wrap{
    background:rgba(255,255,255,.98);
    border-bottom-color:rgba(14,17,22,.1);
    box-shadow:0 12px 32px rgba(14,17,22,.11);
}

.btp-nav-inner{
    width:100%;
    min-height:88px;
    transition:min-height .25s ease;
}

.btp-header.is-scrolled .btp-nav-inner{
    min-height:74px;
}

.btp-logo img,
.btp-logo .custom-logo{
    display:block;
    width:auto;
    max-width:220px;
    max-height:52px;
    object-fit:contain;
    transition:max-height .25s ease;
}

.btp-header.is-scrolled .btp-logo img,
.btp-header.is-scrolled .btp-logo .custom-logo{
    max-height:45px;
}

/* Prevent anchor links from hiding below the fixed header. */
html{
    scroll-padding-top:calc(var(--btp-header-height) + var(--btp-admin-bar-offset) + 16px);
}

section[id],
main[id],
footer[id]{
    scroll-margin-top:calc(var(--btp-header-height) + var(--btp-admin-bar-offset) + 16px);
}

/* Drawer remains above the fixed header on tablets and phones. */
.btp-drawer-overlay{
    z-index:99995;
}

.btp-drawer{
    z-index:99999;
}

@media (max-width:1024px){
    :root{
        --btp-header-height:82px;
    }

    .btp-nav-inner{
        min-height:82px;
        gap:18px;
    }

    .btp-header.is-scrolled .btp-nav-inner{
        min-height:72px;
    }

    .btp-logo img,
    .btp-logo .custom-logo{
        max-width:190px;
        max-height:48px;
    }

    .btp-header.is-scrolled .btp-logo img,
    .btp-header.is-scrolled .btp-logo .custom-logo{
        max-height:42px;
    }

    .btp-nav-cta .btp-btn{
        width:auto;
        min-width:188px;
        max-width:220px;
        white-space:nowrap;
    }
}

@media (max-width:782px){
    .admin-bar{
        --btp-admin-bar-offset:46px;
    }
}

@media (max-width:767px){
    :root{
        --btp-header-height:76px;
    }

    .btp-nav-wrap{
        backdrop-filter:blur(14px) saturate(145%);
        -webkit-backdrop-filter:blur(14px) saturate(145%);
    }

    .btp-nav-inner{
        min-height:76px;
        gap:14px;
        padding-inline:0;
    }

    .btp-header.is-scrolled .btp-nav-inner{
        min-height:68px;
    }

    .btp-logo{
        min-width:0;
        max-width:calc(100% - 62px);
    }

    .btp-logo a{
        min-width:0;
    }

    .btp-logo img,
    .btp-logo .custom-logo{
        max-width:min(180px, 58vw);
        max-height:44px;
    }

    .btp-header.is-scrolled .btp-logo img,
    .btp-header.is-scrolled .btp-logo .custom-logo{
        max-height:39px;
    }

    .btp-logo-text strong{
        display:block;
        max-width:58vw;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .btp-hamburger{
        width:46px;
        height:46px;
        min-width:46px;
        padding:0;
        cursor:pointer;
    }

    .btp-drawer{
        width:100%;
        max-width:none;
    }
}

@media (max-width:480px){
    .btp-logo img,
    .btp-logo .custom-logo{
        max-width:min(160px, 56vw);
        max-height:40px;
    }

    .btp-header.is-scrolled .btp-logo img,
    .btp-header.is-scrolled .btp-logo .custom-logo{
        max-height:36px;
    }

    .btp-hamburger{
        width:44px;
        height:44px;
        min-width:44px;
    }
}

@media (prefers-reduced-motion:reduce){
    .btp-nav-wrap,
    .btp-nav-inner,
    .btp-logo img,
    .btp-logo .custom-logo{
        transition:none;
    }
}
