/* =====================================
        EM STYLE - STYLE PRINCIPAL
===================================== */


/* ================================
        VARIABLES
================================ */

:root{

    --green:#0b8f45;
    --red:#d90429;
    --white:#ffffff;
    --black:#111111;
    --gray:#f7f7f7;
    --text:#333333;

    --radius:20px;
    --shadow:0 15px 35px rgba(0,0,0,.12);

    --transition:.3s ease;

}



/* ================================
        RESET
================================ */


*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html{

    scroll-behavior:smooth;

}



body{

    font-family:'Poppins',sans-serif;

    color:var(--text);

    background:white;

}



img{

    width:100%;
    display:block;

}



a{

    text-decoration:none;
    color:inherit;

}



button{

    cursor:pointer;

    border:none;

}






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


header{

    position:fixed;

    top:0;

    width:100%;

    z-index:1000;

    background:white;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}



.navbar{

    max-width:1300px;

    height:85px;

    margin:auto;

    padding:0 40px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.logo img{

    width:78px;

}



.nav-links{

    display:flex;

    gap:30px;

    list-style:none;

}



.nav-links a{

    font-weight:500;

    transition:var(--transition);

}



.nav-links a:hover{

    color:var(--green);

}



.nav-actions{

    display:flex;

    align-items:center;

    gap:20px;

}



.nav-actions a{

    position:relative;

    font-size:20px;

}



.nav-actions span{

    position:absolute;

    top:-12px;

    right:-12px;

    background:var(--red);

    color:white;

    width:20px;

    height:20px;

    border-radius:50%;

    font-size:11px;

    display:flex;

    justify-content:center;

    align-items:center;

}



#darkMode{

    background:none;

    font-size:22px;

    color:var(--green);

}






/* ================================
        HERO
================================ */


.hero{

    height:100vh;

    display:flex;

    align-items:center;

    padding:0 8%;


    background:

    linear-gradient(
    rgba(0,0,0,.45),
    rgba(0,0,0,.45)
    ),

    url("../images/hero.png");


    background-size:cover;

    background-position:center;

}



.hero-content{

    max-width:650px;

    color:white;

}



.hero h1{

    font-family:'Playfair Display',serif;

    font-size:75px;

    line-height:1.1;

}



.hero p{

    margin:25px 0;

    font-size:20px;

}



.hero-buttons{

    display:flex;

    gap:20px;

}






/* ================================
        BOUTONS
================================ */


.btn{

    padding:15px 35px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

}



.btn:hover{

    transform:translateY(-5px);

}



.primary{

    background:var(--green);

    color:white;

}



.secondary{

    border:2px solid white;

    color:white;

}



.whatsapp{

    background:#25d366;

    color:white;

}






/* ================================
        SECTIONS
================================ */


section{

    padding:100px 8%;

}



.section-title{

    text-align:center;

    margin-bottom:50px;

}



.section-title h2{

    font-family:'Playfair Display',serif;

    font-size:45px;

    color:var(--black);

}



.section-title p{

    color:#777;

}






/* ================================
        COLLECTIONS
================================ */


.collection-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.collection-card{

    height:450px;

    border-radius:var(--radius);

    overflow:hidden;

    position:relative;

    box-shadow:var(--shadow);

}



.collection-card img{

    height:100%;

    object-fit:cover;

    transition:.5s;

}



.collection-card:hover img{

    transform:scale(1.1);

}



.collection-card h3{

    position:absolute;

    bottom:80px;

    left:30px;

    color:white;

    font-family:'Playfair Display',serif;

    font-size:35px;

}



.collection-card a{

    position:absolute;

    bottom:30px;

    left:30px;

    background:white;

    padding:10px 25px;

    border-radius:30px;

}






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


.product-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.shop-card{

    background:white;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    overflow:hidden;

    position:relative;

    transition:var(--transition);

}



.shop-card:hover{

    transform:translateY(-10px);

}



.shop-card img{

    height:400px;

    object-fit:cover;

}



.shop-card h3{

    margin:20px;

    font-size:22px;

}



.price{

    margin:20px;

    color:var(--green);

    font-size:20px;

    font-weight:700;

}



.favorite-btn{

    position:absolute;

    top:20px;

    right:20px;

    width:45px;

    height:45px;

    border-radius:50%;

    background:white;

    color:var(--red);

    font-size:20px;

}



.add-cart{

    margin:0 20px 25px;

    width:calc(100% - 40px);

    padding:14px;

    border-radius:30px;

    background:var(--green);

    color:white;

    font-weight:600;

}







/* ================================
        A PROPOS
================================ */


.about-preview{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

    background:var(--gray);

}



.about-image img{

    border-radius:30px;

}



