.elementor-86 .elementor-element.elementor-element-bfa9910 > .elementor-background-overlay{background-color:#000000;opacity:0.3;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-bfa9910{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-a81c187:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-a81c187 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #667EEA 0%, #764BA2 100%);}.elementor-86 .elementor-element.elementor-element-a81c187{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-a81c187 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-a8d1cad:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-a8d1cad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-86 .elementor-element.elementor-element-a8d1cad{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-a8d1cad > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-6b0192c:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-6b0192c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #667EEA 0%, #764BA2 100%);}.elementor-86 .elementor-element.elementor-element-6b0192c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-6b0192c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-5d31686:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-5d31686 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F8FC;}.elementor-86 .elementor-element.elementor-element-5d31686{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-5d31686 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-606ddd0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-606ddd0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-242f79e:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-242f79e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-86 .elementor-element.elementor-element-242f79e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-86 .elementor-element.elementor-element-242f79e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-kyga0la{padding:0px 0px 0px 0px;}.elementor-86 .elementor-element.elementor-element-c896502:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-c896502 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #667EEA 0%, #764BA2 100%);}.elementor-86 .elementor-element.elementor-element-c896502{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:50px 0px 50px 0px;}.elementor-86 .elementor-element.elementor-element-c896502 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-86 .elementor-element.elementor-element-945acd8 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-86 .elementor-element.elementor-element-bbd0a1c{text-align:center;}.elementor-86 .elementor-element.elementor-element-bbd0a1c .elementor-heading-title{font-family:"Poppins", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-86 .elementor-element.elementor-element-737b74b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-86 .elementor-element.elementor-element-737b74b{text-align:center;font-family:"Roboto", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-86 .elementor-element.elementor-element-737b74b a{color:#FFFFFF;}.elementor-86 .elementor-element.elementor-element-24e8854 iframe{height:350px;}@media(max-width:1024px) and (min-width:768px){.elementor-86 .elementor-element.elementor-element-945acd8{width:100%;}}@media(max-width:1024px){.elementor-86 .elementor-element.elementor-element-c896502{padding:80px 40px 80px 40px;}.elementor-86 .elementor-element.elementor-element-945acd8 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-86 .elementor-element.elementor-element-c896502{padding:50px 25px 50px 25px;}}/* Start custom CSS for html, class: .elementor-element-00915b2 *//* Section Hero principale */
        .hero {
            position: relative;
            min-height: 80vh;
            border-radius: 
            padding: 0 40px;
            display: flex;
            align-items: center;
            font-family: 'Poppins', sans-serif;
            overflow: hidden;
            /* Image de fond avec des légumes frais */
            background-image: url('/wp-content/uploads/2025/07/contact-page-bg-2-68837b07995c2.webp');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        /* Superposition sombre pour la lisibilité du texte */
        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 1;
        }

        /* Container principal du contenu */
        .hero-container {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            width: 100%;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        /* Section texte (colonne gauche) */
        .hero-content {
            color: white;
        }

        /* Titre principal */
        .hero-content h1 {
            font-size: 3.5rem;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 1.5rem;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
        }

        /* Sous-titre */
        .hero-content h2 {
            font-size: 1.5rem;
            font-weight: 400;
            line-height: 1.4;
            margin-bottom: 2.5rem;
            opacity: 0.9;
        }

        /* Bouton Call-to-Action */
        .cta-button {
            display: inline-block;
            padding: 18px 40px;
            background: linear-gradient(45deg, #ff7e5f, #feb47b);
            color: white;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1.1rem;
            transition: all 0.3s ease;
            box-shadow: 0 8px 25px rgba(255, 126, 95, 0.3);
            text-shadow: none;
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 35px rgba(255, 126, 95, 0.4);
            background: linear-gradient(45deg, #ff6b47, #fd9853);
        }

        /* Section image (colonne droite) */
        .hero-image {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .hero-image img {
            max-width: 100%;
            height: auto;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease;
        }

        .hero-image img:hover {
            transform: scale(1.02);
        }

        /* Design responsive pour mobile */
        @media (max-width: 768px) {
            .hero {
                min-height: 80vh;
                padding: 40px 0;
            }

            .hero-container {
                grid-template-columns: 1fr;
                gap: 40px;
                text-align: center;
            }

            .hero-content h1 {
                font-size: 2.5rem;
                margin-bottom: 1rem;
            }

            .hero-content h2 {
                font-size: 1.2rem;
                margin-bottom: 2rem;
            }

            .cta-button {
                padding: 16px 35px;
                font-size: 1rem;
            }

            .hero-image {
                order: 2;
            }

            .hero-content {
                order: 1;
            }
        }

        @media (max-width: 480px) {
            .hero-content h1 {
                font-size: 2rem;
            }

            .hero-content h2 {
                font-size: 1.1rem;
            }

            .hero-container {
                padding: 0 15px;
            }
        }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e6d0da8 *//* --- Styles Généraux (à placer dans votre CSS principal) --- */
        body {
            margin: 0;
            font-family: 'Poppins', sans-serif; /* Assurez-vous que cette police est chargée */
            background-color: #f4f4f4; /* Couleur de fond pour le reste de la page si besoin */
        }
        
        /* --- Styles de la section "Nos Services" --- */
        .services-section {
            padding: 80px 40px;
            color: white;
            text-align: center;
        }

        .services-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .services-section h2 {
            font-size: 42px;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 16px;
        }

        .services-section .intro-paragraph {
            font-size: 18px;
            max-width: 800px;
            margin: 0 auto 60px auto; /* Marge en bas pour espacer des cartes */
            opacity: 0.9;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* 3 colonnes sur grand écran */
            gap: 30px; /* Espace entre les cartes */
            margin-bottom: 60px;
        }

        .service-card {
            background: rgba(255, 255, 255, 0.1); /* Fond semi-transparent */
            border-radius: 20px;
            padding: 40px 30px;
            border: 1px solid rgba(255, 255, 255, 0.2); /* Bordure subtile */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .service-card .icon-container {
            background-color: rgba(255, 255, 255, 0.9); /* Fond presque opaque pour l'icône */
            width: 80px;
            height: 80px;
            border-radius: 50%; /* Cercle parfait */
            margin: 0 auto 20px auto;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s ease;
        }
        
        .service-card:hover .icon-container {
             transform: scale(1.1); /* Effet de zoom sur l'icône au survol de la carte */
        }

        .service-card .icon-container img {
            width: 45px; /* Ajustez la taille de votre icône */
            height: 45px;
        }

        .service-card h3 {
            font-size: 24px;
            font-weight: 600;
            margin-top: 0;
            margin-bottom: 10px;
        }

        .service-card p {
            font-size: 16px;
            opacity: 0.8;
            line-height: 1.6;
        }

        /* Bouton CTA secondaire */
        .secondary-cta {
            display: inline-block;
            padding: 15px 30px;
            font-size: 18px;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%);
            border: none;
            border-radius: 50px;
            text-decoration: none;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }

        .secondary-cta:hover {
            transform: translateY(-3px);
            color:white;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
            filter: brightness(1.1);
        }

        /* --- Responsive Design (pour mobile) --- */
        @media (max-width: 992px) {
            .services-grid {
                grid-template-columns: 1fr; /* 1 colonne sur tablette/mobile */
            }
             .services-section h2 {
                font-size: 36px;
            }
        }
        
        @media (max-width: 768px) {
            .services-section {
                padding: 60px 20px;
            }
        }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5d7b2c2 *//* --- Style de la section "Pourquoi Nous Choisir" --- */
        .why-us-section {
            /* Le fond est inversé ici pour créer un contraste, mais garde le même esprit */
            /* Si vous préférez le même fond dégradé, décommentez la ligne suivante et commentez le fond blanc */
            /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */
            background-color: #ffffff;
            padding: 80px 40px;
            text-align: center;
        }

        .why-us-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .why-us-section h2 {
            font-size: 42px;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 16px;
            /* Couleur du texte adaptée au fond blanc */
            color: #333; 
            /* Si vous utilisez le fond dégradé, mettez color: white; */
        }

        .why-us-section .intro-paragraph {
            font-size: 18px;
            max-width: 800px;
            margin: 0 auto 60px auto;
            color: #555;
            /* Si vous utilisez le fond dégradé, mettez color: white; et opacity: 0.9; */
        }

        .advantages-grid {
            display: grid;
            /* Grille de 2 colonnes sur desktop */
            grid-template-columns: repeat(2, 1fr); 
            gap: 40px; /* Espace entre les avantages */
            margin-bottom: 60px;
            text-align: left; /* Aligne le texte à gauche dans chaque cellule */
        }
        
        .advantage-item {
            display: flex;
            align-items: flex-start; /* Aligne l'icône et le texte en haut */
            gap: 20px;
        }

        .advantage-icon {
            /* Cercle avec le dégradé du header pour une touche de couleur */
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s ease;
        }
        
        .advantage-item:hover .advantage-icon {
            transform: scale(1.1); /* Effet de zoom sur l'icône au survol */
        }

        .advantage-icon img {
            width: 30px;
            height: 30px;
        }

        .advantage-text h3 {
            font-size: 22px;
            margin-top: 0;
            margin-bottom: 8px;
            color: #333;
            /* Si vous utilisez le fond dégradé, mettez color: white; */
        }

        .advantage-text p {
            font-size: 16px;
            margin: 0;
            line-height: 1.6;
            color: #555;
            /* Si vous utilisez le fond dégradé, mettez color: white; et opacity: 0.8; */
        }
        
        /* Bouton CTA */
        .cta-button {
            display: inline-block;
            padding: 15px 30px;
            font-size: 18px;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%);
            border: none;
            border-radius: 50px;
            text-decoration: none;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }

        .cta-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
            filter: brightness(1.1);
        }

        /* --- Responsive Design --- */
        @media (max-width: 992px) {
            .advantages-grid {
                 /* 1 seule colonne sur tablette */
                grid-template-columns: 1fr;
            }
        }
        
        @media (max-width: 768px) {
            .why-us-section {
                padding: 60px 20px;
            }
            .why-us-section h2 {
                font-size: 36px;
            }
        }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3404cde *//* --- Style de la section "Ce que nous livrons" --- */
        .delivery-section {
            padding: 80px 40px;
            color: white;
            text-align: center;
        }

        .delivery-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .delivery-section h2 {
            font-size: 42px;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 16px;
        }

        .delivery-section .intro-subtitle {
            font-size: 18px;
            max-width: 700px;
            margin: 0 auto 60px auto;
            opacity: 0.9;
        }

        .delivery-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* 3 colonnes sur desktop */
            gap: 30px; /* Espace entre les cartes */
            margin-bottom: 60px;
        }

        .category-card {
            position: relative;
            border-radius: 20px; /* Coins bien arrondis */
            overflow: hidden; /* Important pour que l'image et l'overlay respectent les coins arrondis */
            height: 450px; /* Hauteur fixe pour un alignement parfait */
            display: flex;
            align-items: flex-end; /* Aligne le contenu en bas */
            color: white;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease-out;
        }

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

        .card-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            transition: transform 0.4s ease;
        }
        
        .category-card:hover .card-background {
            transform: scale(1.05); /* Effet de zoom sur l'image au survol */
        }
        
        .card-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Dégradé pour assurer la lisibilité du texte en bas */
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 60%);
            z-index: 1;
        }

        .card-content {
            position: relative;
            z-index: 2;
            padding: 30px;
            text-align: left;
            width: 100%;
        }

        .card-content h3 {
            font-size: 28px;
            font-weight: 700;
            margin: 0 0 10px 0;
            line-height: 1.2;
        }

        .card-content p {
            font-size: 16px;
            opacity: 0.9;
            margin: 0;
        }
        
        /* Bouton CTA */
        .cta-button {
            display: inline-block;
            padding: 15px 30px;
            font-size: 18px;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%);
            border: none;
            border-radius: 50px;
            text-decoration: none;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }

        .cta-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
            filter: brightness(1.1);
            color:white;
        }

        /* --- Responsive Design --- */
        @media (max-width: 992px) {
            .delivery-grid {
                 /* 1 seule colonne sur tablette et mobile */
                grid-template-columns: 1fr;
            }
        }
        
        @media (max-width: 768px) {
            .delivery-section {
                padding: 60px 20px;
            }
            .delivery-section h2 {
                font-size: 36px;
            }
        }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-de1d359 *//* --- Section Partenaires --- */
