*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#000;
    color:white;
    font-family:Arial,sans-serif;
}

/* ===================== */
/* NAVBAR */
/* ===================== */

.navbar{
    position:sticky;
    top:0;
    z-index:1000;

    display:flex;
    align-items:center;

    padding:15px 40px;

    background:white;
}

.menu-btn{
    font-size:32px;
    cursor:pointer;
    color:black;
    user-select:none;
}

.brand{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
}

.brand img{
    height:40px;
    width:auto;
    display:block;
}

/* ===================== */
/* MENU LATERAL */
/* ===================== */

.sidebar{
    position:fixed;
    top:0;
    left:-280px;

    width:280px;
    height:100vh;

    background:white;

    box-shadow:0 0 30px rgba(0,0,0,0.15);

    transition:0.3s;

    z-index:2000;

    padding-top:90px;
    padding-bottom:100px;

    overflow-y:auto;
}

.sidebar.active{
    left:0;
}

.close-btn{
    position:absolute;
    top:20px;
    right:25px;

    font-size:40px;
    cursor:pointer;

    color:black;
}

.sidebar a{
    display:block;

    padding:20px 30px;

    text-decoration:none;

    color:black;

    font-size:22px;

    transition:0.2s;
}

.sidebar a:hover{
    background:#f3f3f3;
}

/* ===================== */
/* MENU DEROULANT */
/* ===================== */

.menu-category{

    display:block;

    padding:20px 30px;

    color:black;

    font-size:22px;
    font-weight:bold;

    cursor:pointer;

    border-top:1px solid #e5e5e5;

    margin-top:10px;
}

.menu-category:hover{
    background:#f3f3f3;
}

.submenu-container{
    display:none;
}

.submenu-container.open{
    display:block;
}

.submenu{

    display:block;

    padding:18px 55px !important;

    text-decoration:none;

    color:black;

    font-size:20px !important;
}

.submenu:hover{
    background:#f3f3f3;
}

/* ===================== */
/* BANNIERE */
/* ===================== */

.banner-main{
    width:100%;
    margin-bottom:60px;
}

.banner-main img{
    width:100%;
    height:650px;

    object-fit:cover;

    display:block;
}

/* ===================== */
/* CATEGORIES */
/* ===================== */

.category-section{
    max-width:1600px;

    margin:0 auto 80px auto;

    padding:0 20px;

    scroll-margin-top:120px;
}

.category-link{
    display:block;

    text-decoration:none;

    color:white;
}

.category-link:hover{
    color:white;
}

.category-header{
    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:25px;

    cursor:pointer;
}

.category-header h2{
    font-size:34px;
    letter-spacing:4px;

    color:white;
}

.category-header span{
    font-size:32px;
    color:white;

    transition:0.2s;
}

.category-link:hover span{
    transform:translateX(5px);
}

/* ===================== */
/* PRODUITS */
/* ===================== */

.products{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:25px;
}

.card{
    background:white;

    border-radius:18px;

    overflow:hidden;

    transition:0.3s;
}

.card:hover{
    transform:translateY(-6px);
}

.card img{
    width:100%;
    height:320px;

    object-fit:contain;

    padding:20px;

    display:block;

    background:white;
}

/* ===================== */
/* RESPONSIVE */
/* ===================== */

@media(max-width:900px){

    .products{
        grid-template-columns:repeat(2,1fr);
    }

    .mobile-hide{
        display:none;
    }

    .navbar{
        padding:15px 20px;
    }

    .banner-main img{
        height:350px;

        object-fit:cover;
        object-position:100% center;
    }

    .category-header h2{
        font-size:24px;
    }

    .category-header span{
        font-size:26px;
    }

    .card img{
        height:260px;
        padding:15px;
    }

}