/*==================================================
    HEADER BASE
==================================================*/

.site-header{
    position:sticky;
    top:0;
    left:0;
    z-index:1000;
    width:100%;
    background:linear-gradient(180deg,#111722 0%,#0d121b 100%);
    border-bottom:1px solid rgba(255,255,255,.06);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.site-header .container{
    max-width:1650px;
    margin:0 auto;
    height:86px;
    padding:0 22px;

    display:flex;
    align-items:center;
    gap:26px;
}


/*==================================================
    MOBILE MENU BUTTON
==================================================*/

.mobile-menu-btn{
    display:none;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    border:0;
    border-radius:12px;

    background:#1a212d;
    color:#fff;

    cursor:pointer;

    transition:.25s;
}

.mobile-menu-btn:hover{
    background:#263140;
}


/*==================================================
    LOGO
==================================================*/

.header-logo{

    display:flex;
    align-items:center;
    gap:14px;

    flex-shrink:0;

    color:#fff;
    text-decoration:none;

}

.header-logo img{

    width:52px;
    height:52px;

    object-fit:contain;

}

.header-logo-text{
	
	font-family: "BPG Sans", sans-serif;

    display:flex;
    flex-direction:column;

    line-height:1.1;

}

.header-logo-text strong{

    font-size:25px;
    font-weight:800;

    color:#fff;

    letter-spacing:-.4px;

}

.header-logo-text span{

    margin-top:5px;

    font-size:12px;

    color:rgba(255,255,255,.70);

}


/*==================================================
    NAVIGATION WRAPPER
==================================================*/

.header-nav{

    flex:1;
	font-family: "BPG Sans", sans-serif;
    display:flex;
    justify-content:center;

}

.header-nav>ul{

    display:flex;
    align-items:center;

    gap:8px;

}

.header-nav li{

    list-style:none;

}

.header-nav a{

    display:flex;
    align-items:center;
    justify-content:center;

    height:44px;

    padding:0 18px;

    border-radius:12px;

    color:#f5f7fb;
    text-decoration:none;

    font-size:15px;
    font-weight:600;

    transition:.25s;

}

.header-nav a:hover{

    background:rgba(255,255,255,.05);

}

.header-nav .active>a{

    background:rgba(13,110,253,.15);

    color:#fff;

}


/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:992px){

    .mobile-menu-btn{
        display:flex;
    }

    .header-nav{
        display:none;
    }

    .site-header .container{
        height:72px;
    }

}

@media (max-width:576px){

    .site-header .container{

        height:66px;

        padding:0 12px;

        gap:12px;

    }

    .header-logo img{

        width:40px;
        height:40px;

    }

    .header-logo-text strong{

        font-size:15px;

    }

    .header-logo-text span{

        display:none;

    }

}

/*==================================================
    SEARCH
==================================================*/

.header-search{
	

    flex:0 0 300px;

    display:flex;
    align-items:center;

    height:46px;

    background:#141b25;

    border:1px solid rgba(255,255,255,.06);

    border-radius:14px;

    overflow:hidden;

    transition:.25s;

}

.header-search:focus-within{

    border-color:#0d6efd;

    box-shadow:0 0 0 4px rgba(13,110,253,.12);

}

.header-search input{

    flex:1;
	
	font-family: "BPG Sans", sans-serif;

    height:100%;

    padding:0 18px;

    border:0;

    background:transparent;

    color:#fff;

    font-size:14px;

}

.header-search input::placeholder{

    color:rgba(255,255,255,.45);

}

.header-search button{

    width:48px;
    height:46px;

    border:0;

    background:transparent;

    color:#fff;

    cursor:pointer;

    transition:.25s;

}

.header-search button:hover{

    background:#0d6efd;

}


/*==================================================
    HEADER ACTIONS
==================================================*/

.header-actions{

    display:flex;
    align-items:center;

    gap:10px;

    margin-left:auto;

}


/*==================================================
    LANGUAGE
==================================================*/

.header-language{

    position:relative;

}

.header-language>button{

    display:flex;
    align-items:center;
    gap:8px;

    height:44px;

    padding:0 14px;

    border:1px solid rgba(255,255,255,.06);

    border-radius:12px;

    background:#141b25;

    color:#fff;

    cursor:pointer;

    transition:.25s;

}

.header-language>button:hover{

    background:#1b2532;

}

.header-language .fa-chevron-down{

    font-size:11px;

}
/* ==========================
   Current language flag
========================== */

.header-lang__current .current-flag{
    display:none;
    width:20px;
    height:20px;
    object-fit:cover;
    flex-shrink:0;
    border-radius:50%;

    border:1px solid #e40613;
    transition:transform .25s ease, box-shadow .25s ease;
}

.header-lang__current .current-flag.show{
    display:block;
}

.header-lang__current:hover .current-flag{
    transform:scale(1.08);
    box-shadow:0 0 0 3px rgba(228,6,19,.15);
}

/* ==========================
   Hide current language
========================== */

.header-lang__list .is-current{
    display:none;
}

/* ==========================
   Dropdown flags
========================== */

.header-lang__list .flag{
    width:18px;
    height:18px;
    object-fit:cover;
    flex-shrink:0;
    border-radius:50%;
    transition:transform .2s ease;
}

.header-lang__list .lang-item:hover .flag{
    transform:scale(1.08);
}


/*==================================================
    ACCOUNT
==================================================*/

.header-account{

    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    border-radius:12px;

    background:#141b25;

    color:#fff;

    transition:.25s;

}

.header-account:hover{

    background:#1b2532;

}


/*==================================================
    PHONE
==================================================*/

.header-phone{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    height:44px;

    padding:0 18px;

    border-radius:999px;

    border:1px solid #0d6efd;

    color:#fff;

    font-size:14px;
    font-weight:700;

    white-space:nowrap;

    transition:.25s;

}

.header-phone:hover{

    background:#0d6efd;

}

.header-phone i{

    font-size:13px;

}


/*==================================================
    MOBILE ICONS
==================================================*/

.header-mobile-icons{

    display:none;

    align-items:center;

    gap:6px;

    margin-left:auto;

}

.header-mobile-icons>a,
.header-mobile-icons>button{

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    border-radius:12px;

    background:#141b25;

    color:#fff;

    border:0;

    cursor:pointer;

    transition:.25s;

}

.header-mobile-icons>a:hover,
.header-mobile-icons>button:hover{

    background:#1b2532;

}

.header-mobile-icons span{

    position:absolute;

    top:5px;
    right:4px;

    min-width:16px;
    height:16px;

    padding:0 4px;

    border-radius:20px;

    background:#0d6efd;

    color:#fff;

    font-size:10px;
    font-weight:700;

    display:flex;
    align-items:center;
    justify-content:center;

}
/*==================================================
    MEGA MENU
==================================================*/

.has-mega{
    position:relative;
}

.mega-menu{

    position:absolute;

    top:calc(100% + 18px);
    left:50%;

    transform:translateX(-50%) translateY(12px);

    width:1050px;
    max-width:92vw;

    padding:28px;

    background:#161d28;

    border:1px solid rgba(255,255,255,.06);

    border-radius:22px;

    box-shadow:
        0 30px 80px rgba(0,0,0,.35);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;

    z-index:999;

}

.has-mega:hover>.mega-menu,
.has-mega.open>.mega-menu{

    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:
        translateX(-50%)
        translateY(0);

}


/*==================================================
    MEGA HEADER
==================================================*/

.mega-header{

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:24px;
    padding-bottom:18px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.mega-header h3{

    margin:0;

    color:#fff;

    font-size:22px;

}

.mega-header a{

    color:#0d6efd;

    font-weight:600;

}


/*==================================================
    MEGA GRID
==================================================*/

.mega-grid{

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:18px;

}


/*==================================================
    CARD
==================================================*/

.mega-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    gap:14px;

    padding:22px;

    background:#1c2532;

    border:1px solid rgba(255,255,255,.05);

    border-radius:18px;

    transition:.25s;

}

.mega-card:hover{

    background:#263345;

    border-color:#0d6efd;

    transform:translateY(-5px);

}

.mega-card img{

    width:120px;
    height:72px;

    object-fit:contain;

    transition:.25s;

}

.mega-card:hover img{

    transform:scale(1.05);

}

.mega-card h4{

    margin:0;

    color:#fff;

    font-size:16px;

}

.mega-card span{

    color:rgba(255,255,255,.65);

    font-size:13px;

}


/*==================================================
    LANGUAGE DROPDOWN
==================================================*/

.header-language{

    position:relative;

}

.language-dropdown{

    position:absolute;

    top:calc(100% + 10px);

    right:0;

    min-width:180px;

    padding:8px;

    background:#161d28;

    border-radius:16px;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:
        0 20px 60px rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateY(10px);

    transition:.25s;

}

.header-language.open .language-dropdown{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateY(0);

}

.language-dropdown a{

    display:flex;

    align-items:center;

    gap:12px;

    height:44px;

    padding:0 14px;

    border-radius:10px;

    color:#fff;

    transition:.25s;

}

.language-dropdown a:hover{

    background:#212c3a;

}


/*==================================================
    USER DROPDOWN
==================================================*/

.header-account{

    position:relative;
}

.user-dropdown{

    position:absolute;

    top:calc(100% + 10px);

    right:0;

    width:240px;

    padding:10px;

    background:#161d28;

    border:1px solid rgba(255,255,255,.06);

    border-radius:18px;

    box-shadow:
        0 25px 70px rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateY(12px);

    transition:.25s;

}

.header-account.open .user-dropdown{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateY(0);

}

.user-dropdown a{

    display:flex;

    align-items:center;

    gap:14px;

    height:46px;

    padding:0 14px;

    border-radius:12px;

    color:#fff;

    transition:.25s;

}

.user-dropdown a:hover{

    background:#222d3b;

}

.user-dropdown i{

    width:20px;

    text-align:center;

    color:#0d6efd;

}
/*==================================================
    MOBILE MENU BUTTON
==================================================*/

.mobile-menu-btn{

    display:none;

    align-items:center;
    justify-content:center;

    width:46px;
    height:46px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;

    background:#151d28;

    color:#fff;

    cursor:pointer;

    transition:.25s;

}

.mobile-menu-btn:hover{

    background:#202c3b;

}

.mobile-menu-btn i{

    font-size:20px;

}


/*==================================================
    MOBILE HEADER ICONS
==================================================*/

.header-mobile-icons{

    display:none;

    align-items:center;

    gap:8px;

    margin-left:auto;

}

.header-mobile-icons>a,
.header-mobile-icons>button{

    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    border-radius:12px;

    background:#151d28;

    color:#fff;

    transition:.25s;

}

.header-mobile-icons>a:hover,
.header-mobile-icons>button:hover{

    background:#243244;

}

.header-mobile-icons span{

    position:absolute;

    top:4px;
    right:4px;

    min-width:17px;
    height:17px;

    border-radius:50px;

    background:#0d6efd;

    color:#fff;

    font-size:10px;
    font-weight:700;

    display:flex;
    align-items:center;
    justify-content:center;

}


/*==================================================
    MOBILE OVERLAY
==================================================*/

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.30s;

    z-index:998;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}