.about-content h2{

    font-family:'Playfair Display',serif;

    font-size:45px;

}





/* ================================
        TEMOIGNAGES
================================ */


.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}



.testimonial{

    padding:35px;

    border-radius:20px;

    background:white;

    box-shadow:var(--shadow);

}







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


.cta{

    margin:50px 8%;

    padding:80px;

    border-radius:40px;

    text-align:center;

    color:white;


    background:

    linear-gradient(
    135deg,
    var(--green),
    var(--red)
    );

}



.cta h2{

    font-family:'Playfair Display',serif;

    font-size:45px;

}






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


footer{

    background:#111;

    color:white;

    padding:60px 8%;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



footer h3{

    color:var(--green);

    font-size:30px;

}



footer a:hover{

    color:var(--red);

}



.copyright{

    background:#000;

    color:white;

    text-align:center;

    padding:20px;

}

/*==================================================
                PAGE PANIER
==================================================*/

.hero-small{

    margin-top:85px;

    padding:80px 8%;

    text-align:center;

    background:linear-gradient(135deg,#0b8f45,#d90429);

    color:#fff;

}

.hero-small h1{

    font-family:'Playfair Display',serif;

    font-size:48px;

    margin-bottom:15px;

}

.hero-small p{

    font-size:18px;

    opacity:.9;

}


/*=============================
        CONTENU
==============================*/

.cart-section{

    padding:80px 8%;

    background:#f8f8f8;

}

.cart-container{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:35px;

    align-items:flex-start;

}


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

.cart-products{

    background:#fff;

    padding:30px;

    border-radius:20px;

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

}

.cart-products h2{

    margin-bottom:25px;

    color:#0b8f45;

}


/* Chaque article */

.cart-item{

    display:grid;

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

    gap:25px;

    align-items:center;

    padding:20px 0;

    border-bottom:1px solid #eee;

}

.cart-item:last-child{

    border-bottom:none;

}

.cart-item img{

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:15px;

}

.cart-details h3{

    margin-bottom:10px;

    font-size:22px;

}

.cart-details p{

    color:#777;

    margin:6px 0;

}

.cart-price{

    color:#0b8f45;

    font-weight:700;

    font-size:20px;

}

.remove-item{

    background:#d90429;

    color:#fff;

    border:none;

    padding:10px 18px;

    border-radius:30px;

    transition:.3s;

}

.remove-item:hover{

    background:#a5001e;

}


/*=============================
        QUANTITE
==============================*/

.quantity-box{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:12px;

}

.quantity-box button{

    width:35px;

    height:35px;

    border-radius:50%;

    background:#0b8f45;

    color:#fff;

    border:none;

    font-size:18px;

    transition:.3s;

}

.quantity-box button:hover{

    background:#087238;

}

.quantity-box span{

    font-size:18px;

    font-weight:600;

}


/*=============================
        RESUME
==============================*/

.cart-summary{

    background:#fff;

    padding:30px;

    border-radius:20px;

    position:sticky;

    top:110px;

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

}

.cart-summary h2{

    color:#d90429;

    margin-bottom:25px;

}

.summary-line,

.summary-total{

    display:flex;

    justify-content:space-between;

    margin:18px 0;

    font-size:18px;

}

.summary-total{

    font-size:24px;

    font-weight:bold;

    color:#0b8f45;

}

.cart-summary hr{

    border:none;

    border-top:1px solid #ddd;

    margin:20px 0;

}


/*=============================
        BOUTONS
==============================*/

.cart-summary .btn{

    width:100%;

    display:block;

    text-align:center;

    margin-top:18px;

}

.continue-shopping{

    display:block;

    text-align:center;

    margin-top:20px;

    color:#0b8f45;

    font-weight:600;

    transition:.3s;

}

.continue-shopping:hover{

    color:#d90429;

}


/*=============================
        PANIER VIDE
==============================*/

.empty-cart{

    text-align:center;

    padding:70px 20px;

}

.empty-cart i{

    font-size:80px;

    color:#d90429;

    margin-bottom:20px;

}

.empty-cart h2{

    margin-bottom:15px;

}

.empty-cart p{

    color:#777;

    margin-bottom:25px;

}


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

@media(max-width:992px){

.cart-container{

    grid-template-columns:1fr;

}

.cart-summary{

    position:static;

}

}

@media(max-width:768px){

.cart-item{

    grid-template-columns:1fr;

    text-align:center;

}

.cart-item img{

    margin:auto;

}

.hero-small h1{

    font-size:36px;

}

.hero-small{

    padding:60px 20px;

}

}

/*==================================================
                PAGE BOUTIQUE
==================================================*/

/* HERO */

.hero-small{

    margin-top:85px;

    padding:90px 8%;

    text-align:center;

    color:#fff;

    background:linear-gradient(135deg,#0b8f45,#d90429);

}

.hero-small h1{

    font-size:55px;

    font-family:'Playfair Display',serif;

    margin-bottom:15px;

}

.hero-small p{

    font-size:18px;

    opacity:.9;

}


/*==============================
        RECHERCHE
===============================*/

.search-section{

    padding:50px 8% 20px;

}

.search-box{

    position:relative;

    max-width:700px;

    margin:auto;

}

.search-box input{

    width:100%;

    padding:18px 60px 18px 25px;

    border-radius:50px;

    border:2px solid #e6e6e6;

    outline:none;

    font-size:16px;

    transition:.3s;

}

.search-box input:focus{

    border-color:#0b8f45;

    box-shadow:0 0 15px rgba(11,143,69,.2);

}

.search-box i{

    position:absolute;

    right:25px;

    top:50%;

    transform:translateY(-50%);

    color:#0b8f45;

    font-size:18px;

}


/*==============================
        FILTRES
===============================*/

.filter-section{

    padding:20px 8% 50px;

}

.filters{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

}

.filters select{

    padding:15px;

    border-radius:15px;

    border:1px solid #ddd;

    background:#fff;

    font-size:15px;

    cursor:pointer;

    transition:.3s;

}

.filters select:hover{

    border-color:#0b8f45;

}


/*==============================
        BOUTIQUE
===============================*/

.shop-section{

    padding:40px 8% 80px;

}

.product-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

}


/*==============================
        CARTE PRODUIT
===============================*/

.shop-card{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

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

    transition:.4s;

    position:relative;

}

.shop-card:hover{

    transform:translateY(-12px);

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

}

.shop-card img{

    width:100%;

    height:350px;

    object-fit:cover;

}

.shop-card h3{

    margin:20px;

    font-size:24px;

}

.price{

    margin:0 20px;

    color:#0b8f45;

    font-size:22px;

    font-weight:700;

}


/*==============================
        FAVORIS
===============================*/

.favorite-btn{

    position:absolute;

    top:18px;

    right:18px;

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    background:#fff;

    color:#d90429;

    font-size:18px;

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

    transition:.3s;

}

.favorite-btn:hover{

    background:#d90429;

    color:#fff;

}


/*==============================
        BOUTONS
===============================*/

.card-buttons{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:15px;

    padding:20px;

}

.card-buttons .btn{

    flex:1;

    text-align:center;

}

.add-cart{

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:#0b8f45;

    color:#fff;

    font-size:18px;

    transition:.3s;

}

.add-cart:hover{

    background:#087238;

    transform:scale(1.08);

}


/*==============================
        PAGINATION
===============================*/

.pagination-section{

    padding:20px 8% 60px;

}

.pagination{

    display:flex;

    justify-content:center;

    gap:12px;

}

.page-btn{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#fff;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.3s;

}

.page-btn:hover,

.page-btn.active{

    background:#0b8f45;

    color:#fff;

}


/*==============================
        NEWSLETTER
===============================*/

.newsletter{

    padding:80px 8%;

    background:#f7f7f7;

    text-align:center;

}

.newsletter h2{

    font-family:'Playfair Display',serif;

    font-size:42px;

    margin-bottom:15px;

}

.newsletter p{

    color:#666;

    margin-bottom:30px;

}

.newsletter-form{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}

.newsletter-form input{

    width:400px;

    max-width:100%;

    padding:16px;

    border-radius:40px;

    border:1px solid #ddd;

}

.newsletter-form button{

    padding:16px 35px;

}


/*==============================
        RESEAUX
===============================*/

.social-links{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.social-links a{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#fff;

    color:#0b8f45;

    transition:.3s;

}

.social-links a:hover{

    background:#0b8f45;

    color:#fff;

}


/*==============================
        SCROLL TOP
===============================*/

#scrollTop{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#0b8f45;

    color:#fff;

    font-size:20px;

    cursor:pointer;

    box-shadow:0 8px 20px rgba(0,0,0,.2);

    transition:.3s;

    z-index:999;

}

#scrollTop:hover{

    background:#d90429;

    transform:translateY(-5px);

}


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

@media(max-width:992px){

    .filters{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .hero-small h1{

        font-size:40px;

    }

    .card-buttons{

        flex-direction:column;

    }

    .add-cart{

        width:100%;

        border-radius:12px;

        height:50px;

    }

    .newsletter-form{

        flex-direction:column;

    }

}

/* =========================
   PAGE PRODUIT
========================= */

.product-page{
    padding:80px 8%;
    background:#fafafa;
}

.product-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:flex-start;
}

/* ===== Galerie ===== */

.product-gallery{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.main-product-image{
    width:100%;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    transition:.4s;
    cursor:zoom-in;
}

.main-product-image:hover{
    transform:scale(1.03);
}

.thumbnail-list{
    display:flex;
    gap:15px;
}

.thumbnail-list img{
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:12px;
    cursor:pointer;
    border:2px solid transparent;
    transition:.3s;
}

.thumbnail-list img:hover{
    border-color:#d4af37;
    transform:translateY(-4px);
}

/* ===== Informations ===== */

.product-details{
    background:#fff;
    padding:35px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.product-category{
    display:inline-block;
    background:#d4af37;
    color:#fff;
    padding:6px 14px;
    border-radius:50px;
    font-size:.9rem;
    margin-bottom:15px;
}

.product-details h2{
    font-size:2rem;
    margin-bottom:15px;
}

.product-details h3{
    color:#c79b17;
    font-size:1.8rem;
    margin-bottom:20px;
}

.product-details p{
    line-height:1.8;
    color:#555;
}

.product-details h4{
    margin-top:25px;
    margin-bottom:10px;
}

.product-details select,
.product-details input{
    width:100%;
    padding:12px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    outline:none;
}

/* ===== Boutons ===== */

.product-buttons{
    display:flex;
    gap:15px;
    margin-top:30px;
    flex-wrap:wrap;
}

.product-buttons .btn,
.whatsapp{
    flex:1;
}

.whatsapp{
    margin-top:15px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
}

/* ===== Description ===== */

.description-section,
.features-section,
.reviews{
    padding:70px 8%;
}

.description-section h2,
.features-section h2,
.reviews h2{
    text-align:center;
    margin-bottom:30px;
    font-size:2rem;
}

.description-section p{
    max-width:900px;
    margin:auto;
    line-height:2;
    color:#555;
}

/* ===== Caractéristiques ===== */

.features-section ul{
    max-width:700px;
    margin:auto;
    display:grid;
    gap:15px;
    list-style:none;
}

.features-section li{
    background:#fff;
    padding:15px;
    border-left:5px solid #d4af37;
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

/* ===== Avis ===== */

.review-card{
    background:#fff;
    padding:25px;
    margin:20px auto;
    max-width:700px;
    border-radius:15px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.review-card p{
    margin:15px 0;
}

/* ===== Produits similaires ===== */

.shop-section{
    padding:80px 8%;
}

.shop-section h2{
    text-align:center;
    margin-bottom:40px;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

/* ===== Responsive ===== */

@media(max-width:900px){

.product-container{
    grid-template-columns:1fr;
}

.product-details{
    margin-top:20px;
}

.product-buttons{
    flex-direction:column;
}

.thumbnail-list{
    justify-content:center;
}

}

body{

animation:pageIn .5s ease;

}

@keyframes pageIn{

from{

transform:translateX(60px);

opacity:0;

}

to{

transform:translateX(0);

opacity:1;

}

}

/*==================================================
            PAGE BOUTIQUE
==================================================*/

.shop-hero{
    min-height:65vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:120px 8% 80px;
    background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("../images/boutique-bg.jpg") center/cover;
    color:#fff;
}

.shop-hero .badge{
    display:inline-block;
    padding:8px 18px;
    background:#0B8F45;
    color:#fff;
    border-radius:30px;
    margin-bottom:20px;
    font-size:.95rem;
    font-weight:600;
}

.shop-hero h1{
    font-size:3.5rem;
    margin-bottom:20px;
    font-family:'Playfair Display',serif;
}

.shop-hero p{
    max-width:700px;
    margin:auto;
    line-height:1.8;
    opacity:.95;
}

.hero-btn{
    display:inline-flex;
    gap:10px;
    align-items:center;
    margin-top:35px;
    background:#D90429;
    color:#fff;
    padding:15px 35px;
    border-radius:40px;
    transition:.35s;
}

.hero-btn:hover{
    background:#0B8F45;
    transform:translateY(-4px);
}

/*=============================
        RECHERCHE
==============================*/

.search-section{
    padding:70px 8% 20px;
}

.search-container{
    text-align:center;
}

.search-container h2{
    font-size:2.5rem;
    margin-bottom:10px;
}

.search-box{
    max-width:700px;
    margin:40px auto;
    position:relative;
}

.search-box input{
    width:100%;
    padding:18px 60px 18px 25px;
    border-radius:50px;
    border:2px solid #ddd;
    font-size:16px;
    transition:.3s;
}

.search-box input:focus{
    border-color:#0B8F45;
    box-shadow:0 0 20px rgba(11,143,69,.2);
}

.search-box i{
    position:absolute;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    color:#0B8F45;
    font-size:20px;
}

/*=============================
        FILTRES
==============================*/

.filter-section{
    padding:20px 8% 60px;
}

.filters{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.filters select{
    padding:16px;
    border-radius:15px;
    border:1px solid #ddd;
    background:#fff;
    font-size:15px;
    cursor:pointer;
    transition:.3s;
}

.filters select:hover{
    border-color:#0B8F45;
}

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

.shop-section{
    padding:60px 8%;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:35px;
}

/*=============================
        CARTE PRODUIT
==============================*/

.product-card{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

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

    transition:.35s;

    position:relative;

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(0,0,0,.18);

}

.product-image{

    position:relative;

    overflow:hidden;

}

.product-image img{

    width:100%;

    height:380px;

    object-fit:cover;

    transition:.5s;

}

.product-card:hover img{

    transform:scale(1.08);

}

.new-badge{

    position:absolute;

    top:20px;

    left:20px;

    background:#D90429;

    color:#fff;

    padding:7px 18px;

    border-radius:25px;

    font-size:13px;

}

.product-content{

    padding:25px;

}

.product-content h3{

    margin-bottom:10px;

    font-size:24px;

}

.category{

    color:#0B8F45;

    font-weight:600;

    margin-bottom:12px;

}

.description{

    color:#777;

    line-height:1.6;

    margin-bottom:18px;

}

.price{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:20px;

}

.price span{

    font-size:28px;

    color:#D90429;

    font-weight:bold;

}

.old-price{

    text-decoration:line-through;

    color:#999;

}

.product-info{

    display:flex;

    justify-content:space-between;

    margin-bottom:20px;

    font-size:14px;

}

.stock{

    color:#0B8F45;

    font-weight:600;

}

/*=============================
        BOUTON
==============================*/

.whatsapp-btn{

    width:100%;

    border:none;

    cursor:pointer;

    padding:16px;

    border-radius:12px;

    background:#0B8F45;

    color:#fff;

    font-size:16px;

    font-weight:600;

    transition:.35s;

}

.whatsapp-btn:hover{

    background:#087238;

    transform:translateY(-3px);

}

.whatsapp-btn i{

    margin-right:10px;

}

/*=============================
        SERVICES
==============================*/

.services{

    padding:90px 8%;

    background:#f8f8f8;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.service-card{

    background:#fff;

    padding:35px;

    border-radius:20px;

    text-align:center;

    transition:.3s;

}

.service-card:hover{

    transform:translateY(-8px);

}

.service-card i{

    font-size:45px;

    color:#0B8F45;

    margin-bottom:20px;

}

/*=============================
        CATALOGUE
==============================*/

.catalogue-download{

    padding:100px 8%;

    text-align:center;

    background:linear-gradient(105deg,#0B8F45,#D90429);

    color:#fff;

}

.catalogue-download i{

    font-size:70px;

    margin-bottom:25px;

}

/*=============================
        TEMOIGNAGES
==============================*/

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

}

.testimonial-card{

    background:#fff;

    padding:35px;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

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

@media(max-width:992px){

    .filters{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .shop-hero h1{

        font-size:2.4rem;

    }

    .shop-hero{

        padding-top:140px;

    }

    .products-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
            AMELIORATION PAGE PRODUIT
==================================================*/

.product-details h3 small{
    font-size:16px;
    color:#999;
    text-decoration:line-through;
    margin-left:15px;
}

.product-details select,
.product-details input{
    margin-top:10px;
    margin-bottom:20px;
    width:100%;
    padding:14px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:15px;
    transition:.3s;
}

.product-details select:focus,
.product-details input:focus{
    border-color:#0b8f45;
    outline:none;
    box-shadow:0 0 10px rgba(11,143,69,.25);
}

.product-buttons{
    display:flex;
    gap:15px;
    margin-top:25px;
    flex-wrap:wrap;
}

.product-buttons .btn{
    flex:1;
    text-align:center;
}

.product-buttons button{
    cursor:pointer;
}

#btnWhatsapp{
    margin-top:20px;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
}

.thumbnail-list{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.thumbnail-list img{
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:12px;
    cursor:pointer;
    border:2px solid transparent;
    transition:.3s;
}

.thumbnail-list img:hover{
    border-color:#0b8f45;
    transform:scale(1.05);
}

.main-product-image{
    width:100%;
    border-radius:18px;
    object-fit:cover;
    transition:.4s;
}

.main-product-image:hover{
    transform:scale(1.02);
}

#disponibiliteProduit{
    font-weight:600;
    color:#0b8f45;
}

.features-section ul{
    list-style:none;
    padding:0;
}

.features-section li{
    margin-bottom:15px;
}

.review-card{
    transition:.3s;
}

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

#produitsSimilaires{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

#produitsSimilaires .shop-card{
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

#produitsSimilaires .shop-card:hover{
    transform:translateY(-8px);
}

#produitsSimilaires img{
    height:320px;
    object-fit:cover;
}

#produitsSimilaires h3{
    padding:20px 20px 10px;
}

#produitsSimilaires .price{
    padding:0 20px 20px;
    color:#0b8f45;
    font-weight:bold;
}

@media(max-width:900px){

    .product-container{
        grid-template-columns:1fr;
    }

    .product-buttons{
        flex-direction:column;
    }

    .thumbnail-list{
        justify-content:center;
    }

}

.dark-mode {
    background: #121212;
    color: #ffffff;
}

.dark-mode .product-card {
    background: #1f1f1f;
    color: #ffffff;
}

.dark-mode .navbar {
    background: #181818;
}

.dark-mode footer {
    background: #000000;
    color: #ffffff;
}

/*=========================================
        PRIX DU PRODUIT
==========================================*/

.carte-produit p{

    margin:18px 0;

    text-align:center;

    font-size:28px;

    font-weight:700;

    color:#c1121f;

    letter-spacing:1px;

    position:relative;

    font-family:'Poppins',sans-serif;

}

.carte-produit p::before{

    content:"À partir de";

    display:block;

    font-size:12px;

    font-weight:500;

    color:#777;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:6px;

}

.carte-produit p::after{

    content:"";

    display:block;

    width:60px;

    height:3px;

    background:#0B8F45;

    border-radius:20px;

    margin:10px auto 0;

}



/*=========================================
        BOUTON COMMANDER
==========================================*/

.carte-produit .btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    width:100%;

    padding:16px 20px;

    margin-top:20px;

    border-radius:50px;

    background:linear-gradient(135deg,#0B8F45,#16a34a);

    color:#fff;

    font-size:16px;

    font-weight:600;

    text-decoration:none;

    overflow:hidden;

    position:relative;

    transition:.4s;

    box-shadow:0 12px 30px rgba(11,143,69,.35);

}



/* Icône WhatsApp */

.carte-produit .btn::before{

    content:"\f232";

    font-family:"Font Awesome 6 Brands";

    font-size:22px;

}



/* Effet lumineux */

.carte-produit .btn::after{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:70%;

    height:100%;

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

    transform:skewX(-25deg);

    transition:.7s;

}

.carte-produit .btn:hover::after{

    left:140%;

}



/* Animation */

.carte-produit .btn:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(11,143,69,.45);

    background:linear-gradient(135deg,#16a34a,#0B8F45);

}



/* Au clic */

.carte-produit .btn:active{

    transform:scale(.97);

}



/*=========================================
        BADGE DISPONIBLE
==========================================*/

.stock{

    display:inline-block;

    margin-top:10px;

    padding:6px 14px;

    border-radius:30px;

    background:#eafaf0;

    color:#0B8F45;

    font-size:13px;

    font-weight:600;

}



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

@media(max-width:768px){

    .carte-produit p{

        font-size:24px;

    }

    .carte-produit .btn{

        font-size:15px;

        padding:15px;

    }

}

/*=========================================
        OPTIONS DU PRODUIT
==========================================*/

.product-details h4{

    margin:25px 0 10px;

    font-size:17px;

    font-weight:600;

    color:#222;

    display:flex;

    align-items:center;

    gap:8px;

}

.product-details h4::before{

    content:"•";

    color:#0B8F45;

    font-size:22px;

}

/*=========================================
        LISTES DÉROULANTES
==========================================*/

.product-details select{

    width:100%;

    padding:15px 18px;

    border:2px solid #e5e5e5;

    border-radius:12px;

    background:#fff;

    font-size:15px;

    font-family:'Poppins',sans-serif;

    color:#333;

    cursor:pointer;

    outline:none;

    transition:.3s;

    margin-bottom:20px;

}

.product-details select:hover{

    border-color:#0B8F45;

}

.product-details select:focus{

    border-color:#0B8F45;

    box-shadow:0 0 15px rgba(11,143,69,.2);

}

/*=========================================
        QUANTITÉ
==========================================*/

#quantiteProduit{

    width:120px;

    padding:14px;

    border:2px solid #e5e5e5;

    border-radius:12px;

    text-align:center;

    font-size:18px;

    font-weight:600;

    outline:none;

    transition:.3s;

}

#quantiteProduit:focus{

    border-color:#0B8F45;

    box-shadow:0 0 15px rgba(11,143,69,.2);

}

/*=========================================
        DISPONIBILITÉ
==========================================*/

#disponibiliteProduit{

    display:inline-block;

    padding:10px 18px;

    margin-top:10px;

    margin-bottom:25px;

    background:#e8f8ef;

    color:#0B8F45;

    font-weight:600;

    border-radius:30px;

    border:1px solid #b9e8c9;

}

/*=========================================
        BOUTON WHATSAPP
==========================================*/

#btnWhatsapp{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    width:100%;

    padding:18px;

    margin-top:20px;

    border-radius:50px;

    background:linear-gradient(135deg,#0B8F45,#16a34a);

    color:#fff;

    text-decoration:none;

    font-size:17px;

    font-weight:600;

    transition:.35s;

    box-shadow:0 12px 30px rgba(11,143,69,.30);

}

#btnWhatsapp:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 40px rgba(11,143,69,.40);

}

#btnWhatsapp i{

    font-size:22px;

}

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

