.elementor-3170201 .elementor-element.elementor-element-d617d76 > .elementor-container{min-height:60vh;}.elementor-3170201 .elementor-element.elementor-element-d617d76 > .elementor-container:after{content:"";min-height:inherit;}.elementor-3170201 .elementor-element.elementor-element-d617d76:not(.elementor-motion-effects-element-type-background), .elementor-3170201 .elementor-element.elementor-element-d617d76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("/img/cms/photo_bassin_koi.png");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-3170201 .elementor-element.elementor-element-d617d76{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-3170201 .elementor-element.elementor-element-d617d76 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-3170201 .elementor-element.elementor-element-e54825d > .elementor-column-wrap > .elementor-widget-wrap{row-gap:0px;column-gap:0px;}.elementor-3170201 .elementor-element.elementor-element-e54825d > .elementor-element-populated{margin:0px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-3170201 .elementor-element.elementor-element-c079c67{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-grid .ce-image-gallery{grid-template-columns:repeat(2, 1fr);grid-gap:10px;}.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-masonry .ce-image-gallery{columns:2;column-gap:10px;}.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-masonry figure{margin-bottom:10px;}.elementor-3170201 .elementor-element.elementor-element-25bc227 .ce-gallery-icon, .elementor-3170201 .elementor-element.elementor-element-25bc227 .ce-gallery-icon img{transition-duration:800ms;transition-property:all;}.elementor-3170201 .elementor-element.elementor-element-25bc227 .ce-gallery-item{gap:21px;}.elementor-3170201 .elementor-element.elementor-element-25bc227 figcaption, .elementor-3170201 .elementor-element.elementor-element-25bc227 figcaption a{color:#FFFFFF;font-size:34px;}.elementor-3170201 .elementor-element.elementor-element-25bc227 figcaption{background-color:#F3EDED;}.elementor-3170201 .elementor-element.elementor-element-a36565c{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-084c73f{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-3be5ead{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-e0aed70{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-e1084aa .swiper:not(.swiper-initialized) .swiper-wrapper{grid-template-columns:repeat(6, 1fr);grid-column-gap:10px;}.elementor-3170201 .elementor-element.elementor-element-e1084aa .elementor-image-carousel-caption{text-align:center;}.elementor-3170201 .elementor-element.elementor-element-e1084aa .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:4px;}.elementor-3170201 .elementor-element.elementor-element-cc38b5b{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-609621b{padding:20px 0px 20px 0px;}.elementor-3170201 .elementor-element.elementor-element-005da65:not(.elementor-motion-effects-element-type-background), .elementor-3170201 .elementor-element.elementor-element-005da65 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A3A2A;}.elementor-3170201 .elementor-element.elementor-element-005da65{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 0px 100px 0px;}.elementor-3170201 .elementor-element.elementor-element-005da65 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-3170201 .elementor-element.elementor-element-b3bc1d7.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{justify-content:center;}.elementor-3170201 .elementor-element.elementor-element-c527325{text-align:center;}.elementor-3170201 .elementor-element.elementor-element-c527325 .elementor-heading-title{color:#FFFFFF;font-size:28px;}.elementor-3170201 .elementor-element.elementor-element-939e756 .elementor-text-editor{text-align:center;}.elementor-3170201 .elementor-element.elementor-element-939e756{color:#FFFEFE;font-size:17px;width:600px;max-width:max(600px, 100%);align-self:center;}@media(min-width:768px){.elementor-3170201 .elementor-element.elementor-element-e54825d{width:100%;}}@media(max-width:1024px){.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-grid .ce-image-gallery{grid-template-columns:repeat(4, 1fr);}.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-masonry .ce-image-gallery{columns:4;}}@media(max-width:767px){.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-grid .ce-image-gallery{grid-template-columns:repeat(2, 1fr);}.elementor-3170201 .elementor-element.elementor-element-25bc227.ce-image-gallery--layout-masonry .ce-image-gallery{columns:2;}.elementor-3170201 .elementor-element.elementor-element-939e756{font-size:13px;}}/* Start custom CSS for html, class: .elementor-element-b93c179 *//* ============================================================
   NATUR'BASSIN — Hero complet
   CSS à coller dans Apparence > Thème & Logo > CSS personnalisé
   ============================================================ */

/* ── SECTION : hauteur + position ── */
#section_hero {
  position: relative !important;
  min-height: 58vh !important;
}

/* ── Dégradé sombre bas ── */
#section_hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(5, 18, 10, 0.10) 0%,
    rgba(5, 18, 10, 0.05) 35%,
    rgba(5, 18, 10, 0.55) 68%,
    rgba(5, 18, 10, 0.90) 100%
  );
  pointer-events: none;
  z-index: 0;
}

/* ── Colonne : contenu en bas à gauche ── */
#colonne_hero > .elementor-column-wrap {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: flex-end !important;
  min-height: 88vh !important;
  padding: 0 72px 56px !important;
}

