/*
 * product-polish.css
 *
 * CSS des fiches produit, extrait du snippet Code Snippets #143 "SMM Fiche Polish"
 * le 2026-07-31. Il y etait injecte inline dans wp_head, donc prioritaire sur les
 * fichiers du theme : toute correction faite dans product-content.css restait sans
 * effet a l'ecran.
 *
 * Charge en DERNIER (dependance jdp-product-preuve) pour reproduire exactement la
 * position d'origine du bloc inline, qui sortait apres tous les <link>. Ne pas le
 * remonter dans l'ordre de chargement sans verifier le rendu.
 *
 * Le snippet #143 conserve ce qui est dynamique : le :root avec les couleurs par
 * reseau social, et le PHP/JS des badges, etoiles et pulse prix.
 *
 * Contenu identique au CSS qui etait deja servi en production : aucun changement
 * visuel attendu.
 */

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;
}
body.single-product form.variations_form.cart > * + *{margin-top:12px !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;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs,
body.single-product .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs{
  display:flex !important;justify-content:center !important;gap:8px !important;
  list-style:none !important;margin:0 0 24px !important;padding:6px !important;
  border:none !important;background:var(--smm-bg-soft) !important;
  border-radius:14px !important;box-shadow:var(--smm-shadow-xs) !important;
  flex-wrap:nowrap !important;overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;scrollbar-width:none !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::-webkit-scrollbar{display:none !important}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::before,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::after{display:none !important}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li{
  margin:0 !important;padding:0 !important;background:transparent !important;
  border:none !important;border-radius:10px !important;flex:0 0 auto !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li::before,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li::after{display:none !important}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a{
  display:flex !important;align-items:center !important;justify-content:center !important;
  min-height:44px !important;padding:10px 22px !important;
  font-family:"Poppins","Helvetica Neue",Arial,sans-serif !important;
  font-size:14.5px !important;font-weight:600 !important;
  color:var(--smm-text-soft) !important;text-decoration:none !important;
  border-radius:10px !important;background:transparent !important;
  transition:all .18s ease !important;white-space:nowrap !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover{
  color:var(--smm-text) !important;background:rgba(17,24,39,.04) !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li[aria-selected="true"] a{
  color:var(--smm-accent) !important;background:#fff !important;
  box-shadow:var(--smm-shadow-sm) !important;font-weight:700 !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){
  /* Permet aux onglets de wrap sur plusieurs lignes au lieu d'etre tronques en scroll horizontal */
  body.single-product .woocommerce-tabs ul.tabs.wc-tabs,
  body.single-product .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs{
    flex-wrap:wrap !important;
    overflow-x:visible !important;
    justify-content:center !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body.single-product .woocommerce-tabs ul.tabs.wc-tabs li,
  body.single-product .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs li{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a,
  body.single-product .elementor-widget-woocommerce-product-data-tabs ul.tabs.wc-tabs li a{
    padding:10px 12px !important;
    font-size:13px !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.25 !important;
    word-wrap:break-word !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto !important;
    min-width:0 !important;
    max-width:100% !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-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-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 */
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: 6px !important;
  margin: 12px 0 8px !important;
}
body.single-product .smm-fp-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #d1d5db !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !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 {
  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 {
  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 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;
}
@media (max-width: 900px) {
  body.single-product #tab-description h2,
  body.single-product .description_tab h2 {
    font-size: 26px !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;
}