.partners-section {
    background-color: #f7f8fc; /* Un gris très clair pour contraster */
    padding: 80px 40px;
    text-align: center;
}

.partners-container {
    max-width: 1200px;
    margin: 0 auto;
}

.partners-section h2 {
    font-size: 42px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 16px;
    color: #333;
}

.partners-section p {
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto 60px auto;
    color: #666;
    line-height: 1.6;
}

.logos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 40px;
    align-items: center;
}

.logo-item {
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-item img {
    max-width: 120px;
    height: auto;
    filter: grayscale(100%); /* Logos en noir et blanc par défaut */
    opacity: 0.7;
    transition: all 0.3s ease;
}

.logo-item img:hover {
    filter: grayscale(0%); /* Logos en couleur au survol */
    opacity: 1;
    transform: scale(1.1);
}

/* --- Responsive Design --- */
@media (max-width: 768px) {
    .partners-section {
        padding: 60px 20px;
    }
    .partners-section h2 {
        font-size: 36px;
    }
    .logos-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur mobile */
        gap: 30px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-41e8618 *//* --- Section Produits Populaires --- */
.products-section {
    padding: 80px 40px;
    background-color: #f4f4f4;
}
.products-container {
    max-width: 1300px;
    margin: 0 auto;
    text-align: center;
}
.products-section h2 {
    font-size: 42px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 16px;
    color: #333;
}
.products-section p.intro {
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto 60px auto;
    color: #666;
    line-height: 1.6;
}

/* --- Slider Core Styles --- */
.slider-container {
    position: relative;
    margin: 0 auto;
}
.slider-viewport {
    overflow: hidden;
    position: relative;
}
.slider-wrapper {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 30px; /* This sets the space between cards */
}
/*.product-card {*/
    /* Set the base width for each card. This will be adjusted in media queries. */
    /* 100% / 3 cards = 33.33%. Subtract gap space for perfect fit. */
/*    flex: 0 0 calc(33.333% - 20px); */
/*    background-color: #ffffff;*/
/*    border-radius: 16px;*/
/*    overflow: hidden;*/
/*    box-shadow: 0 4px 20px rgba(0,0,0,0.05);*/
/*    text-align: left;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    transition: transform 0.3s ease, box-shadow 0.3s ease;*/
/*}*/
.product-card {
    /* Set flex-shrink to 0 to prevent cards from shrinking */
    flex-shrink: 0;

    /* THIS IS THE UPDATED FORMULA */
    /* (100% container width - total gap space) / number of cards */
    flex-basis: calc((100% - 60px) / 3); /* 2 gaps * 30px = 60px */

    background-color: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    text-align: left;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.product-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.product-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.product-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
}
.product-content .description {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    flex-grow: 1;
    margin-bottom: 20px;
}
.product-footer {
    margin-top: auto;
}
.order-button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: white;
    background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%);
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.order-button:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    color: white;
}

