.elementor-215414 .elementor-element.elementor-element-c44d3e8:not(.elementor-motion-effects-element-type-background), .elementor-215414 .elementor-element.elementor-element-c44d3e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#DFE5E1;}.elementor-215414 .elementor-element.elementor-element-c44d3e8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-215414 .elementor-element.elementor-element-c44d3e8 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.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-215414 .elementor-element.elementor-element-f4108e1 > .elementor-widget-container{background-color:#DFE5E1;padding:75px 75px 75px 75px;}.elementor-215414 .elementor-element.elementor-element-f4108e1{text-align:start;}.elementor-215414 .elementor-element.elementor-element-f4108e1 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;color:#11605B;}.elementor-215414 .elementor-element.elementor-element-78c600d{width:var( --container-widget-width, 112.423% );max-width:112.423%;--container-widget-width:112.423%;--container-widget-flex-grow:0;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-215414 .elementor-element.elementor-element-58efd65.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-215414 .elementor-element.elementor-element-58efd65.elementor-wc-products ul.products li.product span.onsale{display:block;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-215414 .elementor-element.elementor-element-5e79718{width:20.277%;}.elementor-215414 .elementor-element.elementor-element-52b39e1{width:79.723%;}}@media(max-width:1024px){.elementor-215414 .elementor-element.elementor-element-58efd65.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-215414 .elementor-element.elementor-element-58efd65.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for woocommerce-products, class: .elementor-element-58efd65 *//* =======================================================
   1. VARIABLES & ANIMATIONS
   ======================================================= */
:root {
  --spacing-8: 8px;
  --spacing-16: 16px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --green-custom: #CDDB47;
  --dark-green: #18534F;
  --card-radius: 20px; /* <-- ICI LE CHANGEMENT : de 4px à 20px pour bien arrondir ! */
}

@keyframes fade-up {
  0% { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}

/* =======================================================
   2. LA GRILLE (FORCÉE À 4 COLONNES)
   ======================================================= */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important; /* Force 4 colonnes */
  gap: var(--spacing-24) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

/* =======================================================
   3. LE DESIGN DES CARTES (Cadre et apparition)
   ======================================================= */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important; 
  
  background: #FFFFFF !important; 
  border-radius: var(--card-radius) !important; /* Utilise la nouvelle variable de 20px */
  padding: var(--spacing-16) !important;
  
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.08) !important; /* Légère ombre pour faire ressortir l'arrondi */
  transition: all 0.3s ease !important;
  opacity: 0;
  animation: fade-up 0.8s ease forwards;
  cursor: pointer;
}

/* Cascade d'apparition */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(1) { animation-delay: 0.1s; }
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(2) { animation-delay: 0.2s; }
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(3) { animation-delay: 0.3s; }

/* =======================================================
   4. LES IMAGES (Ajustement pour les voir en entier)
   ======================================================= */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  text-decoration: none !important;
  border-radius: 15px !important; 
  overflow: hidden !important; 
}

.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product a img {
  border-radius: 15px !important; 
  transition: transform 0.5s ease !important;
  width: 100% !important;
  height: 200px !important; 
  object-fit: contain !important; 
  margin-bottom: var(--spacing-16) !important;
  background-color: transparent !important;
}

.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:hover a img {
  transform: scale(1.03) !important;
}

/* =======================================================
   5. TYPOGRAPHIE
   ======================================================= */
.elementor-215414 .elementor-element.elementor-element-58efd65 .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--dark-green) !important;
  margin: 0 0 var(--spacing-8) 0 !important;
  
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

/* Masquer le prix par défaut */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .price {
    display: none !important;
}

/* =======================================================
   6. LES BOUTONS (Bouton principal + Wishlist)
   ======================================================= */
/* Pousse la zone des boutons tout en bas de la carte */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .product_loop_buttons_wrap,
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .yith-wcwl-add-to-wishlist {
    margin-top: auto !important; 
}

/* Bouton principal (Ex: Ajouter au devis / À partir de) */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .button {
    display: block !important;
    width: 100% !important;
    background-color: var(--dark-green) !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 12px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 10px !important;
    transition: 0.3s ease !important;
    border: none !important;
    box-sizing: border-box !important;
}

.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .button:hover {
    background-color: var(--green-custom) !important;
    color: var(--dark-green) !important;
}

