/* === CLOUDY VAPE — FAVORIS === */

/* Bouton coeur sur les cartes produits (boucles WooCommerce + Elementor) */
ul.products li.product,
.products li.product,
.elementor-loop-item,
li.product { position: relative; }

.cv-fav-btn{
  position:absolute; top:10px; right:10px; z-index:6;
  width:38px; height:38px; padding:0; border:none; border-radius:50%;
  background:rgba(255,255,255,.94); box-shadow:0 4px 14px rgba(35,37,81,.20);
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
}
.cv-fav-btn svg{ width:20px; height:20px; fill:none; stroke:#9aa0b5; stroke-width:2;
  transition:fill .2s ease, stroke .2s ease, transform .2s ease; }
.cv-fav-btn:hover{ background:#fff; }
.cv-fav-btn:active{ transform:scale(.92); }
.cv-fav-btn.is-fav svg{ fill:#ff5b8a; stroke:#ff5b8a; }
.cv-fav-btn.cv-pop{ transform:scale(1.28); }
.cv-fav-btn[data-busy]{ opacity:.7; }

/* Coeur dans la barre de la fiche produit (mobile app) */
body.single-product .cv-pdp-fav.cv-fav-btn{
  position:static; width:30px; height:30px; background:transparent; box-shadow:none; flex:0 0 auto;
}
body.single-product .cv-pdp-fav.cv-fav-btn svg{ width:24px; height:24px; stroke:#fff; }
body.single-product .cv-pdp-fav.cv-fav-btn.is-fav svg{ fill:#ff6b9d; stroke:#ff6b9d; }

/* Badge favoris dans la tab bar (reutilise .cv-tab-badge existant) */
.cv-fav-badge:empty{ display:none; }

/* === PAGE FAVORIS === */
.cv-fav-page{ padding:4px 0 30px; }
.cv-fav-empty{ text-align:center; padding:46px 20px 30px; }
.cv-fav-empty-ic svg{ width:62px; height:62px; fill:none; stroke:#cfd2e3; stroke-width:1.5; }
.cv-fav-empty h3{ font-family:Poppins,sans-serif; font-weight:700; color:#232551; margin:16px 0 6px; font-size:19px; }
.cv-fav-empty p{ color:#6b7088; margin:0 0 22px; font-size:14px; }
.cv-fav-shop-btn{ display:inline-block; background:#FBB830; color:#232551; font-family:Poppins,sans-serif;
  font-weight:800; text-decoration:none; padding:13px 24px; border-radius:14px;
  box-shadow:0 8px 22px rgba(251,184,48,.3); }

.cv-fav-grid.products{ margin:0 !important; }
.cv-fav-grid li.product.cv-removing{ opacity:0; transform:scale(.92); transition:opacity .25s ease, transform .25s ease; }
