.site-header{
    background:#fff;
    border-bottom:1px solid #ececec;
    position:sticky;
    top:0;
    z-index:999;
}

.header-top{

    display:grid;

    grid-template-columns:48px 1fr auto;

    align-items:center;

    height:72px;

    gap:16px;

}

.logo{

    display:flex;

    align-items:center;

}
.logo img{

    height:52px;

    width:auto;

    display:block;

}

@media(max-width:768px){

    .logo img{

        height:42px;

    }

}
.logo img{

    height:58px;

}

.mobile-logo{

    display:flex;

    justify-content:center;

    align-items:center;

}

.mobile-logo img{

    width:70px;

    height:auto;

}


.header-icons{

    display:flex;

    align-items:center;

    gap:18px;

    justify-self:end;
}

.header-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    color:#111;

    text-decoration:none;

    transition:.25s;
}

.header-icon svg{

    width:24px;

    height:24px;
}

.account-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    background:none;

    cursor:pointer;

    padding:0;
}

.account-btn svg{

    width:24px;

    height:24px;
}

.account-menu{

    position:relative;
}

.account-dropdown{

    position:absolute;

    top:45px;

    right:0;

    width:220px;

    background:#fff;

    border-radius:12px;

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

    display:none;

    overflow:hidden;
}

.account-dropdown a{

    display:block;

    padding:14px 18px;

    text-decoration:none;

    color:#222;

    transition:.25s;
}

.account-dropdown a:hover{

    background:#f6f6f6;
}

.account-menu:hover .account-dropdown{

    display:block;
}

.desktop-nav ul{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:42px;

    list-style:none;

    padding:18px 0;
}

.desktop-nav a{

    text-decoration:none;

    color:#222;

    font-weight:600;

    transition:.3s;
}

.desktop-nav a:hover{

    color:#111;
}

.header-icons{

    display:flex;

    align-items:center;

    gap:18px;
}



.cart-count{

    position:absolute;

    top:-6px;

    right:-8px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:#111;

    color:#fff;

    font-size:11px;

    display:flex;

    align-items:center;

    justify-content:center;
}

.mobile-menu-btn{

    display:none;

    justify-content:center;

    align-items:center;

    width:42px;

    height:42px;

    border:none;

    background:none;

    cursor:pointer;

    border-radius:50%;

    transition:.25s;
}

.mobile-menu-btn:hover{

    background:#f5f5f5;
}

.mobile-menu-btn svg{

    width:28px;

    height:28px;
}

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

@media(max-width:768px){

    .desktop-nav{

        display:none;
    }

    .header-top{

        height:64px;
    
        display:grid;
    
        grid-template-columns:42px 1fr auto;
    
        align-items:center;
    
        gap:12px;
    
    }

    .mobile-menu-btn{

        display:flex;

        justify-content:center;

        align-items:center;
    }

    .logo{

        justify-self:center;

        font-size:28px;
    }

    .header-icons{

        gap:14px;
    }

    .account-dropdown{

        display:none !important;
    }

    .mobile-nav{

        position:fixed;

        top:0;

        left:-300px;

        width:300px;

        max-width:85vw;

        height:100vh;

        background:#fff;

        transition:.35s;

        z-index:9999;

        padding:25px;
    }

    .mobile-nav.active{

        left:0;
    }

    .mobile-nav-header{

        display:flex;

        justify-content:space-between;

        align-items:center;

        margin-bottom:25px;

        padding-bottom:20px;

        border-bottom:1px solid #eee;
    }

    .mobile-nav ul{

        list-style:none;

        padding:0;
    }

    .mobile-nav li{

        margin:22px 0;
    }

    .mobile-nav a{

        text-decoration:none;

        color:#111;

        font-size:17px;

        font-weight:600;
    }

    .mobile-nav-overlay{

        position:fixed;

        inset:0;

        background:rgba(0,0,0,.45);

        opacity:0;

        visibility:hidden;

        transition:.3s;

        z-index:9998;
    }

    .mobile-nav-overlay.active{

        opacity:1;

        visibility:visible;
    }

    .close-mobile-nav{

        border:none;

        background:none;

        cursor:pointer;
    }

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

.mobile-nav{

    position:fixed;

    top:0;

    left:-320px;

    width:300px;

    height:100vh;

    background:#fff;

    z-index:1200;

    transition:.35s ease;

    overflow-y:auto;

    box-shadow:15px 0 40px rgba(0,0,0,.12);

}

.mobile-nav.active{

    left:0;

}

.mobile-nav-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:1199;

}

.mobile-nav-overlay.active{

    opacity:1;

    visibility:visible;

}

/* Header */

.mobile-nav-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px;

    border-bottom:1px solid #eee;

}

.mobile-logo{

    text-decoration:none;

    color:#111;

    font-size:28px;

    font-weight:700;

    letter-spacing:2px;

}

.close-mobile-nav{

    border:none;

    background:none;

    cursor:pointer;

}

/* Links */

.mobile-nav-links{

    padding:18px;

}

.mobile-nav-links a{

    display:flex;

    align-items:center;

    gap:16px;

    height:54px;

    text-decoration:none;

    color:#222;

    font-size:16px;

    font-weight:500;

    border-radius:10px;

    padding:0 14px;

    transition:.25s;

}

.mobile-nav-links a:hover{

    background:#f5f5f5;

    padding-left:20px;

}

.mobile-nav-links i{

    width:22px;

    height:22px;

    flex-shrink:0;

}

.mobile-nav-divider{

    height:1px;

    background:#eee;

    margin:8px 24px;

}
.mobile-logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    gap:8px;
}

.mobile-logo h3{
    font-size:20px;
    color:#111;
    font-weight:600;
    letter-spacing:2px;
    margin:0;
}

.mobile-logo p{
    font-size:11px;
    color:#888;
    letter-spacing:1px;
    text-transform:uppercase;
    margin:0;
}

.mobile-logo img{
    width:72px;
    height:auto;
}