/* Design fiche produit (smm-*) porte depuis le snippet "SMM Fiche Polish" (id=143) vers le theme.
 * Phase 1 migration : CSS seul. Couleurs par reseau via body.product_cat-{slug} (ajoutees par WooCommerce).
 * Les parties PHP (widgets, region cards, JS) restent dans les snippets pour l'instant (phases suivantes). */

:root{
  --smm-accent:#DB2777;
  --smm-accent-soft:#FDF2F8;
  --smm-accent-hover:#BE185D;
  --smm-text:#111827;
  --smm-text-soft:#4B5563;
  --smm-text-mute:#6B7280;
  --smm-border:#E5E7EB;
  --smm-bg-soft:#F9FAFB;
  --smm-radius:10px;
  --smm-shadow-xs:0 1px 3px rgba(17,24,39,.04);
  --smm-shadow-sm:0 2px 8px rgba(17,24,39,.06), 0 1px 2px rgba(17,24,39,.04);
  --smm-shadow-md:0 4px 16px rgba(17,24,39,.08), 0 2px 4px rgba(17,24,39,.04);
  --smm-shadow-lg:0 8px 32px rgba(17,24,39,.10), 0 4px 8px rgba(17,24,39,.05);
  --smm-glass:rgba(255,255,255,.72);
  --smm-glass-border:rgba(255,255,255,.45);
  --smm-ig-ring:linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}
body.single-product .summary,body.single-product .summary *,
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *,
body.single-product .smm-region-cards,body.single-product .smm-region-cards *,
body.single-product form.variations_form,body.single-product form.variations_form *{
  font-family:"Poppins","Helvetica Neue",Arial,sans-serif !important;
}
body.single-product .product_title,
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *,
body.single-product .woocommerce-Tabs-panel--description *,
body.single-product .smm-region-cards *{
  text-transform:none !important;letter-spacing:normal !important;
}
body.single-product .product_title{
  font-size:clamp(24px,3vw,34px) !important;font-weight:800 !important;line-height:1.2 !important;
  margin:0 0 6px !important;color:var(--smm-text) !important;padding:0 !important;
}
body.single-product .summary > * + *{margin-top:14px !important}
body.single-product .woocommerce-product-rating{
  margin:0 0 8px !important;padding:0 !important;display:flex !important;align-items:center !important;gap:8px !important;flex-wrap:wrap !important;
}
body.single-product .woocommerce-product-rating::after{display:none !important}
body.single-product .woocommerce-product-rating .star-rating{font-size:14px !important;margin:0 !important;float:none !important}
body.single-product .woocommerce-review-link{font-size:13px !important;color:var(--smm-text-soft) !important;text-decoration:none !important;margin:0 !important}

body.single-product .woocommerce-product-details__short-description{
  margin:0 !important;padding:18px !important;background:#fff !important;
  border:1px solid var(--smm-border) !important;border-radius:12px !important;box-shadow:var(--smm-shadow-sm) !important;
}
body.single-product .smm-lead,body.single-product .woocommerce-product-details__short-description p.smm-lead{
  font-size:14.5px !important;line-height:1.5 !important;color:var(--smm-text-soft) !important;margin:0 0 12px !important;font-weight:500 !important;
}
body.single-product .smm-lead strong{color:var(--smm-text) !important;font-weight:600 !important;font-size:14.5px !important}
body.single-product .smm-bullets{display:flex !important;flex-direction:column !important;gap:10px !important;margin:0 !important}
body.single-product p.smm-bullet{
  display:flex !important;align-items:flex-start !important;gap:12px !important;padding:12px 14px !important;
  background:#fff !important;border:1px solid var(--smm-border) !important;border-left:3px solid var(--smm-accent) !important;
  border-radius:8px !important;box-shadow:0 1px 3px rgba(17,24,39,.04) !important;
  font-size:13px !important;line-height:1.45 !important;color:var(--smm-text) !important;margin:0 !important;font-weight:400 !important;
  transition:transform .15s,box-shadow .15s !important;
}
body.single-product p.smm-bullet:hover{
  transform:translateX(2px) !important;box-shadow:0 3px 8px rgba(17,24,39,.06) !important;
}
body.single-product .smm-bullet .smm-bullet-icon{flex-shrink:0 !important;font-size:16px !important;line-height:1.3 !important;width:22px !important;text-align:center !important;font-weight:normal !important}
body.single-product .smm-bullet .smm-bullet-text{flex:1 !important;font-weight:400 !important;font-size:13px !important}
body.single-product .smm-bullet .smm-bullet-text strong{font-weight:700 !important;color:var(--smm-text) !important;font-size:13px !important}

.smm-region-cards{padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;margin:0 0 22px !important}

body.single-product form.variations_form.cart{
  padding:18px !important;background:#fff !important;border:1px solid var(--smm-border) !important;
  border-radius:12px !important;box-shadow:var(--smm-shadow-sm) !important;margin:22px 0 0 !important;
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
}
body.single-product form.variations_form.cart > * + *{margin-top:12px !important}
/* Le sélecteur de variation natif (table.variations) est masqué (hauteur 0) et remplacé par les
   sélecteurs custom (smm-univ-qty / smm-yt-qty / cartes région). La table vide + l'alerte reset
   laissaient une bande vide en haut de la carte blanche. On les sort du flux et on colle le
   contenu (nom de variation + prix) juste sous le padding de la carte. */
body.single-product form.variations_form.cart > table.variations,
body.single-product form.variations_form.cart > .reset_variations_alert{display:none !important}
body.single-product form.variations_form.cart > .single_variation_wrap{margin-top:0 !important}
/* Le formulaire (produit variable) doit empiler verticalement : sinon .jdp-product-single .cart
   (product.css) le passe en flex-row et comprime le champ smmplugin à droite. */
body.single-product .woocommerce-variation-add-to-cart{
  display:flex !important;flex-wrap:wrap !important;gap:var(--sp-3) !important;align-items:stretch !important;
}
/* Champ "Lien de votre vidéo" (rendu par smmplugin) : pleine largeur de la colonne, au-dessus du
   sélecteur quantité + bouton qui passent sur la ligne suivante. */
body.single-product .smmp-form-wrapper{
  width:100% !important;flex:1 0 100% !important;margin:0 !important;
}
body.single-product table.variations,body.single-product table.variations tbody,
body.single-product table.variations tr,body.single-product table.variations td,body.single-product table.variations th{
  background:transparent !important;border:none !important;padding:0 !important;
}
body.single-product table.variations tr td.value{padding:0 0 8px !important;position:relative !important}
body.single-product table.variations label{font-weight:700 !important;font-size:13.5px !important;color:var(--smm-text) !important;margin-bottom:6px !important;display:block !important}
body.single-product table.variations td.value select{
  border:2px solid var(--smm-border) !important;border-radius:10px !important;padding:11px 42px 11px 14px !important;
  background-color:#fff !important;background-image:none !important;font-size:15px !important;font-weight:600 !important;
  color:var(--smm-text) !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  cursor:pointer !important;transition:border-color .15s,box-shadow .15s !important;width:100% !important;
}
body.single-product table.variations td.value::after{
  content:"" !important;position:absolute !important;right:16px !important;top:50% !important;width:9px !important;height:9px !important;
  border-right:2px solid var(--smm-text-soft) !important;border-bottom:2px solid var(--smm-text-soft) !important;
  transform:translateY(-65%) rotate(45deg) !important;pointer-events:none !important;
}
body.single-product table.variations td.value select:hover,body.single-product table.variations td.value select:focus{
  border-color:var(--smm-accent) !important;box-shadow:0 0 0 3px rgba(17,24,39,.08) !important;outline:none !important;
}

