/* ==========================================================================
   Harmony Distribution — Single Product 2026
   ========================================================================== */

/* Cleanup default WC heaviness */
body.single-product .woocommerce-breadcrumb {
  padding: 1.5rem 0 0;
  font-size: 13px;
  color: #6a7572;
}
body.single-product .woocommerce-breadcrumb a { color: #2c6b48; }

/* Container layout */
body.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 1200px;
  margin: 2rem auto 4rem;
  padding: 0 1.25rem;
}
@media (max-width: 900px) { body.single-product div.product { grid-template-columns: 1fr; gap: 2rem; } }

/* Gallery */
body.single-product div.product .woocommerce-product-gallery {
  width: 100% !important;
  background: linear-gradient(135deg, #f8faf9 0%, #ffffff 100%);
  border-radius: 14px;
  padding: 2rem;
  box-sizing: border-box;
}
body.single-product div.product .woocommerce-product-gallery__image img {
  border-radius: 8px;
}

/* Summary */
body.single-product div.product .summary {
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .product_title.entry-title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: #0d2c1c;
  margin: 0 0 1rem !important;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

body.single-product .price {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #0d2c1c !important;
  margin: 0 0 1.25rem !important;
}
body.single-product .price .woocommerce-Price-amount,
body.single-product .price bdi { color: #0d2c1c !important; }
body.single-product .price small.woocommerce-price-suffix,
body.single-product .price small.price-ht {
  font-size: 14px;
  color: #5a6562;
  font-weight: 600;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p {
  color: #4a5552;
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 1.25rem;
}

/* Dilution calculator block */
.hd-product-dilution {
  background: #0d2c1c;
  border-radius: 12px;
  padding: 1.25rem;
  margin: 1.5rem 0;
  color: #fff;
}
.hd-product-dilution-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 1rem;
}
.hd-dilution-cell {
  display: flex; flex-direction: column; gap: .15rem;
}
.hd-dilution-cell strong {
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.hd-dilution-cell span {
  font-size: 12px;
  color: #b8c4be;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hd-dilution-highlight strong { color: #d6f25b !important; }

/* Add to cart */
body.single-product form.cart {
  margin: 1.25rem 0 !important;
  display: flex;
  align-items: stretch;
  gap: .75rem;
  flex-wrap: wrap;
}
body.single-product form.cart .quantity {
  display: inline-flex;
  align-items: center;
}
body.single-product form.cart .quantity input.qty {
  width: 70px;
  padding: .85rem;
  border: 1px solid #d6dcd8;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  height: auto;
}
body.single-product form.cart button.single_add_to_cart_button {
  background: #d6f25b !important;
  color: #0d2c1c !important;
  font-weight: 800 !important;
  padding: 1rem 2rem !important;
  border-radius: 999px !important;
  border: 0 !important;
  font-size: 15px !important;
  letter-spacing: .01em;
  flex-grow: 1;
  transition: background .15s, transform .1s, box-shadow .15s;
}
body.single-product form.cart button.single_add_to_cart_button:hover {
  background: #e6ff7a !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(214,242,91,.3);
}

/* CTA devis (volume) */
.hd-product-quote {
  display: block;
  text-align: center;
  background: transparent;
  border: 2px dashed #2c6b48;
  color: #2c6b48 !important;
  padding: .85rem 1.25rem;
  border-radius: 10px;
  font-size: 14px; font-weight: 700;
  margin: 0 0 1.25rem;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.hd-product-quote:hover {
  background: #2c6b48; color: #fff !important;
  border-color: #2c6b48; border-style: solid;
}

/* Reassurance strip */
.hd-product-reass {
  list-style: none;
  padding: 1rem 0 0;
  margin: 0 0 1.5rem !important;
  border-top: 1px solid #e5e9e7;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}
.hd-product-reass li {
  display: flex; align-items: center; gap: .5rem;
  font-size: 13px;
  color: #4a5552;
}
.hd-product-reass svg { color: #2c6b48; flex-shrink: 0; }

/* Product meta */
body.single-product .product_meta {
  font-size: 13px;
  color: #6a7572;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e9e7;
}
body.single-product .product_meta .sku_wrapper,
body.single-product .product_meta .posted_in,
body.single-product .product_meta .tagged_as {
  display: block;
  margin-bottom: .25rem;
}
body.single-product .product_meta a { color: #2c6b48; }

/* Tabs (description, additional info, reviews) */
body.single-product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin: 2rem 0;
}
body.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #e5e9e7 !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
  list-style: none;
}
body.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 1.5rem 0 0 !important;
  border-radius: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li a {
  color: #6a7572 !important;
  font-weight: 600 !important;
  padding: .75rem 0 !important;
  display: inline-block;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}
body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #0d2c1c !important;
  border-bottom-color: #d6f25b !important;
}
body.single-product .woocommerce-Tabs-panel h2 {
  font-size: 1.5rem;
  color: #0d2c1c;
  margin: 0 0 1rem;
}

/* Related products */
body.single-product .related,
body.single-product .upsells {
  grid-column: 1 / -1;
  margin: 3rem 0 0;
  padding: 3rem 0 0;
  border-top: 1px solid #e5e9e7;
}
body.single-product .related h2,
body.single-product .upsells h2 {
  font-size: 1.75rem;
  color: #0d2c1c;
  margin: 0 0 2rem;
  font-weight: 800;
}

/* Hide WC badge "Concentré" sale flash if any */
body.single-product .onsale { display: none !important; }
