/* Ecolodève — WooCommerce product pages, metadata, tables and contrast guards */
/* ============================================================
   Masquer le panneau services des fiches produit
   ============================================================ */

.ecolodeve-product-service-panel{
  display:none !important;
}

/* ============================================================
   Fiche produit — bloc meta
   ============================================================ */

.single-product .product_meta{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  margin-top:1.5rem;
  padding-top:1.25rem;
  border-top:1px solid #E3E0D4;
  font-size:.95rem;
}

.single-product .product_meta > span{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  color:#5B5B54;
}

.single-product .product_meta > span::first-line{
  font-weight:700;
}

.single-product .product_meta a{
  display:inline-block;
  padding:.3rem .8rem;
  border-radius:99px;
  background:#EFEADD;
  color:#2F5233 !important;
  text-decoration:none;
  font-weight:600;
  font-size:.85rem;
  line-height:1.3;
  transition:background .15s ease,transform .15s ease;
}

.single-product .product_meta a:hover{
  background:#5F8A2D;
  color:#FFFFFF !important;
  transform:translateY(-1px);
}

.single-product .product_meta .tagged_as a{
  background:#F3E6D2;
  color:#8F5E12 !important;
}

.single-product .product_meta .tagged_as a:hover{
  background:#B0761A;
  color:#FFFFFF !important;
}

.single-product .product_meta .sku_wrapper{
  display:none !important;
}

/* ============================================================
   ECOLODEVE — PATCH DESCRIPTIONS PRODUITS WOOCOMMERCE
   ============================================================ */

.single-product .woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel--description .woocommerce-product-details__description,
.single-product .woocommerce-Tabs-panel--description .eco-product-sheet{
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
}

.single-product .woocommerce-Tabs-panel--description p,
.single-product .woocommerce-Tabs-panel--description li,
.single-product .woocommerce-Tabs-panel--description div,
.single-product .woocommerce-Tabs-panel--description span,
.single-product .woocommerce-Tabs-panel--description label,
.single-product .woocommerce-Tabs-panel--description td{
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
  text-shadow:none !important;
}

.single-product .woocommerce-Tabs-panel--description h1,
.single-product .woocommerce-Tabs-panel--description h2,
.single-product .woocommerce-Tabs-panel--description h3,
.single-product .woocommerce-Tabs-panel--description h4{
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
  text-shadow:none !important;
}

.single-product .woocommerce-Tabs-panel--description strong,
.single-product .woocommerce-Tabs-panel--description b{
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
}

.single-product .woocommerce-Tabs-panel--description a:not(.button):not(.eco-btn):not(.eco-button){
  color:#5F8A2D !important;
  -webkit-text-fill-color:#5F8A2D !important;
}

.single-product .woocommerce-Tabs-panel--description a:not(.button):not(.eco-btn):not(.eco-button):hover{
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
}

/* ---------- Tableaux WooCommerce ---------- */

.single-product .woocommerce-Tabs-panel--description .eco-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.25rem 0 1.75rem;
  border:1px solid #E3E0D4;
  border-radius:12px;
}

.single-product .woocommerce-Tabs-panel--description table{
  width:100%;
  margin:0;
  border-collapse:collapse;
  background:#FFFFFF !important;
  color:#333333 !important;
}

.single-product .woocommerce-Tabs-panel--description th{
  padding:.85rem 1rem !important;
  background:#EFEADD !important;
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
  text-align:left !important;
  font-weight:700 !important;
  border:0 !important;
  border-bottom:2px solid #8FA832 !important;
  text-shadow:none !important;
}

.single-product .woocommerce-Tabs-panel--description td{
  padding:.85rem 1rem !important;
  background:#FFFFFF !important;
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
  border:0 !important;
  border-bottom:1px solid #E3E0D4 !important;
  text-shadow:none !important;
}

.single-product .woocommerce-Tabs-panel--description tbody tr:nth-child(even) td{
  background:#F7F5EE !important;
}

.single-product .woocommerce-Tabs-panel--description tbody tr:last-child td{
  border-bottom:0 !important;
}

/* ---------- Listes ---------- */

.single-product .woocommerce-Tabs-panel--description ul,
.single-product .woocommerce-Tabs-panel--description ol{
  color:#333333 !important;
}

.single-product .woocommerce-Tabs-panel--description li::marker{
  color:#8FA832 !important;
}

/* ---------- Boutons ---------- */

.single-product .woocommerce-Tabs-panel--description a.button,
.single-product .woocommerce-Tabs-panel--description a.eco-btn,
.single-product .woocommerce-Tabs-panel--description a.eco-button{
  display:inline-block !important;
  padding:.75rem 1.35rem !important;
  background:#5F8A2D !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border:0 !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  text-shadow:none !important;
  transition:background .15s ease,transform .15s ease !important;
}

.single-product .woocommerce-Tabs-panel--description a.button *,
.single-product .woocommerce-Tabs-panel--description a.eco-btn *,
.single-product .woocommerce-Tabs-panel--description a.eco-button *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

.single-product .woocommerce-Tabs-panel--description a.button:hover,
.single-product .woocommerce-Tabs-panel--description a.eco-btn:hover,
.single-product .woocommerce-Tabs-panel--description a.eco-button:hover{
  background:#2F5233 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  transform:translateY(-1px);
}