#colonne_hero .elementor-widget-wrap {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 40px !important;
}

/* ── WIDGET HTML : conteneur global ── */
#hero-widget {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

/* ── Avis Google ── */
.hw-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.hw-stars {
  color: #fbbc04;
  font-size: 0.95rem;
  letter-spacing: 1px;
}
.hw-rating-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255,255,255,0.72);
}
.hw-sep { color: rgba(255,255,255,0.25); }

/* ── Titre ── */
.hw-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.18 !important;
  margin: 0 0 14px !important;
  max-width: 520px;
}
.hw-title span { color: #7ecfa0; }

/* ── Sous-titre ── */
.hw-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.93rem !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
  max-width: 440px;
}
.hw-sub strong {
  color: rgba(255,255,255,0.88) !important;
  font-weight: 500 !important;
}

/* ── CTA row ── */
.hw-cta-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

/* ── Bouton ── */
.hw-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  background: #4caf73 !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.hw-btn:hover {
  background: #3d9962 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(76,175,115,0.5);
}

/* ── Garanties ── */
.hw-checks {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hw-check {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.5);
}



/* ── Responsive tablette ── */
@media (max-width: 900px) {
  #colonne_hero > .elementor-column-wrap {
    padding: 0 28px 44px !important;
  }
  .hw-stats {
    max-width: 100%;
    grid-template-columns: repeat(4, 1fr);
  }
  .hw-title { font-size: 1.9rem !important; }
}

/* ── Responsive mobile ── */
@media (max-width: 600px) {
  #colonne_hero > .elementor-column-wrap {
    padding: 0 20px 36px !important;
  }
  .hw-title { font-size: 1.65rem !important; }
  .hw-cta-row { flex-direction: column; align-items: flex-start; }
}


/* ── Avis Google — fond lisible ── */
.hw-rating {
  background: rgba(7, 26, 15, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 3px 14px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-106caa5 *//* ── Widget stats hero ── */
#hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 480px;
}

.hs-card {
  background: rgba(7, 26, 15, 0.58);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 14px 10px;
  text-align: center;
}

.hs-n {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #7ecfa0;
  line-height: 1;
}

.hs-l {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 5px;
  line-height: 1.3;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  #hero-stats {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-d617d76 *//* ── Dégradé sombre bas ── */
#section_hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(5, 18, 10, 0.10) 0%,
    rgba(5, 18, 10, 0.05) 35%,
    rgba(5, 18, 10, 0.55) 68%,
    rgba(5, 18, 10, 0.88) 100%
  );
  pointer-events: none;
  z-index: 0;
}

/* ── Colonne : centrer horizontalement + coller en bas ── */
#colonne_hero > .elementor-column-wrap {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding-bottom: 60px !important;
}

#colonne_hero .elementor-widget-wrap {
  width: 100%;
  max-width: 900px;
  text-align: left;
}

/* ── TITRE ── */
#titre_hero .elementor-heading-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

/* Dernière ligne du titre en vert */
#titre_hero .elementor-heading-title br + br {
  display: none;
}



/* ── Les deux widgets côte à côte ── */
#colonne_hero .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 40px !important;
  width: 100% !important;
}

/* ── Widget texte : prend l'espace restant ── */
#widget_colonne1 {
  flex: 1 !important;
  max-width: 520px !important;
}

/* ── Widget stats : taille fixe, aligné à droite ── */
#widget_colonne2 {
  flex-shrink: 0 !important;
  width: 340px !important;
  align-self: flex-end !important;
}

/* ── Responsive mobile : empiler ── */
@media (max-width: 900px) {
  #colonne_hero .elementor-widget-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #widget_colonne2 {
    width: 100% !important;
  }
  #hero-stats {
    grid-template-columns: repeat(4, 1fr) !important;
    max-width: 100% !important;
  }
}


