/* Ludorum — notification favoris v1.3.0 */
.lud-fav-toast {
  position: fixed;
  z-index: 999999;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: calc(100vw - 20px);
  padding: 8px 13px;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  background: rgba(7, 26, 51, .96);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(7, 26, 51, .22), 0 2px 5px rgba(7, 26, 51, .12);
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-10px, -50%, 0) scale(.96);
  animation: lud-fav-travel 1.7s cubic-bezier(.22, .8, .25, 1) forwards;
}
.lud-fav-toast__icon { display:inline-flex; align-items:center; justify-content:center; color:#e12d36; font-size:17px; line-height:1; }
.lud-fav-toast.is-remove { color:#071a33; background:rgba(255,255,255,.98); border-color:rgba(7,26,51,.14); }
@keyframes lud-fav-travel {
  0% { opacity:0; transform:translate3d(-10px,-50%,0) scale(.96); }
  15% { opacity:1; transform:translate3d(0,-50%,0) scale(1); }
  70% { opacity:1; transform:translate3d(12px,-50%,0) scale(1); }
  100% { opacity:0; transform:translate3d(35px,-50%,0) scale(.98); }
}
@media (max-width:767px) { .lud-fav-toast { padding:7px 11px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { .lud-fav-toast { animation-duration:1.2s; transform:translateY(-50%); } }

/* ==========================================================
   LUDORUM — CŒUR FAVORIS ACTIF ROUGE v1.3.2
   Intégré à l'extension principale Favoris.
   - bulle / bouton transparent
   - cœur rouge uniquement quand le produit est en favoris
   ========================================================== */

/* Le conteneur du cœur ne doit jamais devenir rouge/noir. */
html body .tinv-wraper,
html body .tinv-wraper.tinv-wishlist,
html body .tinv-wraper .tinvwl_add_to_wishlist_button,
html body .tinv-wraper .tinvwl_add_to_wishlist_button:hover,
html body .tinv-wraper .tinvwl_add_to_wishlist_button:focus,
html body .tinv-wraper .tinvwl_add_to_wishlist_button:active,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:focus,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:active {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Neutralise les anciens disques colorés générés par pseudo-élément. */
html body .tinv-wraper .tinvwl_add_to_wishlist_button::after,
html body .tinv-wraper .tinvwl_add_to_wishlist_button:hover::after,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::after,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Cœur ACTIF = rouge Ludorum. */
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::before,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:focus::before,
html body .tinv-wraper .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:active::before,
html body .woocommerce .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
html body .woocommerce .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::before {
    color: #d4242a !important;
    -webkit-text-fill-color: #d4242a !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

/* Compatibilité avec les variantes de markup TI Wishlist / thème. */
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl-icon-heart,
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl-icon-heart::before,
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list i,
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list i::before,
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list span[class*="heart"],
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list span[class*="heart"]::before {
    color: #d4242a !important;
    -webkit-text-fill-color: #d4242a !important;
}

/* Cas où l'icône est un SVG. */
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list svg,
html body .tinvwl_add_to_wishlist_button.tinvwl-product-in-list svg path {
    fill: #d4242a !important;
    stroke: #d4242a !important;
}

/* État non actif : on garde simplement la bulle transparente. */
html body .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Sécurité supplémentaire dans les grilles WooCommerce. */
html body .woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
html body .woocommerce-page ul.products li.product
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