/* --- Navigation & Dots --- */
.slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}
.slider-nav:hover {
    transform: translateY(-50%) scale(1.1);
}
.slider-nav.prev { left: -60px; }
.slider-nav.next { right: -60px; }
.slider-dots {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    gap: 10px;
}
.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ddd;
    cursor: pointer;
    transition: all 0.3s ease;
}
.dot.active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    transform: scale(1.2);
}

/* --- Responsive Design --- */
@media (max-width: 1024px) {
    .slider-wrapper {
        gap: 25px;
    }
    .product-card {
        /* UPDATED FORMULA FOR 2 CARDS */
        /* 1 gap * 25px = 25px */
        flex-basis: calc((100% - 25px) / 2);
    }
    .slider-nav.prev { left: -20px; }
    .slider-nav.next { right: -20px; }
}

@media (max-width: 768px) {
    .products-section { padding: 60px 15px; }
    .products-section h2 { font-size: 32px; }
    .products-section p.intro { font-size: 16px; margin-bottom: 40px; }
    
    .slider-nav { width: 35px; height: 35px; font-size: 16px; }
    .slider-nav.prev { left: -15px; }
    .slider-nav.next { right: -15px; }
}

@media (max-width: 480px) {
    .slider-wrapper { gap: 15px; }
    .product-card {
        /* UPDATED FORMULA FOR 2 CARDS WITH SMALLER GAP */
        /* 1 gap * 15px = 15px */
        flex-basis: calc((100% - 15px) / 2);
    }
    .product-image { height: 120px; }
    .product-content { padding: 12px; }
    .product-content h3 { font-size: 14px; }
    .product-content .description { font-size: 11px; }
    .order-button { padding: 6px 10px; font-size: 11px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-76aeccb *//* --- Section Témoignages --- */
        .testimonials-section {
            background-color: #ffffff; /* Fond blanc pour la section */
            padding: 80px 40px;
            text-align: center;
        }

        .testimonials-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .testimonials-section h2 {
            font-size: 42px;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 16px;
            color: #333;
        }

        .testimonials-section p.intro {
            font-size: 18px;
            max-width: 700px;
            margin: 0 auto 60px auto;
            color: #666;
            line-height: 1.6;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }

        .testimonial-card {
            background-color: #f7f8fc; /* Fond légèrement gris pour la carte */
            padding: 40px;
            border-radius: 20px;
            text-align: left;
            position: relative;
            border: 1px solid #e0e0e0;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .testimonial-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        }

        .testimonial-card::before {
            content: '“';
            position: absolute;
            top: 10px;
            left: 25px;
            font-size: 100px;
            color: rgba(102, 126, 234, 0.15); /* Couleur du dégradé, en transparent */
            font-weight: 800;
            line-height: 1;
            z-index: 1;
        }

        .testimonial-text {
            position: relative;
            z-index: 2;
            font-size: 16px;
            color: #555;
            line-height: 1.7;
            margin-bottom: 30px;
        }

        .author-info {
            display: flex;
            align-items: center;
            padding-top: 20px;
            border-top: 1px solid #e0e0e0;
        }

        .author-info img {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            object-fit: cover;
            margin-right: 15px;
        }

        .author-details .name {
            font-weight: 700;
            color: #333;
            margin: 0;
        }

        .author-details .location {
            font-size: 14px;
            color: #777;
            margin: 0;
        }

        /* --- Responsive Design --- */
        @media (max-width: 992px) {
            .testimonials-grid {
                grid-template-columns: 1fr; /* 1 colonne sur tablette et mobile */
            }
        }
        
        @media (max-width: 768px) {
            .testimonials-section {
                padding: 60px 20px;
            }
            .testimonials-section h2 {
                font-size: 36px;
            }
        }/* End custom CSS */