@media (max-width: 900px) {
  /* Gradient plus sombre sur toute la hauteur en mobile */
  #section_hero::after {
    background: linear-gradient(
      to bottom,
      rgba(5, 18, 10, 0.25) 0%,
      rgba(5, 18, 10, 0.45) 30%,
      rgba(5, 18, 10, 0.72) 60%,
      rgba(5, 18, 10, 0.92) 100%
    );
  }

  /* Ombre de texte renforcée sur le titre */
  #titre_hero .elementor-heading-title {
    text-shadow: 0 2px 24px rgba(0,0,0,0.7), 0 1px 6px rgba(0,0,0,0.5) !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-c079c67 *//* ── SECTION ── */
#section_achatcateg {
  background: #f0faf4 !important;
  padding: 48px 0 56px !important;
}

/* ── TITRE ── */
#titre_achatcateg .elementor-heading-title {
  font-family: 'Syne', sans-serif !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #0f1c14 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 24px !important;
}

/* ── GRILLE 4 colonnes, 2 lignes ──
   Ligne 1 : Construction(×2) + Pompes + Filtration  = 4 cols
   Ligne 2 : Matériel + Entretien + Traitement + Alimentation(×2) ne rentre pas...
   Donc : Alimentation ne prend PAS span 2
   Ligne 2 : Matériel + Entretien + Traitement + Alimentation = 4 cols pile
── */
#categs_achatcateg .ce-image-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  grid-template-rows: 210px 210px !important;
  gap: 12px !important;
  overflow: visible !important;
}

/* ── ITEM GÉNÉRIQUE ── */
#categs_achatcateg .ce-gallery-item {
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 210px !important;
}

/* ── IMAGE ── */
#categs_achatcateg .ce-gallery-icon {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#categs_achatcateg .ce-gallery-icon a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

#categs_achatcateg .ce-gallery-icon img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

#categs_achatcateg .ce-gallery-item:hover img {
  transform: scale(1.07) !important;
}

/* ── OVERLAY sombre ── */
#categs_achatcateg .ce-gallery-item::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(8, 22, 14, 0.42) !important;
  transition: background 0.28s ease !important;
  pointer-events: none !important;
  border-radius: 16px !important;
}

#categs_achatcateg .ce-gallery-item:hover::after {
  background: rgba(8, 22, 14, 0.6) !important;
}

/* ── LÉGENDE ── */
#categs_achatcateg .ce-gallery-caption {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 16px 18px !important;
  background: none !important;
  z-index: 2 !important;
  text-align: left !important;
  margin: 0 !important;
}

#categs_achatcateg .ce-gallery-caption a {
  font-family: 'Syne', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* ── CONSTRUCTION (1er) — span 2 ── */
#categs_achatcateg .ce-gallery-item:nth-child(1) {
  grid-column: span 2 !important;
}
#categs_achatcateg .ce-gallery-item:nth-child(1) .ce-gallery-caption a {
  font-size: 16px !important;
}

/* ── ALIMENTATION (7ème) — span 1, même taille que les autres ── */
#categs_achatcateg .ce-gallery-item:nth-child(7) {
  grid-column: span 1 !important;
}

/* ── MASQUER Chèques cadeaux (8ème) ── */
#categs_achatcateg .ce-gallery-item:nth-child(8) {
  display: none !important;
}

/* ── MASQUER Promotions (9ème) ── */
#categs_achatcateg .ce-gallery-item:nth-child(9) {
  display: none !important;
}

/* ── RESPONSIVE tablette ── */
@media (max-width: 900px) {
  #categs_achatcateg .ce-image-gallery {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: auto !important;
  }
  #categs_achatcateg .ce-gallery-item { height: 160px !important; }
  #categs_achatcateg .ce-gallery-icon img { height: 160px !important; }
  #categs_achatcateg .ce-gallery-item:nth-child(1) { grid-column: span 2 !important; }
}

/* ── RESPONSIVE mobile ── */
@media (max-width: 600px) {
  #categs_achatcateg .ce-gallery-item { height: 130px !important; }
  #categs_achatcateg .ce-gallery-icon img { height: 130px !important; }
  #section_achatcateg { padding: 32px 0 40px !important; }
}


/* ── SOUS-TITRE catégorie (aria-description → visible via pseudo-élément) ── */
#categs_achatcateg .ce-gallery-caption::after {
  content: attr(aria-description);
  display: block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  margin-top: 3px !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-a36565c *//* ── SECTION ── */