@media(max-width:768px){

    .product-details select{

        font-size:14px;

    }

    #quantiteProduit{

        width:100%;

    }

}

.actions-produit{

    display:flex;

    gap:10px;

    margin-top:15px;

}

.actions-produit .btn{

    flex:1;

}

.btn-favori{

    width:55px;

    border:none;

    cursor:pointer;

    border-radius:12px;

    background:#fff0f2;

    color:#d90429;

    font-size:22px;

    transition:.3s;

}

.btn-favori:hover{

    background:#d90429;

    color:#fff;

    transform:scale(1.08);

}

.actions-favoris{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.supprimer{

    background:#d90429 !important;

}

.add-cart{
    display:flex;
    justify-content:center;
    align-items:center;
    width:70px;
    height:70px;
    border-radius:50%;
    background:#0b8f45;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.add-cart:hover{
    transform:scale(1.08);
    background:#087339;
}

.confirmation-commande{
    position:fixed;
    top:30px;
    right:-420px;
    width:360px;
    background:#198754;
    color:#fff;
    padding:18px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    display:flex;
    gap:12px;
    align-items:flex-start;
    transition:.5s;
    z-index:99999;
}

.confirmation-commande.show{
    right:20px;
}

.confirmation-commande i{
    font-size:28px;
}

/*====================================================
            RECHERCHE & FILTRES
====================================================*/

.search-section{
    padding:70px 8%;
    background:linear-gradient(135deg,#fff,#f8f8f8);
}

.search-container{
    max-width:900px;
    margin:auto;
    text-align:center;
}

.search-container h2{
    font-size:2.5rem;
    color:#222;
    margin-bottom:10px;
    font-family:'Playfair Display',serif;
}

.search-container p{
    color:#666;
    margin-bottom:35px;
    font-size:16px;
}

.search-box{
    position:relative;
    max-width:700px;
    margin:auto;
}

.search-box input{
    width:100%;
    padding:18px 60px 18px 25px;
    border:none;
    border-radius:50px;
    background:#fff;
    font-size:16px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.search-box input:focus{
    outline:none;
    box-shadow:0 15px 40px rgba(11,143,69,.25);
    transform:translateY(-2px);
}

.search-box i{
    position:absolute;
    top:50%;
    right:25px;
    transform:translateY(-50%);
    color:#0b8f45;
    font-size:20px;
}


/*=============================
            FILTRES
=============================*/

.filter-section{
    padding:40px 8%;
    background:#fff;
}

.filters{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

.filters select{

    min-width:240px;
    padding:15px 20px;

    border:2px solid #e8e8e8;
    border-radius:50px;

    background:#fff;

    font-size:15px;
    cursor:pointer;

    transition:.35s;

    appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%230b8f45' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5.5l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
}

.filters select:hover{

    border-color:#0b8f45;

    transform:translateY(-3px);

}

.filters select:focus{

    outline:none;

    border-color:#0b8f45;

    box-shadow:0 10px 30px rgba(11,143,69,.18);

}


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

.search-box,
.filters select{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(25px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}


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

@media(max-width:768px){

    .search-container h2{

        font-size:2rem;

    }

    .filters{

        flex-direction:column;

    }

    .filters select{

        width:100%;

        max-width:420px;

    }

    .search-box{

        width:100%;

    }

}

/*=========================================
        BOUTON VOIR LA BOUTIQUE
==========================================*/

.btn-boutique{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    margin-top:18px;

    padding:14px 18px;

    border-radius:40px;

    text-decoration:none;

    background:linear-gradient(135deg,#b71c1c,#d32f2f);

    color:#fff;

    font-weight:600;

    font-size:15px;

    transition:.35s;

    box-shadow:0 10px 25px rgba(183,28,28,.25);

}

.btn-boutique:hover{

    transform:translateY(-3px);

    background:linear-gradient(135deg,#8e0000,#c62828);

    box-shadow:0 15px 30px rgba(183,28,28,.35);

}

.btn-boutique i{

    font-size:16px;

}

/*==================================================
                FAVORIS
==================================================*/

.favorites-section{

    max-width:1400px;

    margin:70px auto;

    padding:0 6%;

}

/* Grille */

#listeFavoris{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:35px;

}

/* Carte */

.carte-produit{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

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

    transition:.35s;

    border:1px solid #f2f2f2;

}

.carte-produit:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(0,0,0,.15);

}

/* Image */

.carte-produit img{

    width:100%;

    height:350px;

    object-fit:cover;

    display:block;

}

/* Nom */

.carte-produit h3{

    padding:18px 25px 8px;

    font-size:28px;

    color:#222;

    font-weight:700;

}

/* Prix */

.carte-produit .prix{

    padding:0 25px;

    font-size:24px;

    color:#0b8f45;

    font-weight:700;

}

/* Boutons */

.actions-favoris{

    display:flex;

    gap:15px;

    padding:25px;

}

/* Bouton Voir */

.actions-favoris .btn{

    flex:1;

    text-align:center;

    padding:15px;

    border-radius:50px;

    background:#16a34a;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.actions-favoris .btn:hover{

    background:#0f8a3f;

    transform:translateY(-3px);

}

/* Bouton Supprimer */

.actions-favoris .supprimer{

    flex:1;

    border:none;

    border-radius:50px;

    background:#d90429;

    color:#fff;

    font-size:16px;

    cursor:pointer;

    transition:.3s;

}

.actions-favoris .supprimer:hover{

    background:#b00020;

    transform:translateY(-3px);

}

/* Icônes */

.actions-favoris i{

    margin-right:8px;

}

/* Aucun favori */

.empty-state{

    text-align:center;

    padding:90px 30px;

    background:#fff;

    border-radius:25px;

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

}

.empty-state i{

    font-size:70px;

    color:#d90429;

    margin-bottom:20px;

}

.empty-state h2{

    font-size:32px;

    margin-bottom:15px;

}

.empty-state p{

    color:#666;

    font-size:18px;

}

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

.menu-toggle{

    display:none;

    font-size:30px;

    cursor:pointer;

    color:#111;

    transition:.3s;

}

.menu-toggle:hover{

    color:#0b8f45;

}


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

@media(max-width:900px){

.menu-toggle{

    display:block;

}

.navbar{

    position:relative;

}

.nav-links{

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    background:#ffffff;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:0;

    overflow:hidden;

    max-height:0;

    transition:.4s;

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

    z-index:999;

}

.nav-links.active{

    max-height:500px;

}

.nav-links li{

    width:100%;

}

.nav-links a{

    display:block;

    width:100%;

    padding:18px;

    text-align:center;

    border-bottom:1px solid #eee;

    font-size:17px;

}

.nav-links a:hover{

    background:#0b8f45;

    color:white;

}

}

.nav-links{

    backdrop-filter:blur(15px);

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

}

.nav-links a{

    font-weight:600;

    letter-spacing:.5px;

}

.nav-links a:hover{

    padding-left:30px;

    transition:.35s;

}

/* =====================================
        MENU HAMBURGER RESPONSIVE
===================================== */

.menu-toggle{
    display:none;
    font-size:30px;
    cursor:pointer;
    color:#111;
}

/* ---------- Desktop ---------- */

@media (min-width:901px){

    .nav-links{
        display:flex !important;
        position:static;
        flex-direction:row;
        max-height:none;
        width:auto;
        background:transparent;
        box-shadow:none;
        padding:0;
        gap:30px;
    }

    .menu-toggle{
        display:none;
    }

}

/* ---------- Mobile ---------- */

@media (max-width:900px){

    .navbar{

        height:80px;

        padding:0 18px;

        display:flex;

        align-items:center;

        justify-content:space-between;

    }

    .logo img{

        width:60px;

    }

    .menu-toggle{

        display:block;

        font-size:30px;

        z-index:1002;

    }

    .nav-links{

        position:fixed;

        top:80px;

        left:-100%;

        width:280px;

        height:calc(100vh - 80px);

        display:flex;

        flex-direction:column;

        justify-content:flex-start;

        align-items:flex-start;

        gap:0;

        padding:25px 0;

        background:#fff;

        transition:.35s;

        box-shadow:10px 0 30px rgba(0,0,0,.15);

        z-index:1001;

    }

    .nav-links.active{

        left:0;

    }

    .nav-links li{

        width:100%;

    }

    .nav-links a{

        display:block;

        width:100%;

        padding:18px 25px;

        font-size:17px;

        border-bottom:1px solid #eee;

    }

    .nav-links a:hover{

        background:#0b8f45;

        color:white;

    }

    .nav-actions{

        margin-right:15px;

    }

    body{

        padding-top:80px;

    }

}