/*==================================================
    MOBILE MENU
==================================================*/

.mobile-menu{

    position:fixed;

    top:0;
    left:-340px;

    width:320px;
    max-width:90vw;

    height:100vh;

    background:#10161f;

    display:flex;

    flex-direction:column;

    transition:.35s;

    z-index:999;

    overflow-y:auto;

    box-shadow:20px 0 50px rgba(0,0,0,.45);

}

.mobile-menu.active{

    left:0;

}


/*==================================================
    MOBILE HEADER
==================================================*/

.mobile-menu-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    height:72px;

    padding:0 20px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.mobile-menu-header img{

    width:42px;

}

.mobile-close{

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:#1a2431;

    color:#fff;

    cursor:pointer;

    transition:.25s;

}

.mobile-close:hover{

    background:#253243;

}


/*==================================================
    MOBILE NAVIGATION
==================================================*/

.mobile-nav{

    padding:20px;

}

.mobile-nav ul{

    list-style:none;

}

.mobile-nav li{

    border-bottom:1px solid rgba(255,255,255,.05);

}

.mobile-nav li:last-child{

    border:none;

}

.mobile-nav a{

    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:54px;

    color:#fff;

    font-size:15px;

    font-weight:600;

    transition:.25s;

}

.mobile-nav a:hover{

    color:#0d6efd;

}