#section_meilleuresventes {
  background: #ffffff;
  border-top: 4px solid #f0a500;
  padding: 52px 0 60px !important;
}

/* ── TITRE + PILULE ── */
#titre_meilleuresventes .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0f1c14;
  letter-spacing: -0.3px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#titre_meilleuresventes .elementor-heading-title::before {
  content: '★ Bestsellers';
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: #fff8e6;
  color: #b07800;
  border: 1px solid #ffedb3;
  font-family: 'DM Sans', sans-serif;
  flex-shrink: 0;
}

/* ── GRILLE ── */
#produits_meilleuresventes .ce-product-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
}

/* ── CARTE ── */
#produits_meilleuresventes .elementor-product-miniature {
  background: #fff;
  border: 1px solid #ddeee5;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.22s, transform 0.22s, box-shadow 0.22s;
}
#produits_meilleuresventes .elementor-product-miniature:hover {
  border-color: #4caf73;
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(46,107,68,0.14);
}
#produits_meilleuresventes .elementor-product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}

/* ── IMAGE — hauteur généreuse, pas de padding ── */
#produits_meilleuresventes .elementor-image {
  background: #f4faf6;
  height: 200px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative !important;
  transition: background 0.22s;
}
#produits_meilleuresventes .elementor-product-miniature:hover .elementor-image { background: #e8f5ee; }
#produits_meilleuresventes .elementor-cover-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  padding: 0 !important;
  transition: transform 0.3s;
}
#produits_meilleuresventes .elementor-product-miniature:hover .elementor-cover-image img { transform: scale(1.04); }

/* ── BADGE PROMO ── */
#produits_meilleuresventes .elementor-badges-right {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  right: auto !important;
  z-index: 2 !important;
  width: auto !important;
  height: auto !important;
}
#produits_meilleuresventes .elementor-badge-sale {
  display: inline-block !important;
  background: #e63946 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  white-space: nowrap !important;
  transform: none !important;
}

/* ── TEXTE ── */
#produits_meilleuresventes .elementor-content { padding: 12px 13px 15px; }
#produits_meilleuresventes .elementor-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #0f1c14 !important;
  line-height: 1.4 !important;
  margin-bottom: 9px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 35px;
}

/* ── PRIX ── */
#produits_meilleuresventes .elementor-price-wrapper { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
#produits_meilleuresventes .elementor-price { font-family: 'Syne', sans-serif !important; font-size: 1.05rem !important; font-weight: 700 !important; color: #1a3a2a !important; }
#produits_meilleuresventes .elementor-price-regular { font-size: 11px !important; color: #8fa89a !important; text-decoration: line-through !important; font-weight: 400 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) { #produits_meilleuresventes .ce-product-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 600px) {
  #produits_meilleuresventes .ce-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  #section_meilleuresventes { padding: 32px 0 40px !important; }
  #titre_meilleuresventes .elementor-heading-title { font-size: 1.2rem; flex-direction: column; align-items: flex-start; gap: 8px; }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-084c73f *//* ── SECTION ── */
#section_promos {
  background: #1a3a2a !important;
  background-image:
    radial-gradient(ellipse 55% 70% at 95% 50%, rgba(76,175,115,0.09) 0%, transparent 65%),
    radial-gradient(ellipse 30% 50% at 5% 30%, rgba(76,175,115,0.06) 0%, transparent 60%) !important;
  padding: 52px 0 60px !important;
}

/* ── TITRE + PILULE ── */
#titre_promos .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff !important;
  letter-spacing: -0.3px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#titre_promos .elementor-heading-title::before {
  content: '♥ Promotions';
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: rgba(255,255,255,0.1);
  color: #ffcf90;
  border: 1px solid rgba(255,180,80,0.35);
  font-family: 'DM Sans', sans-serif;
  flex-shrink: 0;
}

/* ── GRILLE ── */
#produits_promos .ce-product-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
}

/* ── CARTE ── */
#produits_promos .elementor-product-miniature {
  background: #fff;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.22s, transform 0.22s, box-shadow 0.22s;
}
#produits_promos .elementor-product-miniature:hover {
  border-color: #4caf73;
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(0,0,0,0.25);
}
#produits_promos .elementor-product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}