body.single-product .single_variation_wrap .price,body.single-product p.price,body.single-product .summary .price{
  display:flex !important;align-items:baseline !important;flex-wrap:wrap !important;gap:10px !important;margin:14px 0 12px !important;
  padding:14px 16px !important;background:var(--smm-bg-soft) !important;border-radius:var(--smm-radius) !important;
  border:1px solid var(--smm-border) !important;color:var(--smm-text) !important;
}
body.single-product .price *,body.single-product p.price *,body.single-product .summary .price *{background:transparent !important;text-shadow:none !important}
body.single-product .price del,body.single-product .price del *{color:var(--smm-text-mute) !important;font-size:17px !important;font-weight:500 !important;text-decoration:line-through !important;opacity:1 !important}
body.single-product .price ins,body.single-product .price ins *{color:var(--smm-accent) !important;font-size:28px !important;font-weight:800 !important;text-decoration:none !important}
body.single-product .price > .woocommerce-Price-amount,body.single-product .price > .amount,body.single-product .price > bdi,
body.single-product .price > .woocommerce-Price-amount *,body.single-product .price > .amount *,body.single-product .price > bdi *{
  color:var(--smm-accent) !important;font-size:28px !important;font-weight:800 !important;text-decoration:none !important;background:transparent !important;
}
body.single-product .price .woocommerce-Price-currencySymbol{font-size:.78em !important;margin-left:2px !important;color:inherit !important;font-weight:inherit !important}
body.single-product .price .woocommerce-price-suffix,body.single-product .price > small{
  color:var(--smm-text-mute) !important;font-size:13px !important;font-weight:600 !important;text-transform:uppercase !important;
  letter-spacing:.5px !important;margin-left:4px !important;text-decoration:none !important;opacity:1 !important;background:transparent !important;font-style:normal !important;
}

