/* ==========================================================
   LUDORUM — FICHES PRODUIT PREMIUM v1.6
   FINALISATION / COMPATIBILITÉ FICHE PRODUIT DA

   DA garde :
   - structure principale
   - colonnes
   - image
   - panier
   - paiements
   - onglets

   Premium optimise uniquement :
   - stock
   - caractéristiques
   - favoris
   - paiements (conteneur extérieur seulement)
   - réassurance
   - métadonnées
   - éditorial
   ========================================================== */

body.single-product {
  --lud-pp-blue:#0B4DBB;
  --lud-pp-red:#D72626;
  --lud-pp-yellow:#F5C518;
  --lud-pp-ink:#09182D;
  --lud-pp-muted:#687386;
  --lud-pp-border:#DFE6EF;
  --lud-pp-green:#169B62;
}

/* ---------- STOCK ---------- */

body.single-product .summary p.stock,
body.single-product .summary .woocommerce-variation-availability p.stock {
  display:none !important;
}

.lud-pp-stock{
  display:flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:6px 0 10px;
  padding:6px 10px;
  border-radius:999px;
  background:#F0F9F5;
  color:var(--lud-pp-green);
  font-size:16px;
  line-height:1;
}
.lud-pp-stock.is-out{
  background:#FFF1F1;
  color:var(--lud-pp-red);
}
.lud-pp-stock__dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:currentColor;
}
.lud-pp-stock__qty{
  font-weight:700;
}

/* ---------- CARACTÉRISTIQUES ---------- */