/*==================================================
    SUBMENU
==================================================*/

.mobile-nav .submenu{

    display:none;

    padding-bottom:12px;

}

.mobile-nav .submenu a{

    min-height:42px;

    padding-left:18px;

    font-size:14px;

    color:rgba(255,255,255,.75);

}

.mobile-nav .has-sub.active>.submenu{

    display:block;

}

.mobile-nav .arrow{

    transition:.25s;

}

.mobile-nav .has-sub.active>.parent-link .arrow{

    transform:rotate(180deg);

}


/*==================================================
    MOBILE FOOTER
==================================================*/

.mobile-footer{

    margin-top:auto;

    padding:20px;

    border-top:1px solid rgba(255,255,255,.06);

}

.mobile-footer .phone{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    height:48px;

    border-radius:14px;

    background:#0d6efd;

    color:#fff;

    font-weight:700;

}

.mobile-footer .phone:hover{

    background:#0b5ed7;

}
/*==================================================
    STICKY HEADER
==================================================*/

.site-header.is-sticky{

    box-shadow:
        0 10px 40px rgba(0,0,0,.18);

    animation:headerDown .28s ease;

}

@keyframes headerDown{

    from{
        opacity:.96;
        transform:translateY(-14px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/*==================================================
    FOCUS STATES
==================================================*/

.site-header a:focus-visible,
.site-header button:focus-visible,
.site-header input:focus-visible{

    outline:2px solid #0d6efd;
    outline-offset:2px;

}


/*==================================================
    ICON ANIMATION
==================================================*/

.header-actions a:hover i,
.header-actions button:hover i,
.header-mobile-icons a:hover i,
.header-mobile-icons button:hover i{

    transform:scale(1.08);

}

.header-actions i,
.header-mobile-icons i{

    transition:transform .25s ease;

}


/*==================================================
    LARGE DESKTOP
==================================================*/

@media (max-width:1400px){

    .site-header .container{

        max-width:1280px;

        padding:0 18px;

    }

    .mega-menu{

        width:960px;

    }

}


/*==================================================
    DESKTOP
==================================================*/

@media (max-width:1200px){

    .header-search{

        flex:0 0 240px;

    }

   .header-phone{
        display:none;
    }

    .mega-grid{

        grid-template-columns:repeat(3,1fr);

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:992px){

    .header-nav,
    .header-search,
    .header-actions{

        display:none;

    }

    .mobile-menu-btn,
    .header-mobile-icons{

        display:flex;

    }

    .site-header .container{

        height:72px;

        justify-content:space-between;

    }

    .header-logo{

        margin-left:10px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:768px){

    .site-header .container{

        height:66px;

        padding:0 14px;

        gap:10px;

    }

    .header-logo img{

        width:42px;
        height:42px;

    }

    .header-logo-text strong{

        font-size:17px;

    }

    .header-logo-text span{

        display:none;

    }

    .mobile-menu{

        width:300px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:576px){

    .mobile-menu{

        width:100%;

        max-width:100%;

    }

    .header-mobile-icons{

        gap:4px;

    }

    .header-mobile-icons a,
    .header-mobile-icons button{

        width:40px;
        height:40px;

    }

    .mobile-menu-header{

        height:66px;

    }

}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:360px){

    .site-header .container{

        padding:0 10px;

    }

    .header-logo img{

        width:36px;
        height:36px;

    }

    .header-logo-text strong{

        font-size:15px;

    }
 
    .mobile-menu-btn{

        width:40px;
        height:40px;

    }

}


/*==================================================
    REDUCE MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .site-header{

        display:none !important;

    }

}