/* =========================================================================
   Fiche produit enrichie (Piscine WebStore, 10/2026)
   Blocs ajoutés dans product.tpl / product-prices.tpl : .pws-*
   ========================================================================= */

/* ---- En-tête : note clients, badge sur mesure, délai ---- */
#product .pws-entete {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 2px 0 14px;
}
#product .pws-note {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #1c1c1e !important;
  text-decoration: none !important;
}
#product .pws-note:hover strong { text-decoration: underline; }
#product .pws-note strong { font-weight: 700 !important; }
#product .pws-etoiles { color: #f5a623; letter-spacing: 1px; font-size: 16px; }
#product .pws-gris { color: #6b7280; }
#product .pws-infos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
#product .pws-badge {
  background: #e6f4ea;
  color: #1e6b34;
  border-radius: 20px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
#product .pws-delai {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 14px;
  color: #1c1c1e;
}
#product .pws-delai svg { flex: 0 0 auto; margin-top: 1px; color: #1e6b34; }
#product .pws-delai strong { font-weight: 700 !important; }

/* ---- Description courte en points clés : les puces que le thème supprime ---- */
#product .product-short-description ul {
  margin: 0 !important;
  padding-left: 20px !important;
  list-style: disc outside !important;
}
#product .product-short-description ul li {
  display: list-item !important;
  list-style: disc outside !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: #1c1c1e;
  font-size: 14.5px;
  line-height: 1.5;
}

/* ---- Prix au m² en tête (quand le prix unitaire est renseigné) ---- */
#product .product-prices .pws-avec-m2 .pws-prix-m2 {
  display: block;
  line-height: 1.1;
  margin-bottom: 6px;
}
#product .product-prices .pws-avec-m2 .pws-prix-m2-valeur {
  font-size: 32px;
  font-weight: 800;
  color: #1c1c1e;
}
#product .product-prices .pws-avec-m2 .pws-ttc {
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}
#product .product-prices .pws-avec-m2 .pws-depuis {
  font-size: 14px;
  font-weight: 400;
  color: #4b5563;
  margin-right: 6px;
}
#product .product-prices .pws-avec-m2 .current-price,
#product .product-prices .pws-avec-m2 .current-price-value {
  display: inline !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #4b5563 !important;
}

/* ---- Bouton configurateur (module bacheabarres) : bouton principal ---- */
#product .bb-config-cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  margin: 10px 0 !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  background: #0b6fc2 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-align: center;
  text-decoration: none !important;
}
#product .bb-config-cta:hover,
#product .bb-config-cta:focus { background: #0a5ea6 !important; }

/* ---- Onglet Livraison & délais ---- */
#product .pws-livraison {
  font-size: 15px;
  line-height: 1.6;
  color: #1c1c1e;
  padding: 10px 0;
}
#product .pws-livraison p { margin: 0 0 10px; }
#product .pws-livraison strong { font-weight: 700 !important; }

/* Prix au m² dans l'en-tête quand le prix produit est masqué (produits sur devis) */
#product .pws-prix-entete { margin: 14px 0 4px; line-height: 1.15; }
#product .pws-prix-entete .pws-depuis { display: block; font-size: 14px; color: #6b7280; }
#product .pws-prix-entete .pws-prix-m2-valeur { font-size: 32px; font-weight: 800; color: #1c1c1e; }
#product .pws-prix-entete .pws-ttc { font-size: 14px; font-weight: 600; color: #6b7280; margin-left: 4px; }
#product .pws-prix-entete .pws-prix-note { display: block; font-size: 13px; color: #6b7280; margin-top: 4px; }

/* =========================================================================
   1.0.3 : en-tête compact (marque / réf, note + garantie, prix + badge, points cochés)
   ========================================================================= */
#product .pws-haut {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 6px;
}
#product .pws-marque {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #922990 !important;
  text-decoration: none !important;
}
#product .pws-ref { font-size: 12px; color: #9aa0a6; letter-spacing: .03em; text-transform: uppercase; margin-left: auto; }
#product .pws-ref span { color: #9aa0a6 !important; font-weight: 400 !important; }
body#product h1.productpage_title { margin-bottom: 8px !important; }
#product .pws-entete { gap: 0; margin: 0 0 6px; }
#product .pws-ligne-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 13.5px;
}
#product .pws-sep { width: 1px; height: 14px; background: #d1d5db; }
#product .pws-garantie { color: #1c1c1e; }
#product .pws-garantie strong { font-weight: 700 !important; }
#product .pws-ligne-prix {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
#product .pws-ligne-prix .pws-prix-entete { margin: 0; display: flex; align-items: baseline; gap: 6px; }
#product .pws-ligne-prix .pws-prix-m2-valeur { font-size: 30px; font-weight: 800; color: #0662a4; line-height: 1.1; }
#product .pws-ligne-prix .pws-ttc { font-size: 14px; font-weight: 600; color: #1c1c1e; margin: 0; }
#product .pws-ligne-prix .pws-badge {
  background: #fff;
  border: 1px solid #922990;
  color: #922990;
  padding: 4px 12px;
  font-size: 12.5px;
}
#product .pws-prix-note { margin: 6px 0 0; font-size: 13px; color: #6b7280; line-height: 1.5; }
#product .pws-prix-note strong { color: #1c1c1e; font-weight: 700 !important; }