.lud-pp-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:10px 0 12px;
}
.lud-pp-fact{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:40px;
  padding:7px 9px;
  border:1px solid var(--lud-pp-border);
  border-radius:10px;
  background:#fff;
}
.lud-pp-fact__icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#EEF4FF;
  font-size:16px;
}
.lud-pp-fact__content{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.lud-pp-fact__content small{
  margin:0 0 2px;
  color:var(--lud-pp-muted);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.lud-pp-fact__content strong{
  overflow:hidden;
  color:var(--lud-pp-ink);
  font-size:15.5px;
  font-weight:800;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* ---------- FAVORIS ---------- */

body.single-product .summary .lud-pp-favorite-link,
body.single-product .summary .yith-wcwl-add-to-wishlist a,
body.single-product .summary a.tinvwl_add_to_wishlist_button,
body.single-product .summary button.tinvwl_add_to_wishlist_button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:30px !important;
  padding:6px 10px !important;
  border:1px solid #EFBFC7 !important;
  border-radius:8px !important;
  background:#FFF8F9 !important;
  color:var(--lud-pp-red) !important;
  font-size:14.5px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.single-product .summary .lud-pp-favorite-link:hover,
body.single-product .summary .yith-wcwl-add-to-wishlist a:hover,
body.single-product .summary a.tinvwl_add_to_wishlist_button:hover,
body.single-product .summary button.tinvwl_add_to_wishlist_button:hover{
  background:#FFF0F2 !important;
  border-color:#E39AA6 !important;
}
body.single-product .summary .lud-pp-favorite-link.is-active{
  background:#FFE7EB !important;
  border-color:#DD8796 !important;
}

/* ---------- PAIEMENTS RAPIDES ----------
   IMPORTANT :
   aucun style appliqué aux iframes/boutons internes.
   On réduit uniquement leur wrapper extérieur marqué en JS.
   -------------------------------------- */

body.single-product .summary .lud-pp-payment-outer{
  width:68% !important;
  max-width:68% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:3px !important;
  margin-bottom:3px !important;
  box-sizing:border-box !important;
}

/* ---------- RÉASSURANCE ---------- */

.lud-pp-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:9px 0 8px;
  padding:6px;
  border:1px solid var(--lud-pp-border);
  border-radius:11px;
  background:#FBFCFE;
}
.lud-pp-trust__item{
  min-width:0;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 6px;
  border-radius:7px;
  background:#fff;
}
.lud-pp-trust__item strong{
  color:var(--lud-pp-ink);
  font-size:14.3px;
  line-height:1.15;
  font-weight:800;
}
.lud-pp-trust__icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  font-size:15px;
}
.lud-pp-trust__icon.lud-blue{background:#EDF4FF;}
.lud-pp-trust__icon.lud-red{background:#FFF1F1;}
.lud-pp-trust__icon.lud-yellow{background:#FFF9DE;}

/* ---------- MÉTADONNÉES ----------
   UGS et tags n'apportent rien au client sur la fiche.
   On garde uniquement la catégorie.
   --------------------------------- */

body.single-product .summary .product_meta .sku_wrapper,
body.single-product .summary .product_meta .tagged_as{
  display:none !important;
}
body.single-product .summary .product_meta{
  margin-top:8px !important;
  padding-top:7px !important;
  border-top:1px solid var(--lud-pp-border);
  color:var(--lud-pp-muted) !important;
  font-size:13.5px !important;
  line-height:1.4 !important;
}
body.single-product .summary .product_meta .posted_in{
  color:var(--lud-pp-muted) !important;
}
body.single-product .summary .product_meta .posted_in a{
  color:var(--lud-pp-blue) !important;
  font-weight:800;
  text-decoration:none !important;
}

/* ---------- ÉDITORIAL ---------- */

.lud-pp-editorial{
  clear:both;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:min(1180px,94%);
  margin:22px auto 28px;
}
.lud-pp-editorial__card{
  position:relative;
  overflow:hidden;
  padding:21px;
  border:1px solid var(--lud-pp-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(9,24,45,.045);
}
.lud-pp-editorial__card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(
    90deg,
    var(--lud-pp-blue) 0 33.333%,
    var(--lud-pp-red) 33.333% 66.666%,
    var(--lud-pp-yellow) 66.666% 100%
  );
}
.lud-pp-kicker{
  display:inline-block;
  margin-bottom:6px;
  color:var(--lud-pp-blue);
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
}
.lud-pp-editorial h2{
  margin:0 0 9px!important;
  color:var(--lud-pp-ink);
  font-size:25px!important;
  line-height:1.15;
}
.lud-pp-editorial__text{
  color:#3F4B5D;
  line-height:1.62;
  font-size:18px;
}
.lud-pp-editorial__text p:last-child{
  margin-bottom:0;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1024px){
  .lud-pp-trust{
    grid-template-columns:1fr;
  }

  .lud-pp-trust__item strong{
    font-size:14.8px;
  }

  body.single-product .summary .lud-pp-payment-outer{
    width:73% !important;
    max-width:73% !important;
  }
}

@media(max-width:767px){
  .lud-pp-facts{
    grid-template-columns:1fr 1fr;
  }

  body.single-product .summary .lud-pp-payment-outer{
    width:80% !important;
    max-width:80% !important;
  }

  .lud-pp-editorial{
    grid-template-columns:1fr;
    width:calc(100% - 20px);
    gap:10px;
    margin:18px auto 24px;
  }

  .lud-pp-editorial__card{
    padding:17px;
    border-radius:14px;
  }

  .lud-pp-editorial h2{
    font-size:23px!important;
  }
}

@media(max-width:420px){
  .lud-pp-facts{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   V1.6.1 — FAVORIS : UN SEUL CŒUR + ALIGNEMENT PANIER
   ========================================================== */

/* Ne jamais ajouter de cœur supplémentaire via Premium. */
body.single-product .summary .lud-pp-favorite-link::before,
body.single-product .summary .yith-wcwl-add-to-wishlist a::before,
body.single-product .summary a.tinvwl_add_to_wishlist_button::before,
body.single-product .summary button.tinvwl_add_to_wishlist_button::before {
  content:none !important;
  display:none !important;
}

/* Supprime uniquement l'ancien cœur injecté par les anciennes versions Premium. */
body.single-product .summary .lud-pp-heart {
  display:none !important;
}

/* Le bouton Favoris doit avoir la même hauteur visuelle que Ajouter au panier. */
body.single-product .summary .lud-pp-favorite-link,
body.single-product .summary .yith-wcwl-add-to-wishlist a,
body.single-product .summary a.tinvwl_add_to_wishlist_button,
body.single-product .summary button.tinvwl_add_to_wishlist_button {
  min-height:34px !important;
  height:34px !important;
  padding:0 11px !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

/* Les wrappers favoris ne doivent plus ajouter de décalage vertical. */
body.single-product .summary .yith-wcwl-add-to-wishlist,
body.single-product .summary .tinv-wraper,
body.single-product .summary .lud-pp-favorite-wrap {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 0 6px !important;
  padding:0 !important;
  vertical-align:middle !important;
  line-height:1 !important;
}

/* Si Fiche Produit DA place panier + favoris dans la même ligne,
   on force l'alignement central sans modifier sa structure. */
body.single-product .summary form.cart,
body.single-product .summary form.cart + .yith-wcwl-add-to-wishlist,
body.single-product .summary form.cart + .tinv-wraper {
  vertical-align:middle !important;
}

/* Mobile : zone tactile légèrement plus grande. */
@media (max-width:767px) {
  body.single-product .summary .lud-pp-favorite-link,
  body.single-product .summary .yith-wcwl-add-to-wishlist a,
  body.single-product .summary a.tinvwl_add_to_wishlist_button,
  body.single-product .summary button.tinvwl_add_to_wishlist_button {
    min-height:36px !important;
    height:36px !important;
    padding:0 10px !important;
  }
}


/* ==========================================================
   V1.6.2 — FAVORIS : UN SEUL CŒUR CREUX
   ========================================================== */

/* Le cœur Premium est visible et propre. */
body.single-product .summary .lud-pp-favorite-link .lud-pp-heart {
  display:inline-block !important;
  flex:0 0 auto;
  margin:0 1px 0 0 !important;
  color:var(--lud-pp-red) !important;
  font-size:17px !important;
  font-weight:400 !important;
  line-height:1 !important;
  transform:translateY(-1px);
}

/* Neutralise les pseudo-icônes natives courantes pour éviter le double cœur. */
body.single-product .summary .lud-pp-favorite-link::before,
body.single-product .summary .yith-wcwl-add-to-wishlist a.lud-pp-favorite-link::before,
body.single-product .summary a.tinvwl_add_to_wishlist_button.lud-pp-favorite-link::before,
body.single-product .summary button.tinvwl_add_to_wishlist_button.lud-pp-favorite-link::before {
  content:none !important;
  display:none !important;
}

/* Masque uniquement les icônes natives intégrées directement dans le bouton. */
body.single-product .summary .lud-pp-favorite-link > i,
body.single-product .summary .lud-pp-favorite-link > svg,
body.single-product .summary .lud-pp-favorite-link > .yith-wcwl-icon,
body.single-product .summary .lud-pp-favorite-link > .tinvwl-icon-heart,
body.single-product .summary .lud-pp-favorite-link > [class*="wishlist-icon"],
body.single-product .summary .lud-pp-favorite-link > [class*="heart"]:not(.lud-pp-heart) {
  display:none !important;
}

/* Alignement conservé avec Ajouter au panier. */
body.single-product .summary .lud-pp-favorite-link,
body.single-product .summary .yith-wcwl-add-to-wishlist a.lud-pp-favorite-link,
body.single-product .summary a.tinvwl_add_to_wishlist_button.lud-pp-favorite-link,
body.single-product .summary button.tinvwl_add_to_wishlist_button.lud-pp-favorite-link {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 11px !important;
  margin:0 !important;
  vertical-align:middle !important;
  box-sizing:border-box !important;
}

@media (max-width:767px) {
  body.single-product .summary .lud-pp-favorite-link {
    min-height:36px !important;
    height:36px !important;
  }
}


/* ==========================================================
   V1.6.3 — ÉTAT FAVORIS FRANÇAIS + CŒUR DYNAMIQUE
   ========================================================== */

body.single-product .summary .lud-pp-favorite-link .lud-pp-heart {
  display:inline-block !important;
  flex:0 0 auto;
  margin:0 1px 0 0 !important;
  font-size:18px !important;
  line-height:1 !important;
  transform:translateY(-1px);
  color:var(--lud-pp-red) !important;
}

/* Hors favoris : cœur creux. */
body.single-product .summary .lud-pp-favorite-link:not(.is-active) .lud-pp-heart {
  font-weight:400 !important;
}

/* Dans les favoris : cœur plein + fond légèrement renforcé. */
body.single-product .summary .lud-pp-favorite-link.is-active {
  background:#FFE7EB !important;
  border-color:#DD8796 !important;
  color:#B71926 !important;
}

body.single-product .summary .lud-pp-favorite-link.is-active .lud-pp-heart {
  color:#D72626 !important;
  font-weight:700 !important;
}

/* Neutralise les icônes natives qui pourraient réapparaître après AJAX. */
body.single-product .summary .lud-pp-favorite-link::before,
body.single-product .summary .lud-pp-favorite-link > i,
body.single-product .summary .lud-pp-favorite-link > svg,
body.single-product .summary .lud-pp-favorite-link > .yith-wcwl-icon,
body.single-product .summary .lud-pp-favorite-link > .tinvwl-icon-heart,
body.single-product .summary .lud-pp-favorite-link > [class*="wishlist-icon"],
body.single-product .summary .lud-pp-favorite-link > [class*="heart"]:not(.lud-pp-heart) {
  display:none !important;
}


/* ==========================================================
   V1.6.4 — TRANSITION ÉTAT FAVORIS
   ========================================================== */
body.single-product .summary .lud-pp-favorite-link {
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease !important;
}


/* ==========================================================
   V1.9.2 — MOBILE CTA FIX
   Corrige l'affichage téléphone de la zone quantité / panier / favoris
   sans toucher au desktop.
   ========================================================== */
@media (max-width: 767px) {
  body.single-product .summary form.cart {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    grid-auto-rows: minmax(38px, auto) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 10px 0 8px !important;
    align-items: stretch !important;
  }

  body.single-product .summary form.cart::after,
  body.single-product .summary form.cart::before {
    display: none !important;
    content: none !important;
  }

  body.single-product .summary form.cart .quantity {
    grid-column: 1 !important;
    width: 58px !important;
    min-width: 58px !important;
    margin: 0 !important;
  }

  body.single-product .summary form.cart .quantity .qty,
  body.single-product .summary form.cart input.qty {
    width: 100% !important;
    min-width: 58px !important;
    height: 38px !important;
    padding: 0 4px !important;
    text-align: center !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  body.single-product .summary form.cart .single_add_to_cart_button,
  body.single-product .summary form.cart button.single_add_to_cart_button,
  body.single-product .summary form.cart .button.alt {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body.single-product .summary .yith-wcwl-add-to-wishlist,
  body.single-product .summary .tinv-wraper,
  body.single-product .summary .lud-pp-favorite-wrap,
  body.single-product .summary form.cart + .yith-wcwl-add-to-wishlist,
  body.single-product .summary form.cart + .tinv-wraper,
  body.single-product .summary form.cart + .lud-pp-favorite-wrap {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  body.single-product .summary .lud-pp-favorite-link,
  body.single-product .summary .yith-wcwl-add-to-wishlist a,
  body.single-product .summary a.tinvwl_add_to_wishlist_button,
  body.single-product .summary button.tinvwl_add_to_wishlist_button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  /* Laisse respirer le bloc sous les CTA. */
  body.single-product .summary .lud-pp-trust {
    margin-top: 10px !important;
  }
}


/* ==========================================================
   V1.9.3 — MOBILE FAVORIS FIX
   Corrige le rendu téléphone du lien Ajouter aux favoris
   pour qu'il prenne visuellement la même place qu'un vrai bouton.
   ========================================================== */
@media (max-width: 767px) {
  body.single-product .summary .lud-pp-favorite-wrap,
  body.single-product .summary .yith-wcwl-add-to-wishlist,
  body.single-product .summary .tinv-wraper,
  body.single-product .summary .tinv-wishlist,
  body.single-product .summary [class*="wishlist"] {
    width: 100% !important;
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }

  body.single-product .summary .lud-pp-favorite-link,
  body.single-product .summary .yith-wcwl-add-to-wishlist a,
  body.single-product .summary a.tinvwl_add_to_wishlist_button,
  body.single-product .summary button.tinvwl_add_to_wishlist_button,
  body.single-product .summary a[aria-label*="favoris" i],
  body.single-product .summary a[title*="favoris" i],
  body.single-product .summary a[href*="wishlist" i],
  body.single-product .summary button[aria-label*="favoris" i],
  body.single-product .summary button[title*="favoris" i] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #EFBFC7 !important;
    border-radius: 8px !important;
    background: #FFF8F9 !important;
    color: var(--lud-pp-red) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  body.single-product .summary .lud-pp-favorite-label,
  body.single-product .summary .yith-wcwl-add-to-wishlist a span,
  body.single-product .summary a.tinvwl_add_to_wishlist_button span,
  body.single-product .summary button.tinvwl_add_to_wishlist_button span {
    display: inline-block !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    color: inherit !important;
  }

  body.single-product .summary .lud-pp-favorite-link .lud-pp-heart {
    display: inline-block !important;
    font-size: 16px !important;
    margin-right: 6px !important;
    transform: none !important;
  }
}


/* ==========================================================
   V1.9.4 — MOBILE FAVORIS : WRAPPER RÉEL DANS FORM.CART
   DOM constaté :
   form.cart > .quantity
   form.cart > .single_add_to_cart_button
   form.cart > .tinv-wraper.tinv-wishlist
   ========================================================== */
@media (max-width: 767px) {
  /* Le vrai wrapper TI Wishlist occupe toute la 2e ligne de la grille. */
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist,
  body.single-product .summary form.cart > .tinv-wraper.woocommerce.tinv-wishlist,
  body.single-product .summary form.cart > .tinvwl-after-add-to-cart {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
  }

  /* Le contrôle TI Wishlist lui-même devient un vrai CTA pleine largeur. */
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .tinvwl_add_to_wishlist_button,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist [data-tinv-wl-action],
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist > a,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist a,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist button,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .lud-pp-favorite-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #EFBFC7 !important;
    border-radius: 8px !important;
    background: #FFF8F9 !important;
    color: var(--lud-pp-red) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  /* Texte TI Wishlist : ne doit plus rester à sa taille native minuscule. */
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .tinvwl_add_to_wishlist-text,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .lud-pp-favorite-label {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .lud-pp-heart {
    display: inline-block !important;
    margin: 0 6px 0 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist .lud-pp-favorite-link:hover,
  body.single-product .summary form.cart > .tinv-wraper.tinv-wishlist [data-tinv-wl-action]:hover {
    background: #FFF0F2 !important;
    border-color: #E39AA6 !important;
  }
}


/* ==========================================================
   V1.9.5 — FAVORIS : TOUT LE BLOC VISIBLE EST CLICABLE
   ========================================================== */
/* Wrapper Favoris : il doit toujours prendre toute la largeur visuelle. */
body.single-product .summary .tinv-wraper.tinv-wishlist,
body.single-product .summary .tinv-wraper.woocommerce.tinv-wishlist,
body.single-product .summary .tinvwl-after-add-to-cart,
body.single-product .summary .yith-wcwl-add-to-wishlist,
body.single-product .summary .lud-pp-favorite-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Tous les sous-wrappers TI/YITH doivent aussi s'étirer. */
body.single-product .summary .tinv-wraper.tinv-wishlist > div,
body.single-product .summary .tinv-wraper.tinv-wishlist > span,
body.single-product .summary .tinv-wraper.tinv-wishlist > p,
body.single-product .summary .tinv-wraper.tinv-wishlist > ul,
body.single-product .summary .tinv-wraper.tinv-wishlist > li,
body.single-product .summary .tinv-wraper.tinv-wishlist .tinvwl_add_to_wishlist_button,
body.single-product .summary .tinv-wraper.tinv-wishlist [data-tinv-wl-action],
body.single-product .summary .tinv-wraper.tinv-wishlist a,
body.single-product .summary .tinv-wraper.tinv-wishlist button,
body.single-product .summary .tinv-wraper.tinv-wishlist .lud-pp-favorite-link,
body.single-product .summary .yith-wcwl-add-to-wishlist a,
body.single-product .summary .lud-pp-favorite-link {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Le vrai contrôle clickable doit couvrir toute la zone visible. */
body.single-product .summary .tinv-wraper.tinv-wishlist .tinvwl_add_to_wishlist_button,
body.single-product .summary .tinv-wraper.tinv-wishlist [data-tinv-wl-action],
body.single-product .summary .tinv-wraper.tinv-wishlist a,
body.single-product .summary .tinv-wraper.tinv-wishlist button,
body.single-product .summary .lud-pp-favorite-link,
body.single-product .summary .yith-wcwl-add-to-wishlist a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  position: relative !important;
  z-index: 2 !important;
  cursor: pointer !important;
}

/* Les morceaux internes ne bloquent plus le clic. */
body.single-product .summary .lud-pp-favorite-link > *,
body.single-product .summary .tinv-wraper.tinv-wishlist a > *,
body.single-product .summary .tinv-wraper.tinv-wishlist button > * {
  pointer-events: none !important;
}