/* Bouton Wishlist (Cœur) */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .yith-wcwl-add-button a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    border: 2px solid var(--dark-green) !important;
    color: var(--dark-green) !important;
    background-color: transparent !important;
    border-radius: 20px !important;
    padding: 10px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
    transition: 0.3s ease !important;
    box-sizing: border-box !important;
}

.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product .yith-wcwl-add-button a:hover {
    background-color: var(--dark-green) !important;
    color: #ffffff !important;
}

/* =======================================================
   7. EFFETS AU SURVOL DE LA CARTE (HOVER)
   ======================================================= */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.1) !important;
}

/* =======================================================
   8. GESTION DE L'ORDRE
   ======================================================= */
@media (min-width: 768px) {
  .elementor-215414 .elementor-element.elementor-element-58efd65 ul.products::before {
    grid-column: span 2 !important;
  }
}

/* Gestion de l'ordre des produits */
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product { order: 5 !important; }
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(1) { order: 1 !important; }
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(2) { order: 2 !important; }
.elementor-215414 .elementor-element.elementor-element-58efd65 ul.products li.product:nth-child(3) { order: 3 !important; }

/* =======================================================
   9. RESPONSIVE MOBILE
   ======================================================= */
/* Sur tablette, on passe à 2 colonnes pour que ce soit lisible */
@media screen and (max-width: 1024px) {
    .elementor-215414 .elementor-element.elementor-element-58efd65 ul.products {
        grid-template-columns: repeat(2, 1fr) !important; 
    }
}

/* Sur téléphone, on passe à 1 seule colonne */
@media screen and (max-width: 480px) {
    .elementor-215414 .elementor-element.elementor-element-58efd65 ul.products {
        grid-template-columns: 1fr !important; 
    }
}
/* ==========================================================
   1. LA BARRE DE PROGRESSION (Style IDM)
   ========================================================== */
.idm-progress-container {
    width: 100%;
    max-width: 350px;
    margin: 30px auto 20px auto; /* Espace parfait au-dessus de la pagination */
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.idm-progress-text {
    color: #444444;
    font-size: 14px;
    margin-bottom: 12px;
}

.idm-progress-text strong {
    color: #244545; /* Ton vert très foncé */
    font-weight: 600;
}

.idm-progress-bar-bg {
    background-color: #E7E8E8; /* Gris clair */
    height: 6px;
    border-radius: 10px;
    width: 100%;
    overflow: hidden;
}

.idm-progress-bar-fill {
    background-color: #18534F; /* Le vert de tes boutons */
    height: 100%;
    border-radius: 10px;
    transition: width 0.8s ease-in-out;
}

/* ==========================================================
   2. LA PAGINATION (Centrée, carrée, responsive)
   ========================================================== */
/* On cible la pagination du widget Elementor / WooCommerce */
.woocommerce nav.woocommerce-pagination,
.elementor-pagination {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-bottom: 40px !important;
}

.woocommerce nav.woocommerce-pagination ul,
.elementor-pagination {
    display: flex !important;
    flex-wrap: wrap !important; /* Permet de passer à la ligne sur mobile */
    justify-content: center !important;
    gap: 8px !important; /* Espace entre les carrés */
    border: none !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    display: block !important;
    margin: 0 !important;
}

/* Design des boutons normaux (1, 2, 3...) */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current,
.elementor-pagination a.page-numbers,
.elementor-pagination span.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E7E8E8 !important;
    border-radius: 4px !important;
    color: #444444 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

/* Le bouton de la page ACTUELLE */
.woocommerce nav.woocommerce-pagination ul li span.current,
.elementor-pagination span.page-numbers.current {
    background-color: #18534F !important;
    border-color: #18534F !important;
    color: #FFFFFF !important;
}

/* Effet au survol des autres boutons */
.woocommerce nav.woocommerce-pagination ul li a:hover,
.elementor-pagination a.page-numbers:hover {
    border-color: #18534F !important;
    color: #18534F !important;
}
.idm-progress-bar-fill {
    background-color: #18534F; /* Ton vert IDM */
    height: 100%;
    border-radius: 10px;
    transition: width 0.8s ease-in-out; /* Pour l'effet de remplissage */
}/* End custom CSS */