/* =========================================================
   PUREB12VAPE
   B12 BLUE HEADER V2
========================================================= */


/* =========================================================
   TOP BAR
========================================================= */

.pb12-topbar{

    background:#16233A;

    color:#fff;
}


.pb12-topbar__inner{

    min-height:31px;

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

    gap:9px;

    padding:0 18px;

    font-size:11px;
    font-weight:650;

    letter-spacing:.055em;

    text-transform:uppercase;
}


.pb12-topbar__dot{
    opacity:.38;
}


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

.pb12-header{

    position:relative;

    z-index:80;

    width:100%;

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

    border-bottom:
        1px solid #E7EBF2;

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);
}


.pb12-header__inner{

    width:min(
        calc(100% - 40px),
        1200px
    );

    min-height:76px;

    margin:0 auto;

    display:grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:center;

    gap:36px;
}


/* =========================================================
   BRAND
========================================================= */

.pb12-brand{

    display:flex;

    align-items:baseline;

    gap:4px;

    white-space:nowrap;

    color:#16233A !important;
}


.pb12-brand:hover{
    color:#16233A !important;
}


.pb12-brand__pure{

    font-size:19px;

    font-weight:650;

    letter-spacing:.11em;
}


.pb12-brand__b12{

    font-size:25px;

    font-weight:850;

    letter-spacing:-.055em;

    color:#3156D9;
}


.pb12-brand__vape{

    font-size:10px;

    font-weight:800;

    letter-spacing:.16em;

    color:#77808D;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.pb12-nav{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:29px;
}


.pb12-nav a{

    position:relative;

    padding:27px 0;

    color:#3B4656;

    font-size:14px;

    font-weight:650;

    white-space:nowrap;
}


.pb12-nav a::after{

    content:"";

    position:absolute;

    left:0;
    right:100%;

    bottom:20px;

    height:2px;

    border-radius:5px;

    background:#3156D9;

    transition:right .2s ease;
}


.pb12-nav a:hover{

    color:#16233A;
}


.pb12-nav a:hover::after{

    right:0;
}


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

.pb12-header-actions{

    display:flex;

    align-items:center;

    gap:13px;
}