/* ── IMAGE — hauteur généreuse, pas de padding ── */
#produits_promos .elementor-image {
  background: #f4faf6;
  height: 200px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative !important;
  transition: background 0.22s;
}
#produits_promos .elementor-product-miniature:hover .elementor-image { background: #e8f5ee; }
#produits_promos .elementor-cover-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  padding: 0 !important;
  transition: transform 0.3s;
}
#produits_promos .elementor-product-miniature:hover .elementor-cover-image img { transform: scale(1.04); }

/* ── BADGE PROMO ── */
#produits_promos .elementor-badges-right {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  right: auto !important;
  z-index: 2 !important;
  width: auto !important;
  height: auto !important;
}
#produits_promos .elementor-badge-sale {
  display: inline-block !important;
  background: #e63946 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  white-space: nowrap !important;
  transform: none !important;
}

/* ── TEXTE ── */
#produits_promos .elementor-content { padding: 12px 13px 15px; }
#produits_promos .elementor-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #0f1c14 !important;
  line-height: 1.4 !important;
  margin-bottom: 9px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 35px;
}

/* ── PRIX ── */
#produits_promos .elementor-price-wrapper { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
#produits_promos .elementor-price { font-family: 'Syne', sans-serif !important; font-size: 1.05rem !important; font-weight: 700 !important; color: #1a3a2a !important; }
#produits_promos .elementor-price-regular { font-size: 11px !important; color: #8fa89a !important; text-decoration: line-through !important; font-weight: 400 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) { #produits_promos .ce-product-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 600px) {
  #produits_promos .ce-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  #section_promos { padding: 32px 0 40px !important; }
  #titre_promos .elementor-heading-title { font-size: 1.2rem; flex-direction: column; align-items: flex-start; gap: 8px; }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-3be5ead *//* ── SECTION ── */
#section_nouveautes {
  background: #f0faf4 !important;
  border-top: 4px solid #4caf73;
  padding: 52px 0 60px !important;
}

/* ── TITRE + PILULE ── */
#titre_nouveautes .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0f1c14 !important;
  letter-spacing: -0.3px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#titre_nouveautes .elementor-heading-title::before {
  content: '↗ Nouveautés';
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: #e4f7ef;
  color: #0d7a54;
  border: 1px solid #9fe0c5;
  font-family: 'DM Sans', sans-serif;
  flex-shrink: 0;
}

/* ── GRILLE ── */
#produits_nouveautes .ce-product-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
}

/* ── CARTE ── */
#produits_nouveautes .elementor-product-miniature {
  background: #fff;
  border: 1px solid #ddeee5;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.22s, transform 0.22s, box-shadow 0.22s;
}
#produits_nouveautes .elementor-product-miniature:hover {
  border-color: #4caf73;
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(46,107,68,0.14);
}
#produits_nouveautes .elementor-product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}

/* ── IMAGE — hauteur généreuse, pas de padding ── */
#produits_nouveautes .elementor-image {
  background: #f4faf6;
  height: 200px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative !important;
  transition: background 0.22s;
}
#produits_nouveautes .elementor-product-miniature:hover .elementor-image { background: #e8f5ee; }
#produits_nouveautes .elementor-cover-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  padding: 0 !important;
  transition: transform 0.3s;
}
#produits_nouveautes .elementor-product-miniature:hover .elementor-cover-image img { transform: scale(1.04); }

/* ── BADGE NOUVEAU ── */
#produits_nouveautes .elementor-badges-right {
  position: absolute !important;
  top: 9px !important;
  left: 9px !important;
  right: auto !important;
  z-index: 2 !important;
  width: auto !important;
  height: auto !important;
}
#produits_nouveautes .elementor-badge-new {
  display: inline-block !important;
  background: #4caf73 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transform: none !important;
}

/* ── TEXTE ── */
#produits_nouveautes .elementor-content { padding: 12px 13px 15px; }
#produits_nouveautes .elementor-title {
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #0f1c14 !important;
  line-height: 1.4 !important;
  margin-bottom: 9px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 35px;
}

/* ── PRIX ── */
#produits_nouveautes .elementor-price-wrapper { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
#produits_nouveautes .elementor-price { font-family: 'Syne', sans-serif !important; font-size: 1.05rem !important; font-weight: 700 !important; color: #1a3a2a !important; }
#produits_nouveautes .elementor-price-regular { font-size: 11px !important; color: #8fa89a !important; text-decoration: line-through !important; font-weight: 400 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) { #produits_nouveautes .ce-product-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 600px) {
  #produits_nouveautes .ce-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  #section_nouveautes { padding: 32px 0 40px !important; }
  #titre_nouveautes .elementor-heading-title { font-size: 1.2rem; flex-direction: column; align-items: flex-start; gap: 8px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-61b48b1 *//* ============================================
   NB About — Section Pourquoi nous choisir
   ============================================ */
