/*************************************************
 * COUPS DE COEUR — STYLE COMPACT CENTRÉ
 *************************************************/


/* Conteneur cœur superposé */
.wcc-heart-on-image {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
}

/* Conteneur image : assure le positionnement */
.product img,
.woocommerce-product-gallery__wrapper,
.woocommerce-loop-product__link {
    position: relative !important;
}


/* Icône cœur */
.wcc-heart {
    cursor: pointer;
    font-size: 24px;
    color: #000000; 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease;
}

/* Survol : devient cœur plein rose */
.wcc-heart:hover {
    color: #000000;
}

/* Favori : cœur plein rose */
.wcc-heart.wcc-is-fav {
    color: #000000;
}

/* Empêche les clics fantômes sur l'icône interne */
.wcc-heart i {
    pointer-events: none;
}


.wcc-heart-wrapper {
    text-align: center;
    margin: 10px 0;
}

/*************************************************
 * LISTE FAVORIS (privée + publique)
 *************************************************/

.wcc-fav-list,
.wcc-public-fav-list {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 15px;
    box-sizing: border-box;
    text-align: center;
}

.wcc-fav-list h2,
.wcc-public-fav-list h2 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 25px;
    text-align: center;
}

/* Liste en mode LIGNE (compact) */
.wcc-fav-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Chaque ligne */
.wcc-fav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 12px 10px;
    border-bottom: 1px solid #eee;
    background: #fff;
    text-align: center;
}

/* Miniature produit */
.wcc-fav-thumb img {
    width: 70px;
    height: auto;
    border-radius: 4px;
    display: block;
    margin: 0 auto;
}

/* Texte centré */
.wcc-fav-info {
    flex: 1;
}

.wcc-fav-info a {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    text-decoration: none;
}

.wcc-fav-info a:hover {
    color: #000000;
}

/* Lien partageable */
.wcc-fav-list p {
    font-size: 14px;
    margin-top: 25px;
    text-align: center;
}

.wcc-fav-list p a {
    color: #000000;
    font-weight: 600;
    word-break: break-all;
    text-decoration: underline;
}

/*************************************************
 * FORMULAIRE EMAIL
 *************************************************/

.wcc-fav-list h3 {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 20px;
    text-align: center;
}

.wcc-fav-list form {
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.wcc-fav-list input[type="email"] {
    flex: 1 1 220px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.wcc-fav-list button[type="submit"] {
    padding: 10px 16px;
    background: #000000;
    border: none;
    color: #fff;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
}

.wcc-fav-list button[type="submit"]:hover {
    background: #000000;
}

/*************************************************
 * Responsive
 *************************************************/

@media (max-width: 600px) {
    .wcc-fav-item {
        flex-direction: column;
        text-align: center;
    }

    .wcc-fav-thumb img {
        width: 60px;
    }
}



/*************************************************
 * MODAL FAVORIS
 *************************************************/
#wcc-fav-modal {
    display: none; /* initial */
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.45);
    justify-content: center;
    align-items: center;
}

#wcc-fav-modal .wcc-fav-modal-content {
    background: #fff;
    padding: 25px 30px;
    border-radius: 8px;
    text-align: center;
    max-width: 300px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

#wcc-fav-modal p {
    font-size: 16px;
    margin-bottom: 15px;
}

#wcc-fav-modal .wcc-fav-btn {
    display: inline-block;
    padding: 8px 16px;
    background: #000000;
    color: #fff !important;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
}

#wcc-fav-modal .wcc-fav-btn:hover {
    background: #000000;
}



/* Désactive le zoom Divi / WooCommerce */
.woocommerce-product-gallery__trigger,
.zoomImg {
    display: none !important;
}

.woocommerce-product-gallery__image img {
    transform: none !important;
    transition: none !important;
    cursor: default !important;
}


.wcc-mail-message { margin-bottom: 15px; }

.wcc-success, .wcc-error {
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 10px;
}

.wcc-success {
    background: #d7f7d7;
    border-left: 4px solid #2e8b2e;
}

.wcc-error {
    background: #ffe1e1;
    border-left: 4px solid #cc0000;
}

form input[type="text"],
form input[type="email"] {
    width: 100%;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
}


.wcc-remove-fav{
  cursor:pointer;
  font-size:22px;
  line-height:1;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  user-select:none;
  opacity:.75;
}

.wcc-remove-fav:hover{
  opacity:1;
  color: #cc0000;
}




.wcc-remove-fav{
  cursor:pointer;
  font-size:20px;
  line-height:1;
  padding:8px 10px;
  border-radius:999px;
}
.wcc-remove-fav:hover{ background:#f2f2f2; }

#wcc-login-modal, #wcc-fav-modal{
  position:fixed; inset:0;
  display:none;
  align-items:center; justify-content:center;
  background:rgba(0,0,0,.45);
  z-index:999999;
}
.wcc-login-modal-content, .wcc-fav-modal-content{
  background:#fff;
  padding:18px 18px;
  border-radius:12px;
  max-width:480px;
  width:92%;
  text-align:center;
}
.wcc-login-btn{
  display:inline-block;
  padding:10px 16px;
  background:#000;
  color:#fff;
  border-radius:8px;
  text-decoration:none;
  margin-top:10px;
}

/* Popin structure */
#wcc-login-modal, #wcc-fav-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45);
  z-index:999999;
}

.wcc-login-modal-content,
.wcc-fav-modal-content{
  position:relative; /* important pour positionner la croix */
  background:#fff;
  padding:30px 22px 25px;
  border-radius:14px;
  max-width:480px;
  width:92%;
  text-align:center;
}

/* CROIX EN HAUT */
.wcc-login-close{
  position:absolute;
  top:12px;
  right:14px;
  background:none;
  border:0;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  color:#999;
  transition:.2s ease;
  padding:0;
}

.wcc-login-close:hover{
  color:#000;
}


.wcc-login-required-box{
  padding:18px;
  border:1px solid #eee;
  border-radius:12px;
  background:#fafafa;
  text-align:center;
}