.smm-region-card{opacity:.95 !important;color:var(--smm-text-soft) !important;background:#fff !important;border-color:var(--smm-border) !important;box-shadow:var(--smm-shadow-sm) !important;transition:all .18s ease !important}
.smm-region-card:hover{opacity:1 !important;border-color:var(--smm-accent) !important;transform:translateY(-1px) !important}
.smm-region-card.is-active{opacity:1 !important;background:var(--smm-accent-soft) !important;background-image:none !important;border-color:var(--smm-accent) !important;border-width:2px !important;box-shadow:var(--smm-shadow-md) !important;color:var(--smm-text) !important}
.smm-region-card .smm-region-flag{filter:none !important;opacity:1 !important}
.smm-region-card .smm-region-title{color:var(--smm-text) !important;font-weight:700 !important}
.smm-region-card .smm-region-desc{color:var(--smm-text-soft) !important}
.smm-region-card .smm-region-badge{font-size:9.5px !important;letter-spacing:.5px !important;padding:3px 9px !important;border-radius:999px !important;font-weight:700 !important}
.smm-region-card .smm-region-badge.is-eco{background:#F3F4F6 !important;color:#374151 !important}
.smm-region-card .smm-region-badge.is-mid{background:#F3F4F6 !important;color:#374151 !important}
.smm-region-card .smm-region-badge.is-premium{background:var(--smm-accent) !important;color:#fff !important}

body.single-product button.single_add_to_cart_button{
  background:var(--smm-accent) !important;color:#fff !important;border:none !important;border-radius:var(--smm-radius) !important;
  padding:14px 24px !important;font-weight:700 !important;font-size:15px !important;letter-spacing:.2px !important;
  box-shadow:0 4px 12px rgba(17,24,39,.15) !important;transition:all .15s !important;
}
body.single-product button.single_add_to_cart_button:hover{background:var(--smm-accent-hover) !important;transform:translateY(-1px) !important;box-shadow:0 6px 18px rgba(17,24,39,.20) !important}
@media (hover:none){body.single-product button.single_add_to_cart_button:hover{transform:none !important}}

/* PPOM addons en bullet card (meme style que smm-bullet) */
body.single-product .ppom-wrapper{margin:12px 0 0 !important;padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important}
body.single-product .ppom-rendering-fields{display:flex !important;flex-direction:column !important;gap:10px !important;margin:0 !important;padding:0 !important}
body.single-product .ppom-field-wrapper{
  position:relative !important;background:#fff !important;border:1px solid var(--smm-border) !important;
  border-left:3px solid var(--smm-accent) !important;border-radius:8px !important;
  box-shadow:0 1px 3px rgba(17,24,39,.04) !important;padding:14px 16px 14px 46px !important;
  margin:0 !important;width:100% !important;flex:none !important;max-width:100% !important;transition:box-shadow .15s !important;
}
body.single-product .ppom-field-wrapper::before{content:"\002728";position:absolute !important;left:16px !important;top:15px !important;font-size:18px !important;line-height:1 !important}
body.single-product .ppom-field-wrapper:hover{box-shadow:0 3px 8px rgba(17,24,39,.06) !important}
body.single-product .ppom-field-wrapper .form-group{margin:0 !important;position:relative !important}
body.single-product .ppom-field-wrapper .form-control-label{display:block !important;font-weight:700 !important;font-size:13.5px !important;color:var(--smm-text) !important;margin:0 0 4px !important;line-height:1.4 !important}
body.single-product .ppom-field-wrapper .show_description,body.single-product .ppom-field-wrapper .ppom-input-desc{display:block !important;font-size:12.5px !important;font-weight:400 !important;color:var(--smm-text-soft) !important;line-height:1.45 !important;margin:4px 0 10px !important}
body.single-product .ppom-field-wrapper select.ppom-input,body.single-product .ppom-field-wrapper .form-select{
  border:2px solid var(--smm-border) !important;border-radius:10px !important;padding:10px 38px 10px 12px !important;
  background-color:#fff !important;background-image:none !important;font-size:14px !important;font-weight:600 !important;
  color:var(--smm-text) !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  cursor:pointer !important;transition:border-color .15s,box-shadow .15s !important;width:100% !important;
}
body.single-product .ppom-field-wrapper select.ppom-input:hover,body.single-product .ppom-field-wrapper select.ppom-input:focus{border-color:var(--smm-accent) !important;box-shadow:0 0 0 3px rgba(17,24,39,.08) !important;outline:none !important}
body.single-product .ppom-field-wrapper.ppom-col{padding-left:46px !important;padding-right:16px !important}
body.single-product #ppom-price-cloner-wrapper:empty,body.single-product #ppom-price-cloner-wrapper{display:none !important}

/* Bug 2 fix : prix accent rose Instagram aussi sur PPOM + variation price (rendus en JS) */
body.single-product .ppom-price,
body.single-product [class*="ppom-price-container"],
body.single-product [class*="ppom-price-container"] *,
body.single-product .woocommerce-variation-price,
body.single-product .woocommerce-variation-price *,
body.single-product .ppom-price-container .woocommerce-Price-amount,
body.single-product .ppom-price-container .woocommerce-Price-amount *{
  color:var(--smm-accent) !important;
}
body.single-product .woocommerce-variation-price .price,
body.single-product [class*="ppom-price-container"] .price{
  background:transparent !important;border:none !important;padding:0 !important;margin:0 !important;
}
body.single-product .ppom-price-container .woocommerce-Price-amount,
body.single-product .woocommerce-variation-price .woocommerce-Price-amount{
  font-size:28px !important;font-weight:800 !important;
}

/* Bug 4 fix : tabs WC (Description + Avis) style Apple/Material */
body.single-product .woocommerce-tabs,
body.single-product .elementor-widget-woocommerce-product-data-tabs{
  margin:32px 0 !important;
}
/* Onglets fiche au format des puces de réassurance (chip cream, icône orange 22px + titre + sous-titre,
   même taille 209px). Actif = fond blanc + bordure orange. Titre/sous-titre injectés via le filtre. */
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs,
body.single-product .jdp-product-page-wrap .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs{
  display:grid !important;grid-template-columns:repeat(2, 209px) !important;gap:12px !important;
  list-style:none !important;margin:0 0 28px !important;padding:0 !important;
  border:none !important;background:none !important;box-shadow:none !important;
  max-width:none !important;overflow:visible !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs::before,
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs::after{display:none !important}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li{
  margin:0 !important;padding:0 !important;background:transparent !important;
  border:none !important;border-radius:0 !important;display:flex !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li::before,
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li::after{display:none !important}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li a{
  flex:1 1 auto !important;display:flex !important;align-items:center !important;gap:12px !important;
  padding:12px !important;min-height:0 !important;
  font-family:"Poppins","Helvetica Neue",Arial,sans-serif !important;text-decoration:none !important;
  background:var(--bg-soft) !important;border:1px solid transparent !important;border-radius:10px !important;
  box-shadow:none !important;white-space:normal !important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li a::after{display:none !important}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li a::before{
  content:"" !important;display:inline-block !important;flex-shrink:0 !important;
  width:22px !important;height:22px !important;
  background-color:var(--jdp-orange,#E68A1C) !important;
  -webkit-mask:center/contain no-repeat !important;mask:center/contain no-repeat !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li.description_tab a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='3'%20y='5'%20width='4'%20height='4'%20rx='1'/%3E%3Crect%20x='10'%20y='5.5'%20width='11'%20height='3'%20rx='1.5'/%3E%3Crect%20x='3'%20y='14'%20width='4'%20height='4'%20rx='1'/%3E%3Crect%20x='10'%20y='14.5'%20width='11'%20height='3'%20rx='1.5'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='3'%20y='5'%20width='4'%20height='4'%20rx='1'/%3E%3Crect%20x='10'%20y='5.5'%20width='11'%20height='3'%20rx='1.5'/%3E%3Crect%20x='3'%20y='14'%20width='4'%20height='4'%20rx='1'/%3E%3Crect%20x='10'%20y='14.5'%20width='11'%20height='3'%20rx='1.5'/%3E%3C/svg%3E") !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li.reviews_tab a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%202l3.09%206.26%206.91%201.01-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14l-5-4.87%206.91-1.01z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%202l3.09%206.26%206.91%201.01-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14l-5-4.87%206.91-1.01z'/%3E%3C/svg%3E") !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs .jdp-tab-txt{
  display:flex !important;flex-direction:column !important;gap:2px !important;min-width:0 !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs .jdp-tab-t{
  font-size:13px !important;font-weight:700 !important;color:var(--fg1,#111827) !important;line-height:1.2 !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs .jdp-tab-s{
  font-size:11px !important;font-weight:400 !important;color:var(--fg2,#4B5563) !important;line-height:1.3 !important;
  white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs .jdp-tab-rate{
  color:#B45309 !important;font-weight:700 !important;font-style:normal !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li:not(.active) a:hover{
  border-color:#EAD9BF !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li.active a,
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li[aria-selected="true"] a{
  background:#fff !important;border-color:var(--jdp-orange,#E68A1C) !important;
  box-shadow:0 4px 14px rgba(230,138,28,.14) !important;
}
/* Rangée unique : onglets (2 puces) + réassurance (3 puces) = 5 puces même format sur une ligne. */
body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row{
  display:flex !important;flex-wrap:wrap !important;gap:12px !important;
  /* Desktop : la rangée des 5 puces est centrée dans la colonne de contenu (comme le
     reste de la fiche). Sur mobile (media 768px ci-dessous) elle repasse en colonne
     alignée à gauche, pleine largeur. */
  align-items:stretch !important;justify-content:center !important;margin:0 0 28px !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row ul.tabs.wc-tabs{margin:0 !important}
body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row .jdp-product-reassurance{
  display:grid !important;grid-template-columns:repeat(3, 209px) !important;gap:12px !important;margin:0 !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row .jdp-product-reassurance-item{
  align-items:center !important;
}
/* Onglets « Détails du service » + « Avis vérifiés » : contenu aligné à GAUCHE (icône + texte),
   cohérent avec les puces de réassurance en dessous (au lieu d'un contenu centré). */
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li a{
  justify-content:flex-start !important;text-align:left !important;
}
body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs .jdp-tab-txt{
  align-items:flex-start !important;text-align:left !important;flex:1 1 auto !important;
}
@media (max-width:768px){
  body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row{flex-direction:column !important;align-items:stretch !important}
  body.single-product .jdp-product-page-wrap .woocommerce-tabs .jdp-tabs-row .jdp-product-reassurance{grid-template-columns:1fr !important;width:100% !important}
}

body.single-product .woocommerce-tabs .wc-tab,
body.single-product .woocommerce-tabs .panel{
  background:#fff !important;padding:24px !important;
  border:1px solid var(--smm-border) !important;border-radius:14px !important;
  box-shadow:var(--smm-shadow-xs) !important;
}
body.single-product .woocommerce-tabs .wc-tab h2:first-child,
body.single-product .woocommerce-tabs .panel h2:first-child{margin-top:0 !important}
@media (max-width:768px){
  /* Cartes empilées sur mobile (une colonne) */
  body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs,
  body.single-product .jdp-product-page-wrap .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs{
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li,
  body.single-product .jdp-product-page-wrap .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs li{
    min-width:0 !important;
    max-width:100% !important;
  }
  body.single-product .jdp-product-page-wrap .woocommerce-tabs ul.tabs.wc-tabs li a,
  body.single-product .jdp-product-page-wrap .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs li a{
    padding:15px 18px 14px 12px !important;
  }
}


/* 2. Trustpilot-style stars (vertes carrees avec etoile blanche) */
body.single-product .woocommerce-product-rating .star-rating {
  display: none !important;
}
body.single-product .tp-stars {
  display: inline-flex !important;
  gap: 3px !important;
  align-items: center !important;
  margin-right: 8px !important;
}
body.single-product .tp-star {
  width: 26px !important;
  height: 26px !important;
  background: #dcdce6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  transition: transform .2s cubic-bezier(.34,1.56,.64,1) !important;
  box-shadow: 0 1px 3px rgba(0,182,122,.12) !important;
}
body.single-product .tp-star:hover {
  transform: scale(1.12) !important;
}
body.single-product .tp-star.tp-full {
  background: linear-gradient(160deg, #00c98d, #00b67a) !important;
  box-shadow: 0 2px 6px rgba(0,182,122,.25) !important;
}
body.single-product .tp-star.tp-half {
  background: linear-gradient(90deg, #00b67a 50%, #dcdce6 50%) !important;
}
body.single-product .tp-star svg {
  width: 16px !important;
  height: 16px !important;
  color: #fff !important;
  fill: #fff !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.1)) !important;
}
body.single-product .tp-rating-num {
  font-weight: 800 !important;
  font-size: 16px !important;
  color: var(--smm-text) !important;
  margin: 0 6px 0 4px !important;
}
body.single-product .tp-review-count {
  font-size: 13px !important;
  color: var(--smm-text-soft) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
}
body.single-product .tp-review-count:hover {
  color: var(--smm-accent) !important;
}

/* 3. Live badge "X personnes" */
body.single-product .smm-live-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: linear-gradient(135deg, rgba(236,253,245,.85), rgba(209,250,229,.85)) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #065f46 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  margin: 0 0 0 auto !important;
  border: 1px solid rgba(167,243,208,.5) !important;
  box-shadow: 0 2px 8px rgba(16,185,129,.1), inset 0 1px 0 rgba(255,255,255,.6) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
body.single-product .smm-live-badge .smm-lb-dot {
  width: 8px !important; height: 8px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  animation: smm-lb-pulse 1.6s infinite !important;
  flex-shrink: 0 !important;
}
body.single-product .smm-live-badge .smm-lb-count {
  display: inline-block !important;
  min-width: 1.2em !important;
  transition: transform .4s cubic-bezier(.4,0,.2,1), opacity .4s !important;
}
body.single-product .smm-live-badge .smm-lb-count.smm-tick-up {
  animation: smm-tick-up .4s ease-out !important;
}
body.single-product .smm-live-badge .smm-lb-count.smm-tick-down {
  animation: smm-tick-down .4s ease-out !important;
}
@keyframes smm-lb-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.4); }
}
@keyframes smm-tick-up {
  0% { transform: translateY(40%); opacity: 0.3; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes smm-tick-down {
  0% { transform: translateY(-40%); opacity: 0.3; }
  100% { transform: translateY(0); opacity: 1; }
}

/* FP card slide animation : defini dans le bloc .smm-fp-wrap plus bas (lignes 802+) */

/* Trustpilot stars stagger entrance */
body.single-product .smm-tp-box {
  opacity: 0;
  animation: smm-tp-enter .5s ease forwards;
}
@keyframes smm-tp-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 4. Pulse sur prix au changement (variation found_variation) */
@keyframes smm-price-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.04); background: #fff5f8 !important; }
  100% { transform: scale(1); }
}
body.single-product .price.smm-pulse,
body.single-product .single_variation_wrap .price.smm-pulse {
  animation: smm-price-pulse .5s ease-out !important;
}

/* 5. Scroll smooth (conditionné : respecte prefers-reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth !important; }
}



/* === SMM Followers Preview Module === */
body.single-product .smm-fp-wrap {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(229,231,235,.6) !important;
  border-radius: 16px !important;
  padding: 18px !important;
  margin: 0 0 18px !important;
  box-shadow: var(--smm-shadow-md), inset 0 1px 0 rgba(255,255,255,.8) !important;
  position: relative !important;
  overflow: hidden !important;
}
body.single-product .smm-fp-wrap::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--smm-ig-ring) !important;
  border-radius: 16px 16px 0 0 !important;
  opacity: .7 !important;
}
body.single-product .smm-fp-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 0 12px !important;
}
body.single-product .smm-fp-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--smm-text) !important;
}
body.single-product .smm-fp-icon {
  width: 20px !important;
  height: 20px !important;
  color: var(--smm-text-soft) !important;
  flex-shrink: 0 !important;
}
body.single-product .smm-fp-badge {
  background: linear-gradient(135deg, var(--smm-accent), var(--smm-accent-hover)) !important;
  color: #fff !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
  box-shadow: 0 2px 6px rgba(219,39,119,.2) !important;
}
body.single-product .smm-fp-track {
  position: relative !important;
  height: 78px !important;
  overflow: hidden !important;
}
body.single-product .smm-fp-card {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  background: linear-gradient(135deg, #fff 60%, var(--smm-accent-soft) 100%) !important;
  border: 1px solid rgba(229,231,235,.5) !important;
  border-radius: 12px !important;
  box-shadow: var(--smm-shadow-xs) !important;
  opacity: 0 !important;
  transform: translateX(20px) !important;
  transition: opacity .35s ease, transform .35s ease !important;
  pointer-events: none !important;
}
body.single-product .smm-fp-card.smm-fp-active {
  opacity: 1 !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}
body.single-product .smm-fp-avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  object-fit: cover !important;
  border: 2.5px solid transparent !important;
  background-image: linear-gradient(#fff,#fff), var(--smm-ig-ring) !important;
  background-origin: border-box !important;
  background-clip: content-box, border-box !important;
  box-shadow: 0 2px 8px rgba(219,39,119,.15) !important;
}
body.single-product .smm-fp-meta {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}
body.single-product .smm-fp-handle {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--smm-text) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.single-product .smm-fp-verb {
  font-size: 13px !important;
  color: var(--smm-text-soft) !important;
}
body.single-product .smm-fp-ago {
  font-size: 13px !important;
  color: var(--smm-text-mute) !important;
  font-weight: 500 !important;
  flex-shrink: 0 !important;
}
body.single-product .smm-fp-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 3px 0 0 !important;
}
/* Bouton = cible tactile 24px (WCAG target-size / accessibilité agents IA + mobile). La puce
   visuelle reste 6px, dessinée au centre via ::before ; le chevauchement (-6px) préserve le pas
   visuel d'origine (12px). */
body.single-product .smm-fp-dot {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin: 0 -6px !important;
  border-radius: 999px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.single-product .smm-fp-dot::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #d1d5db !important;
  transition: background .25s, width .25s cubic-bezier(.34,1.56,.64,1), transform .25s !important;
}
body.single-product .smm-fp-dot.smm-fp-dot-active::before {
  background: var(--smm-accent) !important;
  width: 18px !important;
  box-shadow: 0 1px 4px rgba(219,39,119,.3) !important;
}
body.single-product .smm-fp-dot:hover::before {
  background: var(--smm-accent-hover) !important;
  transform: scale(1.15) !important;
}
body.single-product .smm-fp-sub {
  text-align: center !important;
  font-size: 12.5px !important;
  color: var(--smm-text-soft) !important;
  margin: 4px 0 0 !important;
}

/* Colonnes produit : applique via JS pour ne pas toucher au header/menu */

/* === MOBILE-FIRST RESPONSIVE === */
@media (max-width: 1024px) {
  /* Reset largeurs colonnes Elementor - laisse stack vertical natif */
  body.single-product .product .elementor-section .elementor-column {
    width: 100% !important;
  }
  /* Empeche tout overlap absolute entre photo et titre */
  body.single-product .elementor-widget-woocommerce-product-images,
  body.single-product .product_title,
  body.single-product .summary {
    position: relative !important;
    z-index: 1 !important;
  }
  /* Photo galerie : largeur safe, pas de max-width 38% */
  body.single-product .elementor-widget-woocommerce-product-images {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto 16px !important;
  }
  /* FP carousel mobile : full width et marges saines */
  body.single-product .smm-fp-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 18px !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }
  body.single-product .smm-fp-card {
    padding: 10px 12px !important;
    gap: 10px !important;
  }
  body.single-product .smm-fp-avatar {
    width: 40px !important;
    height: 40px !important;
  }
  body.single-product .smm-fp-handle {
    font-size: 13.5px !important;
  }
  body.single-product .smm-fp-verb,
  body.single-product .smm-fp-ago {
    font-size: 12px !important;
  }
  body.single-product .smm-fp-track {
    height: auto !important;
    min-height: 70px !important;
  }
  /* Rating + badge live : wrap propre sur mobile */
  body.single-product .woocommerce-product-rating {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  body.single-product .smm-live-badge {
    margin-left: 0 !important;
    flex-basis: 100% !important;
    justify-content: flex-start !important;
    width: fit-content !important;
  }
  /* Titre : pas de chevauchement, lisible */
  body.single-product h1.product_title {
    font-size: 22px !important;
    line-height: 1.25 !important;
    margin: 12px 0 8px !important;
  }
  /* Pas de scroll horizontal */
  body.single-product .summary,
  body.single-product .elementor-widget-woocommerce-product-images {
    overflow-x: hidden !important;
  }
  /* Touch targets : selecteurs et boutons >= 44px */
  body.single-product .ppom-field-wrapper select.ppom-input,
  body.single-product .smm-region-card,
  body.single-product button.single_add_to_cart_button {
    min-height: 48px !important;
  }
  /* Etoiles plus compactes mobile */
  body.single-product .tp-star {
    width: 22px !important;
    height: 22px !important;
  }
  body.single-product .tp-star svg {
    width: 13px !important;
    height: 13px !important;
  }
}

/* Petit mobile (<= 380px) : reduit encore */
@media (max-width: 380px) {
  body.single-product .smm-fp-wrap { padding: 12px !important; }
  body.single-product .smm-fp-card { padding: 8px 10px !important; gap: 8px !important; }
  body.single-product .smm-fp-handle { font-size: 13px !important; }
  body.single-product .smm-fp-ago { font-size: 11px !important; }
  body.single-product .smm-live-badge { font-size: 11px !important; padding: 4px 9px !important; }
}

/* === ANTI OVERFLOW horizontal scope produit (conteneur produit uniquement, PAS le header/nav) === */
body.single-product .product .elementor-section,
body.single-product .product .elementor-container { overflow-x: hidden !important; }
body.single-product .product .elementor-element img,
body.single-product .product .elementor-element video { max-width: 100% !important; height: auto !important; }

/* === REVIEWS : cards layout (CSS scope #reviews uniquement) === */
body.single-product #reviews ol.commentlist {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
@media (min-width: 768px) {
  body.single-product #reviews ol.commentlist { grid-template-columns: repeat(2, 1fr) !important; }
}
body.single-product #reviews ol.commentlist > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product #reviews .comment_container {
  background: linear-gradient(180deg, #ffffff, #fafbfc) !important;
  border: 1px solid rgba(229,231,235,.7) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  box-shadow: var(--smm-shadow-sm) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.single-product #reviews .comment_container:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--smm-shadow-md) !important;
}
body.single-product #reviews .comment-text {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* Stars : reuse classes tp-stars existantes (compactes pour reviews) */
body.single-product #reviews .tp-stars-review {
  margin: 0 0 10px !important;
  gap: 2px !important;
}
body.single-product #reviews .tp-stars-review .tp-star {
  width: 18px !important;
  height: 18px !important;
}
body.single-product #reviews .tp-stars-review .tp-star svg {
  width: 11px !important;
  height: 11px !important;
}
/* Meta (auteur + verified + date) */
body.single-product #reviews .meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
  font-size: 13px !important;
}
body.single-product #reviews .woocommerce-review__author {
  font-weight: 700 !important;
  color: var(--smm-text) !important;
  font-size: 14px !important;
}
body.single-product #reviews .woocommerce-review__verified {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5) !important;
  color: #065f46 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-style: normal !important;
  border: 1px solid rgba(167,243,208,.5) !important;
}
body.single-product #reviews .woocommerce-review__dash { display: none !important; }
body.single-product #reviews .woocommerce-review__published-date {
  color: var(--smm-text-mute) !important;
  font-size: 12px !important;
  margin-left: auto !important;
}
/* Body */
body.single-product #reviews .comment-text > .description {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
}
body.single-product #reviews .comment-text > .description p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--smm-text) !important;
}
body.single-product #reviews .woocommerce-Reviews-title,
body.single-product #reviews #comments > h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
}
body.single-product #review_form_wrapper {
  margin-top: 22px !important;
  padding: 18px !important;
  background: var(--smm-bg-soft) !important;
  border-radius: 14px !important;
  border: 1px solid var(--smm-border) !important;
}