/* ============================================================
   FICHE PRODUIT ECOLODEVE
   ============================================================ */

.single-product .eco-product-sheet{
  --eco-vert:#5F8A2D;
  --eco-vert-fonce:#2F5233;
  --eco-olive:#8FA832;
  --eco-ocre:#B0761A;
  --eco-encre:#333333;
  --eco-gris:#5B5B54;
  --eco-creme:#F7F5EE;
  --eco-creme-2:#EFEADD;
  --eco-ligne:#E3E0D4;

  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:980px;
  margin:0 auto;
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
  line-height:1.7;
}

.single-product .eco-product-sheet section{
  padding:clamp(1.8rem,4vw,3rem) 0;
  border-bottom:1px solid #E3E0D4;
}

.single-product .eco-product-sheet section:first-child{
  margin-bottom:.5rem;
  padding:clamp(1.5rem,3vw,2.25rem);
  background:#F7F5EE !important;
  border:1px solid #E3E0D4;
  border-left:6px solid #8FA832;
  border-radius:14px;
}

.single-product .eco-product-sheet section:last-child{
  border-bottom:0;
}

.single-product .eco-product-sheet h2{
  position:relative;
  margin:0 0 1.25rem;
  padding-bottom:.8rem;
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
  font-size:clamp(1.45rem,2.8vw,2rem);
  line-height:1.2;
}

.single-product .eco-product-sheet h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:54px;
  height:3px;
  background:#B0761A;
  border-radius:999px;
}

.single-product .eco-product-sheet h3{
  margin:1.6rem 0 .55rem;
  color:#2F5233 !important;
  -webkit-text-fill-color:#2F5233 !important;
  font-size:1.12rem;
  line-height:1.3;
}

.single-product .eco-product-sheet p{
  max-width:78ch;
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
}

.single-product .eco-product-sheet ul,
.single-product .eco-product-sheet ol{
  margin:1rem 0 1.5rem;
  padding-left:1.4rem;
}

.single-product .eco-product-sheet li{
  margin:.45rem 0;
  color:#333333 !important;
  -webkit-text-fill-color:#333333 !important;
}

/* ---------- Étapes de commande ---------- */

.single-product .eco-product-sheet ol{
  counter-reset:eco-product-step;
  list-style:none;
  padding:0;
}

.single-product .eco-product-sheet ol > li{
  counter-increment:eco-product-step;
  position:relative;
  margin:0 0 .8rem;
  padding:1rem 1rem 1rem 3.8rem;
  background:#F7F5EE !important;
  border:1px solid #E3E0D4;
  border-radius:10px;
}

.single-product .eco-product-sheet ol > li::before{
  content:counter(eco-product-step);
  position:absolute;
  top:1rem;
  left:1rem;
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  background:#2F5233 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border-radius:50%;
  font-weight:800;
  line-height:1;
}

/* ============================================================
   MOBILE — FICHES PRODUIT
   ============================================================ */

@media (max-width:768px){

  .single-product .woocommerce-Tabs-panel--description,
  .single-product .eco-product-sheet{
    max-width:100% !important;
    overflow-x:hidden;
  }

  .single-product .eco-product-sheet section{
    padding:1.6rem 0;
  }

  .single-product .eco-product-sheet section:first-child{
    padding:1.25rem;
    border-radius:10px;
  }

  .single-product .eco-product-sheet h2{
    font-size:1.45rem !important;
    line-height:1.2 !important;
  }

  .single-product .eco-product-sheet h3{
    font-size:1.1rem !important;
  }

  .single-product .eco-product-sheet p,
  .single-product .eco-product-sheet li{
    font-size:1rem !important;
    line-height:1.65 !important;
  }

  .single-product .woocommerce-Tabs-panel--description table{
    min-width:520px;
    font-size:.92rem;
  }

  .single-product .woocommerce-Tabs-panel--description th,
  .single-product .woocommerce-Tabs-panel--description td{
    padding:.7rem .8rem !important;
  }

  .single-product .eco-product-sheet ol > li{
    padding:1rem 1rem 1rem 3.6rem;
  }

  .single-product .woocommerce-Tabs-panel--description a.button,
  .single-product .woocommerce-Tabs-panel--description a.eco-btn,
  .single-product .woocommerce-Tabs-panel--description a.eco-button{
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }
}
/* Correctif contraste fiches produits — priorité au CSS additionnel */
body.single-product,
body.single-product .woocommerce,
body.single-product .woocommerce .product,
body.single-product .woocommerce .summary,
body.single-product .woocommerce .woocommerce-tabs,
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .upsells.products { color: #333333 !important; }
body.single-product .woocommerce .product p,
body.single-product .woocommerce .product li,
body.single-product .woocommerce .product label,
body.single-product .woocommerce .product small,
body.single-product .woocommerce .product dt,
body.single-product .woocommerce .product dd { color: #333333 !important; -webkit-text-fill-color: #333333 !important; }


/* Fiche produit — contraste du bandeau hero */
body.single-product .woocommerce-Tabs-panel--description div[style*="linear-gradient"] h2,
body.single-product .woocommerce-Tabs-panel--description div[style*="linear-gradient"] p,
body.single-product .woocommerce-Tabs-panel--description div[style*="linear-gradient"] span { color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:0 2px 8px rgba(0,0,0,.8) !important; }