.nb-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding: 72px 0;
  max-width: 1200px;
  margin: 0 auto;
}

/* ── PHOTOS ── */
.nb-about__photos {
  position: relative;
  height: 480px;
}

.nb-about__img-main {
  position: absolute;
  top: 0;
  left: 0;
  width: 78%;
  height: 88%;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(0,0,0,.15);
}

.nb-about__img-secondary {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 52%;
  height: 52%;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(0,0,0,.15);
  border: 4px solid #fff;
}

.nb-about__badge {
  position: absolute;
  top: 28px;
  left: -16px;
  background: #15B17C;
  color: #ffffff;
  border-radius: 12px;
  padding: 16px 20px;
  font-family: 'Syne', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  box-shadow: 0 4px 16px rgba(21, 177, 124, .35);
  z-index: 2;
}

.nb-about__badge strong {
  display: block;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 2px;
}

/* ── CONTENU ── */
.nb-about__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.nb-about__label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #15B17C;
}

.nb-about__label::before {
  content: '';
  display: block;
  width: 32px;
  height: 2px;
  background: #15B17C;
  flex-shrink: 0;
}

.nb-about__title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: #1a3a2a;
  line-height: 1.2;
  margin: 0;
}

.nb-about__text {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: #3d5246;
  margin: 0;
}

/* ── CHECKLIST ── */
.nb-about__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nb-about__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  color: #1a3a2a;
}

.nb-about__list li::before {
  content: '';
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e8f5ee;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2315B17C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .nb-about {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 48px 20px;
  }

  .nb-about__photos {
    height: 320px;
  }

  .nb-about__badge {
    left: 8px;
  }
}

@media (max-width: 900px) {
  .nb-about__badge strong {
    font-size: 20px;
  }

  .nb-about__badge {
    font-size: 11px;
    padding: 12px 14px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-e0aed70 *//* ── SECTION partenaires — fond blanc ── */
#section\ partenaires {
  background: #ffffff !important;
  padding: 48px 0 52px !important;
  border-top: 1px solid #ddeee5;
}

/* ── TITRE sans pilule ── */
#titre_partenaire .elementor-heading-title {
  font-family: 'Syne', sans-serif !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #0f1c14 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 28px !important;
}

/* ── Masquer uniquement les dots, PAS les flèches ni l'autoplay ── */
#logos_partenaires .swiper-pagination {
  display: none !important;
}

/* ── LOGOS : gris → couleur au hover ── */
#logos_partenaires .swiper-slide-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 20px !important;
}

#logos_partenaires .swiper-slide-image {
  filter: grayscale(100%) opacity(0.4) !important;
  transition: filter 0.3s ease !important;
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;
}

#logos_partenaires .swiper-slide:hover .swiper-slide-image {
  filter: grayscale(0%) opacity(1) !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-2d9d735 *//* ── TITRE AVIS ── */
#titre_avis .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 700;
  color: #0f1c14;
  margin: 0 0 36px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ab37240 *//* ============================================
   NB Reviews — Ce que disent nos clients
   ============================================ */

.nb-reviews {
  padding: 60px 0;
  font-family: inherit;
}

.nb-reviews__title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 700;
  color: #0f1c14;
  margin: 0 0 36px;
}

/* ── GRILLE ── */
.nb-reviews__grid {
  display: grid;
  grid-template-columns: 200px 1fr 1fr 1fr;
  gap: 20px;
  align-items: start;
}

/* ── SCORE GLOBAL ── */
.nb-reviews__score {
  background: #f0faf4;
  border: 1px solid #c8ecd8;
  border-radius: 16px;
  padding: 24px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.nb-reviews__score-number {
  font-family: 'Syne', sans-serif;
  font-size: 2.2rem;
  font-weight: 800;
  color: #0f1c14;
  line-height: 1;
}

.nb-reviews__score-number span {
  color: #f4a432;
}

.nb-reviews__score-stars {
  font-size: 18px;
  color: #f4a432;
  letter-spacing: 2px;
}

.nb-reviews__score-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: #6b8f7a;
  font-weight: 500;
  margin-top: 4px;
}