.pb12-header-shop{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:42px;

    padding:0 20px;

    border-radius:999px;

    background:#3156D9;

    color:#fff !important;

    font-size:13px;

    font-weight:750;

    white-space:nowrap;

    box-shadow:
        0 6px 18px rgba(49,86,217,.15);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


.pb12-header-shop:hover{

    background:#2444B4;

    transform:translateY(-1px);

    box-shadow:
        0 10px 24px rgba(49,86,217,.24);
}


/* =========================================================
   CART
========================================================= */

.pb12-cart{

    position:relative;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:
        1px solid #E0E5EE;

    border-radius:50%;

    color:#24334B !important;

    background:#fff;

    transition:
        border-color .2s ease,
        background .2s ease;
}


.pb12-cart:hover{

    background:#F5F7FF;

    border-color:#CCD6FA;
}


.pb12-cart svg{

    width:19px;

    height:19px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.7;

    stroke-linecap:round;

    stroke-linejoin:round;
}


.pb12-cart-count{

    position:absolute;

    right:-4px;

    top:-4px;

    min-width:18px;

    height:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:0 4px;

    border:
        2px solid #fff;

    border-radius:99px;

    background:#3156D9;

    color:#fff;

    font-size:9px;

    font-weight:800;

    line-height:1;
}


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

.pb12-menu-toggle{

    display:none;

    width:38px;

    height:38px;

    padding:8px;

    border:0;

    background:transparent;

    cursor:pointer;
}


.pb12-menu-toggle span{

    display:block;

    width:22px;

    height:2px;

    margin:4px 0;

    border-radius:20px;

    background:#1C2B45;
}


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

.pb12-mobile-menu{

    position:fixed;

    z-index:1001;

    left:0;

    top:0;

    bottom:0;

    width:min(88vw,390px);

    background:#fff;

    box-shadow:
        18px 0 60px
        rgba(20,34,58,.18);

    transform:
        translateX(-105%);

    transition:
        transform .28s
        cubic-bezier(.4,0,.2,1);

    overflow-y:auto;
}


.pb12-menu-open
.pb12-mobile-menu{

    transform:
        translateX(0);
}


/* overlay */

.pb12-mobile-overlay{

    position:fixed;

    inset:0;

    z-index:1000;

    background:
        rgba(15,28,50,.48);

    opacity:0;

    visibility:hidden;

    transition:
        opacity .25s ease,
        visibility .25s ease;
}


.pb12-menu-open
.pb12-mobile-overlay{

    opacity:1;

    visibility:visible;
}


body.pb12-menu-open{

    overflow:hidden;
}


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

.pb12-mobile-menu__head{

    min-height:76px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 22px;

    border-bottom:
        1px solid #E8ECF2;
}


.pb12-mobile-brand{

    display:flex;

    align-items:baseline;

    gap:4px;

    color:#16233A;
}


.pb12-mobile-brand span{

    font-size:16px;

    font-weight:650;

    letter-spacing:.1em;
}


.pb12-mobile-brand strong{

    font-size:22px;

    color:#3156D9;
}


.pb12-mobile-brand small{

    font-size:9px;

    font-weight:800;

    letter-spacing:.14em;

    color:#7A8390;
}


.pb12-menu-close{

    width:40px;

    height:40px;

    border:0;

    background:transparent;

    color:#29364B;

    font-size:30px;

    font-weight:300;

    line-height:1;

    cursor:pointer;
}


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

.pb12-mobile-nav{

    padding:
        16px 22px 10px;
}


.pb12-mobile-nav a{

    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:58px;

    border-bottom:
        1px solid #EDF0F5;

    color:#25334A;

    font-size:15px;

    font-weight:650;
}


.pb12-mobile-nav a:hover{

    color:#3156D9;
}


.pb12-mobile-nav a b{

    color:#7B8FCA;

    font-size:17px;

    font-weight:400;
}


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

.pb12-mobile-menu__cta{

    padding:22px;
}


.pb12-mobile-menu__cta a{

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:52px;

    border-radius:999px;

    background:#3156D9;

    color:#fff;

    font-size:14px;

    font-weight:750;

    box-shadow:
        0 10px 28px
        rgba(49,86,217,.18);
}


.pb12-mobile-menu__cta a:hover{

    background:#2444B4;
}


.pb12-mobile-menu__meta{

    padding:
        2px 22px 30px;

    color:#788291;

    font-size:11px;

    line-height:1.6;

    text-align:center;
}


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

@media (max-width:1050px){

    .pb12-nav{
        gap:18px;
    }

    .pb12-nav a{
        font-size:13px;
    }

    .pb12-header-shop{
        display:none;
    }

}


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

@media (max-width:820px){

    .pb12-topbar__inner{

        min-height:28px;

        font-size:9px;

        letter-spacing:.045em;
    }


    .pb12-topbar__inner
    span:nth-of-type(2),

    .pb12-topbar__inner
    span:nth-of-type(3){

        display:none;
    }


    .pb12-header__inner{

        width:100%;

        min-height:64px;

        padding:0 14px;

        grid-template-columns:
            44px 1fr 44px;

        gap:0;
    }


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


    .pb12-brand{
        justify-self:center;
    }


    .pb12-brand__pure{
        font-size:16px;
    }


    .pb12-brand__b12{
        font-size:22px;
    }


    .pb12-brand__vape{
        font-size:8px;
    }


    .pb12-nav{
        display:none;
    }


    .pb12-header-actions{
        justify-self:end;
    }


    .pb12-header-shop{
        display:none;
    }


    .pb12-cart{

        width:38px;

        height:38px;
    }


    .pb12-cart svg{

        width:18px;

        height:18px;
    }

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media (max-width:390px){

    .pb12-topbar__inner{
        padding:0 10px;
    }


    .pb12-brand__pure{
        font-size:14px;
    }


    .pb12-brand__b12{
        font-size:20px;
    }

}