/* Description courte : texte d'accroche + points cochés, sans filet gris */
body#product .product-short-description {
  border-inline-start: none !important;
  padding: 0 !important;
  margin: 14px 0 18px !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #1c1c1e !important;
}
body#product .product-short-description p { margin: 0 0 12px !important; }
body#product .product-short-description strong { color: #1c1c1e; font-weight: 700 !important; }
body#product .product-short-description ul { list-style: none !important; padding-left: 0 !important; margin: 0 0 14px !important; }
body#product .product-short-description ul li {
  list-style: none !important;
  position: relative;
  padding: 0 0 0 24px !important;
  margin: 0 0 7px !important;
}
body#product .product-short-description ul li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .42em;
  width: 11px;
  height: 6px;
  border-left: 2px solid #0662a4;
  border-bottom: 2px solid #0662a4;
  transform: rotate(-45deg);
}
body#product .product-short-description a.pws-cta {
  display: block;
  text-align: center;
  background: #0662a4;
  color: #fff !important;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding: 14px 20px;
  border-radius: 999px;
  text-decoration: none !important;
  transition: background .15s;
}
body#product .product-short-description a.pws-cta:hover { background: #054d80; }
body#product .product-short-description a.pws-plus {
  display: inline-block;
  margin-top: 10px;
  font-size: 13.5px;
  color: #0662a4 !important;
  text-decoration: underline !important;
}

/* =========================================================================
   1.0.4 : bloc de réassurance
   ========================================================================= */
#product .pws-reassurance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 8px;
}
#product .pws-rea-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  transition: border-color .15s, box-shadow .15s;
}
#product .pws-rea-item:hover { border-color: #cfe0f0; box-shadow: 0 4px 14px rgba(6, 98, 164, .08); }
#product .pws-rea-icone {
  flex: 0 0 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef5fb;
  color: #0662a4;
}
#product .pws-rea-alma, #product .pws-rea-etoile { background: #faf3f9; color: #922990; }
#product .pws-rea-icone svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#product .pws-rea-etoile svg { fill: currentColor; stroke-width: 1.2; }
#product .pws-rea-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
#product .pws-rea-txt strong { font-size: 14px; font-weight: 700 !important; color: #1c1c1e; }
#product .pws-rea-txt span { font-size: 12.5px; color: #6b7280; margin-top: 2px; }
@media (max-width: 400px) {
  #product .pws-reassurance { grid-template-columns: 1fr; }
}
/* ancien bloc du thème, au cas où il reste actif */
#product .blockreassurance_product { display: none !important; }
/* 1.0.5 : nombre impair de cartes -> la dernière prend toute la largeur */
#product .pws-rea-item:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* 1.0.7 : produit non commandable en ligne (sur devis) -> pas de bouton panier grisé */
body#product .product-add-to-cart .add.pws-panier-inactif { display: none !important; }

/* 1.0.8 : bouton « Demander un devis gratuit » pleine largeur */
body#product .product-add-to-cart .product-quantity { flex-wrap: wrap !important; }
body#product .product-add-to-cart .product-quantity #add_product_quote { flex: 1 1 100% !important; width: 100% !important; max-width: none !important; margin: 0 0 6px !important; }
body#product .product-add-to-cart .product-quantity #add_product_quote .btn,
body#product .product-add-to-cart .product-quantity #add_product_quote button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100% !important;
  min-height: 52px;
  margin: 0 !important;
  padding: 14px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #922990 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(146, 41, 144, .25) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .03em;
  text-transform: uppercase;
  line-height: 1.2 !important;
  transition: background .15s, transform .15s;
}
body#product .product-add-to-cart .product-quantity #add_product_quote button:hover { background: #7a1f78 !important; transform: translateY(-1px); }