/* ── CARTE AVIS ── */
.nb-reviews__card {
  background: #fff;
  border: 1px solid #e8eeeb;
  border-radius: 16px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nb-reviews__card-stars {
  font-size: 16px;
  color: #f4a432;
  letter-spacing: 2px;
}

.nb-reviews__card-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: #3d5246;
  margin: 0;
  flex: 1;
}

.nb-reviews__card-author {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #0f1c14;
  margin-top: auto;
}

.nb-reviews__card-author strong {
  font-weight: 700;
}

.nb-reviews__card-author span {
  color: #15B17C;
  font-weight: 400;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .nb-reviews__grid {
    grid-template-columns: 1fr 1fr;
  }

  .nb-reviews__score {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: center;
    gap: 24px;
    padding: 18px 24px;
  }
}

@media (max-width: 600px) {
  .nb-reviews__grid {
    grid-template-columns: 1fr;
  }

  .nb-reviews__score {
    flex-direction: column;
    gap: 6px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-cc38b5b *//* ── TITRE BLOG + PILULE ── */
#titre_blog .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0f1c14 !important;
  letter-spacing: -0.3px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}

#titre_blog .elementor-heading-title::before {
  content: '✍ Blog';
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: #e4f7ef;
  color: #0d7a54;
  border: 1px solid #9fe0c5;
  font-family: 'DM Sans', sans-serif;
  flex-shrink: 0;
}

/* ── SECTION BLOG ── */
#section_blog {
  border-top: 4px solid #15B17C;
  padding: 52px 0 60px !important;
}

@media (max-width: 600px) {
  #titre_blog .elementor-heading-title {
    font-size: 1.2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ============================================
   NB Blog — Section dernières actualités
   ============================================ */

/* Masquer UNIQUEMENT le titre interne de psblog */
#widget_blog .products-section-title {
  display: none !important;
}

/* Limiter à 3 articles */
#widget_blog .owl-item:nth-child(n+4) {
  display: none !important;
}

/* Neutraliser le carousel Owl → grille */
#widget_blog .homeblog-wrapper,
#widget_blog .homeblog-inner {
  width: 100% !important;
}

#widget_blog #blog-carousel {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#widget_blog .owl-wrapper-outer {
  overflow: visible !important;
  width: 100% !important;
}

#widget_blog .owl-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  transform: none !important;
  transition: none !important;
}

#widget_blog .owl-item {
  width: auto !important;
  float: none !important;
}

#widget_blog .blog-post {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

/* Masquer contrôles carousel */
#widget_blog .owl-controls,
#widget_blog .customNavigation,
#widget_blog .blogicons {
  display: none !important;
}

/* ── CARTE ── */
#widget_blog .blog-item {
  background: #fff;
  border: 1px solid #ddeee5;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: border-color .22s, transform .22s, box-shadow .22s;
}

#widget_blog .blog-item:hover {
  border-color: #4caf73;
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(46, 107, 68, .14);
}

/* ── IMAGE ── */
#widget_blog .blog-image {
  position: relative !important;
  height: 200px !important;
  overflow: hidden !important;
  background: #f4faf6 !important;
  text-align: left !important;
}

#widget_blog .blog-image a.link {
  display: block;
  width: 100%;
  height: 100%;
}

#widget_blog .blog-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  transition: transform .3s !important;
}

#widget_blog .blog-item:hover .blog-image img {
  transform: scale(1.04) !important;
}

/* ── DATE badge overlay ── */
#widget_blog .blog-meta {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
}

/* Neutraliser le style psblog.css sur le span */
#widget_blog .blog-meta .blog-created {
  background: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Style uniquement sur le time */
#widget_blog .blog-meta .blog-created time {
  display: inline-block !important;
  background: #15B17C !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── CONTENU ── */
#widget_blog .blog-content-wrap {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
}

#widget_blog h4.title {
  margin: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #0f1c14 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#widget_blog h4.title a {
  color: inherit !important;
  text-decoration: none !important;
}

#widget_blog h4.title a:hover {
  color: #15B17C !important;
}

/* ── BOUTON ── */
#widget_blog .readmore {
  margin-top: auto !important;
}

#widget_blog .readmore a.btn {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  background: #1a3a2a !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
}

#widget_blog .readmore a.btn:hover {
  background: #15B17C !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  #widget_blog .owl-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  #widget_blog .owl-wrapper {
    grid-template-columns: 1fr !important;
  }
}


#widget_blog .homeblog-latest {
  padding: 0 !important;
  clear: none !important;
  float: none !important;
}