/* === DESCRIPTION TAB POLISH (scope tab content uniquement) === */
body.single-product #tab-description,
body.single-product .description_tab > .panel {
  padding: 18px !important;
  background: linear-gradient(180deg, #ffffff, #fafbfc) !important;
  border-radius: 14px !important;
  border: 1px solid var(--smm-border) !important;
  box-shadow: var(--smm-shadow-sm) !important;
}
body.single-product #tab-description .smm-split-group-header,
body.single-product .description_tab .smm-split-group-header {
  text-align: left !important;
}
body.single-product #tab-description h2,
body.single-product .description_tab h2 {
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 12px !important;
}
body.single-product #tab-description p,
body.single-product .description_tab p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 12px !important;
}
@media (max-width: 900px) {
  body.single-product #tab-description h2,
  body.single-product .description_tab h2 {
    font-size: 26px !important;
  }
}

/* --- Couleurs accent par reseau (override des defauts Instagram) --- */
body.product_cat-instagram{--smm-accent:#DB2777;--smm-accent-soft:#FDF2F8;--smm-accent-hover:#BE185D;}
body.product_cat-tiktok{--smm-accent:#E11D48;--smm-accent-soft:#FFF1F2;--smm-accent-hover:#BE123C;}
body.product_cat-youtube{--smm-accent:#DC2626;--smm-accent-soft:#FEF2F2;--smm-accent-hover:#B91C1C;}
body.product_cat-twitter{--smm-accent:#0EA5E9;--smm-accent-soft:#F0F9FF;--smm-accent-hover:#0284C7;}
body.product_cat-x-twitter{--smm-accent:#0F172A;--smm-accent-soft:#F8FAFC;--smm-accent-hover:#020617;}
body.product_cat-facebook{--smm-accent:#2563EB;--smm-accent-soft:#EFF6FF;--smm-accent-hover:#1D4ED8;}
body.product_cat-spotify{--smm-accent:#16A34A;--smm-accent-soft:#F0FDF4;--smm-accent-hover:#15803D;}
body.product_cat-twitch{--smm-accent:#7C3AED;--smm-accent-soft:#F5F3FF;--smm-accent-hover:#6D28D9;}
body.product_cat-snapchat{--smm-accent:#CA8A04;--smm-accent-soft:#FEFCE8;--smm-accent-hover:#A16207;}
body.product_cat-soundcloud{--smm-accent:#EA580C;--smm-accent-soft:#FFF7ED;--smm-accent-hover:#C2410C;}
body.product_cat-pinterest{--smm-accent:#BE123C;--smm-accent-soft:#FFF1F2;--smm-accent-hover:#9F1239;}
body.product_cat-threads{--smm-accent:#0F172A;--smm-accent-soft:#F8FAFC;--smm-accent-hover:#020617;}
body.product_cat-onlyfans{--smm-accent:#0EA5E9;--smm-accent-soft:#F0F9FF;--smm-accent-hover:#0284C7;}
body.product_cat-linkedin{--smm-accent:#075985;--smm-accent-soft:#F0F9FF;--smm-accent-hover:#0C4A6E;}
body.product_cat-autre{--smm-accent:#6366F1;--smm-accent-soft:#EEF2FF;--smm-accent-hover:#4F46E5;}

/* === Habillage auto des fiches produit (filtre jdp_dress_product_content) ===
 * Réhabille le contenu SEO existant en cartes de section, accent couleur par réseau (--smm-net).
 * Typographie ancrée sur l'échelle du theme (pas de H2 géant). Fallbacks pour robustesse. */
.jdp-fiche-longform {
	/* Accent du longform = accent produit (--smm-accent, cohérent avec la buy-box), sinon orange theme.
	 * Évite le rose Instagram par défaut de --smm-net pour les fiches sans catégorie réseau propre. */
	--smm-net: var(--smm-accent, var(--accent, #E68A1C));
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 8px;
	padding: 0;
	background: transparent;
	border-radius: 0;
	text-align: left;
}
.jdp-fiche-longform .jdp-fiche-intro {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--c-text, #333);
}
.jdp-fiche-longform .jdp-fiche-intro p { margin: 0 0 12px; }
.jdp-fiche-section {
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: var(--radius-lg, 18px);
	padding: clamp(18px, 3vw, 28px);
	box-shadow: 0 6px 22px rgba(17, 17, 17, .06);
}
.jdp-fiche-section:first-of-type {
	box-shadow: 0 12px 32px rgba(17, 17, 17, .09);
	border-top: 3px solid var(--smm-net, var(--accent, #E68A1C));
}
.jdp-fiche-section > h2 {
	font-size: var(--fs-h2, 28px) !important;
	line-height: 1.25;
	margin: 0 0 16px;
	color: var(--c-heading, #1a1a1a);
	text-align: left;
}
.jdp-fiche-section__body {
	color: var(--c-text, #333);
	line-height: 1.7;
}
.jdp-fiche-section__body h3 {
	font-size: var(--fs-h3, 22px);
	line-height: 1.3;
	margin: 20px 0 8px;
	color: var(--c-heading, #1a1a1a);
}
.jdp-fiche-section__body p { margin: 0 0 12px; }
.jdp-fiche-section__body ul,
.jdp-fiche-section__body ol { margin: 0 0 14px; padding-left: 1.4em; }
.jdp-fiche-section__body li { margin: 0 0 6px; }
.jdp-fiche-section__body a { color: var(--accent, #E68A1C); text-decoration: underline; }
.jdp-fiche-section__body table { width: 100%; border-collapse: collapse; margin: 0 0 14px; }
.jdp-fiche-section__body th,
.jdp-fiche-section__body td { border: 1px solid var(--c-border, #ececec); padding: 8px 10px; text-align: left; }
.jdp-fiche-section__body th { background: var(--bg-soft, #F9F6F1); }
.jdp-fiche-section__body img { max-width: 100%; height: auto; border-radius: 10px; }

/* === Liens éditoriaux dans le contenu dressé (splits, cartes) : visibles = accent + soulignés === */
body.single-product #tab-description .smm-split-text a[href]:not(.button):not(.smm-btn):not([href="#"]),
body.single-product #tab-description .smm-split-body a[href]:not(.button):not(.smm-btn):not([href="#"]),
body.single-product #tab-description .smm-info-card a[href]:not(.button):not(.smm-btn):not([href="#"]),
body.single-product #tab-description .smm-fiche p a[href]:not(.button):not(.smm-btn):not([href="#"]) {
  color: var(--smm-accent, var(--accent, #E68A1C)) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 1.5px !important;
  font-weight: 600 !important;
}
/* Manifesto sombre (.smm-features) : lien clair pour contraste sur fond navy */
body.single-product #tab-description .smm-features a[href]:not(.button):not(.smm-btn):not([href="#"]) {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 600 !important;
}
body.single-product #tab-description .smm-split-text a[href]:hover,
body.single-product #tab-description .smm-split-body a[href]:hover,
body.single-product #tab-description .smm-info-card a[href]:hover {
  text-decoration-thickness: 2.5px !important;
}

/* === Enrichissement habillage fiche (v0.5.19) : panneau beige retiré, cartes blanches propres
 * (cohérent avec la page de référence), listes à puces check de marque,
 * titres dorés legacy (#d3ab66 inline Elementor) neutralisés. === */
.jdp-fiche-section__body ul {
	list-style: none;
	padding-left: 0;
}
.jdp-fiche-section__body ul li {
	position: relative;
	padding-left: 26px;
}
.jdp-fiche-section__body ul li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 0.28em;
	width: 6px;
	height: 11px;
	border: solid var(--smm-net, var(--accent, #E68A1C));
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}
.jdp-fiche-longform [style*="d3ab66" i] {
	color: var(--c-heading, #1a1a1a) !important;
}

/* === Trust row (moyens de paiement) sous l'add-to-cart, migré du snippet 205 (hook natif) === */
.smm-trust-block{margin:26px 0 16px !important;text-align:center !important;font-family:inherit}
.smm-trust-block .smm-trust-title{font-size:15px !important;font-weight:600 !important;color:#4b5563 !important;margin:0 0 14px !important;letter-spacing:.3px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:12px !important}
.smm-trust-block .smm-trust-title::before,.smm-trust-block .smm-trust-title::after{content:"" !important;display:inline-block !important;height:1px !important;width:60px !important;background:linear-gradient(90deg,transparent,#d1d5db,transparent) !important;flex-shrink:0 !important}
.smm-trust-block .smm-pay-row{display:flex !important;justify-content:center !important;align-items:center !important;gap:12px !important;flex-wrap:wrap !important;margin:0 !important;padding:0 !important;list-style:none !important}
.smm-trust-block .smm-pay-card{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;height:54px !important;min-width:80px !important;padding:0 16px !important;background:#fff !important;border:1px solid #e5e7eb !important;border-radius:9px !important;box-shadow:0 1px 3px rgba(0,0,0,.06) !important;transition:border-color .15s,box-shadow .15s,transform .15s !important;box-sizing:border-box !important;font-family:Arial,Helvetica,sans-serif !important;font-weight:700 !important;line-height:1 !important;letter-spacing:-.2px !important}
.smm-trust-block .smm-pay-card:hover{border-color:#9ca3af !important;box-shadow:0 4px 8px rgba(0,0,0,.08) !important;transform:translateY(-1px) !important}
.smm-trust-block .smm-pay-card svg{display:block !important;flex-shrink:0 !important;width:22px !important;height:22px !important}
.smm-trust-block .smm-w-paypal{font-size:22px !important;font-weight:800 !important;font-style:italic !important;letter-spacing:-.3px !important}
.smm-trust-block .smm-w-paypal-1{color:#003087 !important}
.smm-trust-block .smm-w-paypal-2{color:#0070BA !important}
.smm-trust-block .smm-w-stripe{font-size:23px !important;font-weight:900 !important;color:#635BFF !important;letter-spacing:-.5px !important;font-family:Arial,sans-serif !important}
.smm-trust-block .smm-w-applepay{font-size:20px !important;font-weight:500 !important;color:#000 !important}
.smm-trust-block .smm-w-gpay{font-size:19px !important;font-weight:500 !important;color:#5f6368 !important}
.smm-trust-block .smm-w-ssl{font-size:19px !important;font-weight:800 !important;color:#374151 !important;letter-spacing:.5px !important}
@media (max-width:480px){
.smm-trust-block{margin:20px 0 12px !important}
.smm-trust-block .smm-trust-title{font-size:13px !important;margin:0 0 12px !important;gap:10px !important}
.smm-trust-block .smm-trust-title::before,.smm-trust-block .smm-trust-title::after{width:36px !important}
.smm-trust-block .smm-pay-row{gap:8px !important}
.smm-trust-block .smm-pay-card{height:46px !important;min-width:66px !important;padding:0 11px !important;border-radius:7px !important;gap:5px !important}
.smm-trust-block .smm-pay-card svg{width:18px !important;height:18px !important}
.smm-trust-block .smm-w-paypal{font-size:18px !important}
.smm-trust-block .smm-w-stripe{font-size:19px !important}
.smm-trust-block .smm-w-applepay{font-size:17px !important}
.smm-trust-block .smm-w-gpay{font-size:16px !important}
.smm-trust-block .smm-w-ssl{font-size:16px !important}
}

/* Barre sticky mobile d'ajout au panier : retirée à la demande (rendu PHP retiré de
   inc/product-buybox.php). Le bouton WooCommerce natif de la fiche reste inchangé. */

/* ============================================================
   HERO DESIGN v2 - toutes les fiches produit.
   Aligne le hero sur le visuel cible (purement visuel + 2 blocs rendus par
   inc/product-buybox.php). Double classe body.single-product.woocommerce-page :
   conserve la spécificité qui bat le CSS du snippet #143 (body.single-product).
   ============================================================ */

/* #2 - Galerie epuree : masquer loupe zoom + miniatures, coins arrondis */
body.single-product.woocommerce-page .woocommerce-product-gallery__trigger,
body.single-product.woocommerce-page .flex-control-thumbs,
body.single-product.woocommerce-page .woocommerce-product-gallery .flex-control-nav { display: none !important; }
body.single-product.woocommerce-page .woocommerce-product-gallery,
body.single-product.woocommerce-page .woocommerce-product-gallery__wrapper { margin: 0 !important; }
body.single-product.woocommerce-page .woocommerce-product-gallery__image img { border-radius: 16px !important; display: block !important; }

/* #1 - UN SEUL cadre : on retire le cadre exterieur (short-description) et on garde la carte
   des lignes (.smm-bullets). Le sous-titre repasse en texte simple, comme le visuel cible. */
body.single-product.woocommerce-page .woocommerce-product-details__short-description {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; border-radius: 0 !important;
}
body.single-product.woocommerce-page .smm-bullets {
  background: #fff !important; border: 1px solid var(--smm-border) !important; border-radius: 14px !important;
  box-shadow: var(--smm-shadow-sm) !important; gap: 0 !important; overflow: hidden !important; padding: 0 !important;
}
body.single-product.woocommerce-page p.smm-bullet {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--smm-border) !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 15px 18px !important; align-items: center !important;
}
body.single-product.woocommerce-page .smm-bullets p.smm-bullet:last-child { border-bottom: 0 !important; }
body.single-product.woocommerce-page p.smm-bullet:hover { transform: none !important; box-shadow: none !important; background: var(--smm-bg-soft) !important; }

/* #4 - Image preuve sociale (home) sous le titre, PUIS le widget rotatif « Ces profils vont
   liker » en bas de la meme carte (deplace en JS, separe par un filet). */
body.single-product.woocommerce-page .smm-fp-wrap {
  display: block !important; margin: 0 !important; padding: 14px 16px !important;
  background: transparent !important; border: 0 !important; border-top: 1px solid var(--smm-border) !important;
  border-radius: 0 !important; box-shadow: none !important; width: auto !important;
}
body.single-product.woocommerce-page .smm-fp-wrap::before { display: none !important; }
body.single-product.woocommerce-page .jdp-hero-sp { position: relative; margin: 0; padding: 12px; }
body.single-product.woocommerce-page .jdp-hero-sp img { display: block; width: 100%; height: auto; border-radius: 10px; }
body.single-product.woocommerce-page .jdp-hero-sp-counter {
  position: absolute; left: 24px; right: 24px; bottom: 24px;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px; border-radius: 16px; background: rgba(17,24,39,.9);
  box-shadow: 0 8px 20px rgba(17,24,39,.28);
}
body.single-product.woocommerce-page .jdp-hero-sp-dot { width: 9px; height: 9px; border-radius: 50%; background: #22C55E; flex-shrink: 0; }
body.single-product.woocommerce-page .jdp-hero-sp-text { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: #fff; }
body.single-product.woocommerce-page .jdp-hero-sp-num { color: #34D399; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* #3 - Bande reassurance sous la photo */
body.single-product.woocommerce-page .jdp-hero-trust {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px;
  margin-top: 14px; padding: 12px 14px; background: #fff; border: 1px solid var(--smm-border);
  border-radius: 12px; box-shadow: var(--smm-shadow-sm);
}
body.single-product.woocommerce-page .jdp-hero-trust-item {
  display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600;
  color: var(--smm-text); white-space: nowrap;
}
body.single-product.woocommerce-page .jdp-hero-trust-item svg { width: 16px; height: 16px; color: var(--smm-accent); flex-shrink: 0; }
body.single-product.woocommerce-page .jdp-hero-trust-sep { width: 1px; height: 15px; background: var(--smm-border); }

/* #4 - Carte unique pleine largeur : banniere « +22 000 clients » + avatars (fond gris),
   puis le widget dynamique en dessous (rotation live). Empile proprement, sans imbrication. */
body.single-product.woocommerce-page .jdp-hero-social {
  margin-top: 14px; background: #fff; border: 1px solid var(--smm-border);
  border-radius: 14px; box-shadow: var(--smm-shadow-sm); overflow: hidden;
}
body.single-product.woocommerce-page .jdp-hero-clients-head {
  display: flex; align-items: center; gap: 12px; padding: 13px 16px;
  background: var(--smm-bg-soft); border-bottom: 1px solid var(--smm-border);
}
body.single-product.woocommerce-page .jdp-hero-clients-title { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--smm-text-soft); line-height: 1.3; }
body.single-product.woocommerce-page .jdp-hero-clients-title strong { color: var(--smm-text); font-weight: 800; }
body.single-product.woocommerce-page .jdp-hero-avatars { display: inline-flex; flex-shrink: 0; }
body.single-product.woocommerce-page .jdp-hero-avatars img {
  width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; margin-left: -10px;
  box-shadow: 0 1px 3px rgba(17,24,39,.12);
}
body.single-product.woocommerce-page .jdp-hero-avatars img:first-child { margin-left: 0; }

/* #5 - Bande reassurance ENCADREE (carte blanche + separateurs centres), cote fiche.
   Coherent avec .jdp-hero-trust : hairline border, ombre subtile, pas d'animation (statique). */
body.single-product.woocommerce-page .jdp-hero-bottom-strip {
  display: flex; align-items: stretch; margin: 6px 0; padding: 12px 8px;
  background: #fff; border: 1px solid var(--smm-border); border-radius: 12px; box-shadow: var(--smm-shadow-sm);
}
body.single-product.woocommerce-page .jdp-hero-bottom-strip span {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; position: relative;
  font-size: 12.5px; font-weight: 600; color: var(--smm-text); text-align: center; line-height: 1.25;
}
body.single-product.woocommerce-page .jdp-hero-bottom-strip span + span::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 20px; background: var(--smm-border);
}
body.single-product.woocommerce-page .jdp-hero-bottom-strip svg { width: 17px; height: 17px; color: var(--smm-accent); flex-shrink: 0; }
@media (max-width: 560px) {
  body.single-product.woocommerce-page .jdp-hero-bottom-strip { flex-direction: column; align-items: stretch; padding: 4px 14px; }
  body.single-product.woocommerce-page .jdp-hero-bottom-strip span { justify-content: flex-start; padding: 10px 0; }
  body.single-product.woocommerce-page .jdp-hero-bottom-strip span + span::before { display: none; }
  body.single-product.woocommerce-page .jdp-hero-bottom-strip span + span { border-top: 1px solid var(--smm-border); }
}

/* ============================================================
   FOND BLANC, sans cadre : le hero s'affiche à plat sur la page (pas de carte
   extérieure). !important + double classe pour couvrir un éventuel fond du snippet #143.
   ============================================================ */
body.single-product.woocommerce-page { background: #fff !important; }

/* ============================================================
   Titre de la section vidéo : centré sur TOUTES les fiches produit.
   Le bloc h2 (max-width 760px) perdait ses marges auto dans le contexte #tab-description
   (règle avec #id, imbattable en classes). On le passe pleine largeur : text-align:center
   le centre alors visuellement. Spécificité (0,0,3,1) : bat aussi le reset .smm-fiche h2.
   ============================================================ */
body.single-product .smm-video-section .smm-video-title {
  max-width: none !important;
  text-align: center !important;
}

/* ============================================================
   Splits image-texte des fiches (classes .smm-split-card/.smm-split-body du contenu
   migré, non stylées par la version portée de smm-fiche.min.css). Le layout desktop
   est en styles inline (grid 2 colonnes). On ajoute UNIQUEMENT le responsive : on
   empile en 1 colonne sous 900px (sinon 2 colonnes serrées + débordement horizontal).
   !important bat le style inline « grid-template-columns:1fr 1fr » (sans !important).
   ============================================================ */
@media (max-width: 900px) {
  /* Contraindre la fiche migrée au viewport mobile : min-width:0 lève le min-content
     des wrappers flex (.woocommerce-tabs a min-width:auto et refuse de rétrécir sous
     son contenu large). Les tables continuent de scroller dans leur .smm-table-wrap. */
  body.single-product .woocommerce-tabs,
  body.single-product #tab-description,
  body.single-product .smm-fiche,
  body.single-product .smm-fiche > *,
  body.single-product .smm-fiche .smm-split-card > *,
  body.single-product .smm-fiche .smm-split-text,
  body.single-product .smm-fiche .smm-split-body {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.single-product .smm-fiche img { max-width: 100% !important; height: auto !important; }
  /* Tables larges (min-width 560) : forcer leur wrap en bloc pleine largeur => la table
     scrolle DANS le wrap au lieu de déborder la page. */
  body.single-product .smm-fiche .smm-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
  }
  /* Splits image-texte : empiler en 1 colonne. */
  body.single-product .smm-fiche .smm-split-card {
    grid-template-columns: 1fr !important;
    padding: 26px 20px !important;
    gap: 20px !important;
  }
}

/* ============================================================
   AÉRATION FICHE (parité fiche followers 9746) : longueur de ligne + espacement.
   Zéro perte SEO : mesure et typographie uniquement, aucun texte retiré.
   Cause racine du « mur de texte » : les cartes couraient en pleine largeur
   (~130 caractères/ligne). On borne la mesure à ~72 caractères + on desserre.
   ============================================================ */
body.single-product .smm-fiche .smm-info-card > p,
body.single-product .smm-fiche .smm-info-card > ul,
body.single-product .smm-fiche .smm-info-card > ol {
  max-width: 72ch;
}
body.single-product .smm-fiche .smm-info-card > ol { margin: 0 0 22px; padding-left: 1.35em; }
body.single-product .smm-fiche .smm-info-card > ol > li { margin-bottom: 12px; line-height: 1.7; }
body.single-product .smm-fiche .smm-info-card > ol > li:last-child { margin-bottom: 0; }
body.single-product .smm-fiche .smm-info-card > p {
  line-height: 1.7;
  margin: 0 0 22px;
}
body.single-product .smm-fiche .smm-info-card > p:last-child { margin-bottom: 0; }
/* Air autour des H3 (57 sur la page) : évite l'effet « registre » tassé. */
body.single-product .smm-fiche .smm-info-card h3 {
  margin: 36px 0 14px;
  padding-top: 22px;
}
body.single-product .smm-fiche .smm-info-card > h3:first-child {
  margin-top: 8px;
  padding-top: 0;
}
/* Blocs split image-texte : interligne + marges. */
body.single-product .smm-fiche .smm-split-body p {
  line-height: 1.7;
  margin: 0 0 18px;
}
body.single-product .smm-fiche .smm-split-body p:last-child { margin-bottom: 0; }
body.single-product .smm-fiche .smm-split-body h3 { margin-top: 30px; }
/* Hero : espacement des paragraphes du sous-titre (une fois scindé). */
body.single-product .smm-fiche .smm-hero-subtitle p { margin: 0 0 14px; }
body.single-product .smm-fiche .smm-hero-subtitle p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  body.single-product .smm-fiche .smm-info-card > p,
  body.single-product .smm-fiche .smm-info-card > ul { max-width: 100%; }
  body.single-product .smm-fiche .smm-info-card h3 { margin-top: 28px; }
}

/* ============================================================
   Comparateur concurrentiel (inc/product-price-compare.php)
   Rendu sous le prix, dans .single_variation_wrap. Fiches mono-gamme.
   ============================================================ */
body.single-product .jdp-cmp{
  margin:2px 0 16px !important;padding:13px 15px !important;
  background:#fff !important;border:1px solid var(--smm-border) !important;
  border-radius:var(--smm-radius) !important;box-shadow:var(--smm-shadow-sm) !important;
}
body.single-product .jdp-cmp-head{
  display:flex !important;align-items:center !important;justify-content:space-between !important;
  gap:10px !important;margin-bottom:11px !important;
}
body.single-product .jdp-cmp-title{
  font-size:12px !important;font-weight:700 !important;color:var(--smm-text-soft) !important;
  text-transform:uppercase !important;letter-spacing:.4px !important;line-height:1.3 !important;
}
body.single-product .jdp-cmp-pct{
  flex:none !important;background:#e8f5ee !important;color:#1c7a48 !important;
  font-size:13px !important;font-weight:800 !important;line-height:1 !important;
  padding:5px 9px !important;border-radius:8px !important;white-space:nowrap !important;
}
body.single-product .jdp-cmp-bars{display:flex !important;flex-direction:column !important;gap:8px !important}
body.single-product .jdp-cmp-row{
  display:grid !important;grid-template-columns:84px 1fr auto !important;
  align-items:center !important;gap:10px !important;
}
body.single-product .jdp-cmp-lab{
  font-size:12.5px !important;font-weight:600 !important;color:var(--smm-text-soft) !important;
}
body.single-product .jdp-cmp-track{
  height:14px !important;background:#f1ece1 !important;border-radius:7px !important;overflow:hidden !important;
}
body.single-product .jdp-cmp-fill{height:100% !important;border-radius:7px !important;display:block !important}
body.single-product .jdp-cmp-fill.jdp-cmp-us{background:var(--smm-accent) !important}
body.single-product .jdp-cmp-fill.jdp-cmp-them{background:#cdbfa6 !important}
body.single-product .jdp-cmp-val{
  font-size:12.5px !important;font-weight:700 !important;color:var(--smm-text) !important;
  min-width:46px !important;text-align:right !important;white-space:nowrap !important;
}
body.single-product .jdp-cmp-val.jdp-cmp-val-us{color:var(--smm-accent) !important}
body.single-product .jdp-cmp-note{
  margin:10px 0 0 !important;font-size:11px !important;line-height:1.4 !important;
  color:var(--smm-text-mute) !important;
}

/* Buy-box : espacement vertical compact et uniforme entre sections (2026-07-15) */
body.single-product .summary{gap:12px !important}
body.single-product .summary > * + *{margin-top:0 !important}
body.single-product .summary .smm-univ-qty-section{margin:0 !important}
body.single-product .summary form.variations_form.cart{margin-top:0 !important}

/* ============================================================
   FIXES MOBILE FICHE (2026-07-15) : illustrations 3D entieres + tableaux sans debordement.
   ============================================================ */
/* Illustrations 3D : sur mobile, afficher l image ENTIERE (le crop paysage desktop coupe le visuel). */
@media (max-width: 767px) {
  body.single-product .smm-fiche .smm-split-image { aspect-ratio: auto !important; background: transparent !important; }
  body.single-product .smm-fiche .smm-split-illus-img,
  body.single-product .smm-fiche .smm-split-image img { position: static !important; height: auto !important; object-fit: contain !important; width: 100% !important; }
}
/* Tableaux (empiles en cartes sous 560px) : garantir zero debordement horizontal, valeurs jamais coupees. */
@media (max-width: 560px) {
  /* Empilage en cartes : neutralise le min-width:560 (spécificité #tab-description) pour que le tableau tienne dans le viewport, valeurs visibles. */
  html body.single-product #tab-description .smm-fiche .smm-table-wrap { width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow-x: auto !important; }
  html body.single-product #tab-description .smm-fiche .smm-table,
  html body.single-product #tab-description .smm-fiche .smm-table tbody,
  html body.single-product #tab-description .smm-fiche .smm-table tr,
  html body.single-product #tab-description .smm-fiche .smm-table td { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
  html body.single-product #tab-description .smm-fiche .smm-table td { word-break: break-word; }
}

/* ============================================================
   ANCIEN PRIX BARRE (buy-box) - emil-design-eng (2026-07-15)
   Trait de barre net (jamais d underline parasite), gris attenue (l ancien prix
   recule pour laisser dominer le prix promo), chiffres alignes, police du theme.
   ============================================================ */
body.single-product .summary del,
body.single-product .summary .woocommerce-variation-price del,
body.single-product .summary .single_variation del,
body.single-product .summary del .amount,
body.single-product .summary del bdi {
  text-decoration-line: line-through !important;   /* uniquement barre, jamais underline */
  text-decoration-thickness: 1px !important;
  text-decoration-color: #aeb6c2 !important;       /* trait fin et discret */
  color: #94a3b8 !important;                        /* gris attenue (slate-400) */
  font-family: inherit !important;                  /* Poppins du theme */
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;               /* chiffres alignes */
  font-style: normal !important;
}

/* ============================================================
 * Encart auteur E-E-A-T (Melvin) - jdp_product_author_byline()
 * ============================================================ */
.jdp-author-band { grid-column: 1 / -1; width: 100%; box-sizing: border-box; margin: 44px 0 8px; }
.jdp-author-card {
	display: flex;
	align-items: flex-start;
	gap: 26px;
	background: var(--bg-soft, #F9F6F1);
	border: 1px solid var(--border, #E9E6ED);
	border-radius: 18px;
	padding: 26px 30px;
	box-shadow: 0 1px 2px rgba(31, 36, 51, 0.03);
}
.jdp-author-photo { flex-shrink: 0; line-height: 0; }
.jdp-author-avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 3px solid #fff;
	box-shadow: 0 8px 20px rgba(31, 36, 51, 0.16), 0 0 0 1px var(--border, #E9E6ED);
}
.jdp-author-avatar--initials {
	background: var(--accent, #E68A1C);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.jdp-author-body { min-width: 0; }
.jdp-author-kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--accent, #E68A1C);
	margin: 0 0 7px;
}
.jdp-author-name {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 18px;
	font-weight: 700;
	color: var(--fg1, #1F2433);
	margin: 0;
	line-height: 1.2;
}
.jdp-author-check { color: var(--accent, #E68A1C); flex-shrink: 0; }
.jdp-author-role { font-size: 13px; color: var(--fg2, #69727D); margin: 4px 0 12px; line-height: 1.4; }
.jdp-author-bio { font-size: 14px; line-height: 1.62; color: var(--fg2, #69727D); margin: 0 0 14px; }
.jdp-author-bio strong { color: var(--fg1, #1F2433); font-weight: 600; }
.jdp-author-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.jdp-author-chips li {
	background: #fff;
	border: 1px solid var(--border, #E9E6ED);
	border-radius: 999px;
	padding: 6px 14px;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 500;
	color: var(--fg1, #1F2433);
}
@media (max-width: 768px) {
	.jdp-author-card {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
		padding: 24px 20px;
	}
	.jdp-author-name { justify-content: center; }
	.jdp-author-chips { justify-content: center; }
	.jdp-author-bio { text-align: left; }
}

/* Note de sécurité du paiement sous les icônes (Fiabilité F8 de l'audit E-E-A-T). */
.smm-trust-note {
	margin: 10px 0 0;
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--text-muted, #5c5f66);
}

/* Icône de groupe en remplacement des quatre photos de banque d'images. */
.jdp-hero-avatars--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--accent-soft, rgba(230, 138, 28, .1));
	color: var(--accent, #e68a1c);
	flex: 0 0 auto;
}
.jdp-hero-avatars--icon svg { width: 19px; height: 19px; }

/* ============================================================
   Filet de sécurité de la zone d'achat (2026-08-01)
   ------------------------------------------------------------
   Le sélecteur natif est masqué plus haut dans ce fichier, car
   un sélecteur maison le remplace. Quand aucun ne s'applique,
   assets/js/buybox-fallback.js pose la classe ci-dessous et la
   fiche redevient commandable. Mesuré ce jour : 9 fiches sur 43
   n'avaient aucun moyen de choisir une variation, donc aucun
   prix et aucun achat possible.
   ============================================================ */
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations {
	display: table !important;
	width: 100%;
	margin: 0 0 var(--sp-4, 16px);
	border-collapse: collapse;
}
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations th,
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations th.label {
	margin-bottom: 6px;
	font-family: var(--font-display, "Poppins", sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--fg1, #0A0A0A);
}
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations td.value {
	margin-bottom: var(--sp-3, 12px);
}
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations select {
	width: 100%;
	min-height: 46px;              /* cible tactile confortable */
	padding: 10px 38px 10px 14px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	border: 1px solid var(--border, #E9E6ED);
	border-radius: var(--radius-sm, 8px);
	font-family: inherit;
	font-size: 15px;
	color: var(--fg1, #0A0A0A);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
body.single-product form.variations_form.cart.jdp-variations-natives > table.variations select:focus-visible {
	outline: 2px solid var(--accent, #E68A1C);
	outline-offset: 2px;
}
/* Le lien « Effacer » de WooCommerce, discret. */
body.single-product form.variations_form.cart.jdp-variations-natives .reset_variations {
	display: inline-block;
	margin-top: 4px;
	font-size: 12.5px;
	color: var(--fg2, #69727D);
}
/* Le prix de la variation choisie doit se voir. */
body.single-product form.variations_form.cart.jdp-variations-natives .woocommerce-variation-price {
	margin: 0 0 var(--sp-3, 12px);
	font-family: var(--font-display, "Poppins", sans-serif);
	font-size: 26px;
	font-weight: 800;
	color: var(--fg1, #0A0A0A);
}