.nb-reviews {
  padding: 0;
  font-family: inherit;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-609621b *//* ── TITRE BLOG + PILULE ── */
#titre_blog .elementor-heading-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0f1c14 !important;
  letter-spacing: -0.3px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}

#titre_blog .elementor-heading-title::before {
  content: '✍ Blog';
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: #e4f7ef;
  color: #0d7a54;
  border: 1px solid #9fe0c5;
  font-family: 'DM Sans', sans-serif;
  flex-shrink: 0;
}

/* ── SECTION BLOG ── */
#section_blog {
  border-top: 4px solid #15B17C;
  padding: 52px 0 60px !important;
}

@media (max-width: 600px) {
  #titre_blog .elementor-heading-title {
    font-size: 1.2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ============================================
   NB Blog — Section dernières actualités
   ============================================ */

/* Masquer UNIQUEMENT le titre interne de psblog */
#widget_blog .products-section-title {
  display: none !important;
}

/* Limiter à 3 articles */
#widget_blog .owl-item:nth-child(n+4) {
  display: none !important;
}

/* Neutraliser le carousel Owl → grille */
#widget_blog .homeblog-wrapper,
#widget_blog .homeblog-inner {
  width: 100% !important;
}

#widget_blog #blog-carousel {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#widget_blog .owl-wrapper-outer {
  overflow: visible !important;
  width: 100% !important;
}

#widget_blog .owl-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  transform: none !important;
  transition: none !important;
}

#widget_blog .owl-item {
  width: auto !important;
  float: none !important;
}

#widget_blog .blog-post {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

/* Masquer contrôles carousel */
#widget_blog .owl-controls,
#widget_blog .customNavigation,
#widget_blog .blogicons {
  display: none !important;
}

/* ── CARTE ── */
#widget_blog .blog-item {
  background: #fff;
  border: 1px solid #ddeee5;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: border-color .22s, transform .22s, box-shadow .22s;
}

#widget_blog .blog-item:hover {
  border-color: #4caf73;
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(46, 107, 68, .14);
}

/* ── IMAGE ── */
#widget_blog .blog-image {
  position: relative !important;
  height: 200px !important;
  overflow: hidden !important;
  background: #f4faf6 !important;
  text-align: left !important;
}

#widget_blog .blog-image a.link {
  display: block;
  width: 100%;
  height: 100%;
}

#widget_blog .blog-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  transition: transform .3s !important;
}

#widget_blog .blog-item:hover .blog-image img {
  transform: scale(1.04) !important;
}

/* ── DATE badge overlay ── */
#widget_blog .blog-meta {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
}

/* Neutraliser le style psblog.css sur le span */
#widget_blog .blog-meta .blog-created {
  background: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Style uniquement sur le time */
#widget_blog .blog-meta .blog-created time {
  display: inline-block !important;
  background: #15B17C !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── CONTENU ── */
#widget_blog .blog-content-wrap {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
}

#widget_blog h4.title {
  margin: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #0f1c14 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#widget_blog h4.title a {
  color: inherit !important;
  text-decoration: none !important;
}

#widget_blog h4.title a:hover {
  color: #15B17C !important;
}

/* ── BOUTON ── */
#widget_blog .readmore {
  margin-top: auto !important;
}

#widget_blog .readmore a.btn {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  background: #1a3a2a !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
}

#widget_blog .readmore a.btn:hover {
  background: #15B17C !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  #widget_blog .owl-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  #widget_blog .owl-wrapper {
    grid-template-columns: 1fr !important;
  }
}


#widget_blog .homeblog-latest {
  padding: 0 !important;
  clear: none !important;
  float: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8baf11a *//* ============================================
   NB CTA — Section finale
   ============================================ */


.nb-cta__buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 8px;
}

.nb-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 50px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s;
}

.nb-cta__btn:hover {
  transform: translateY(-2px);
}

.nb-cta__btn--primary {
  background: #15B17C;
  color: #fff;
}

.nb-cta__btn--primary:hover {
  background: #0d9a6a;
}

.nb-cta__btn--secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.4);
}

.nb-cta__btn--secondary:hover {
  border-color: #fff;
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
  .nb-cta {
    padding: 56px 20px;
  }

  .nb-cta__buttons {
    flex-direction: column;
    width: 100%;
  }

  .nb-cta__btn {
    justify-content: center;
    width: 100%;
  }
}/* End custom CSS */