/* ========================================================================
   STYLE GLOBAL PRODUITS WOOCOMMERCE
   Ce fichier s'applique sur TOUTES les pages WooCommerce
   (shop, catégories, page produit, produits similaires, upsells, etc.)
   ======================================================================== */

/* ========================================================================
   GRILLE PRODUITS - Séparation visuelle entre produits
   ======================================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products,
.related.products ul.products,
.upsells.products ul.products,
.cross-sells ul.products {
  gap: 14px !important;
  row-gap: 14px !important;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products {
    gap: 4px !important;
    row-gap: 2px !important;
  }
}

/* --------- Style des produits WooCommerce --------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.related.products ul.products li.product,
.upsells.products ul.products li.product,
.cross-sells ul.products li.product {
  background: #fff;
  /* BORDURE VISIBLE - épaisseur 2px */
  border: 2px solid rgba(0, 0, 0, 0.10) !important;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  
  /* OMBRE PORTÉE MARQUÉE pour bien séparer les articles */
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.12),
    0 3px 8px rgba(0, 0, 0, 0.08),
    0 1px 3px rgba(0, 0, 0, 0.06) !important;
  
  transition:
    transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.3s ease;
}

/* ========================================================================
   CACHER LE BOUTON PANIER HOVER SUR L'IMAGE (Astra on-card button)
   ======================================================================== */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-select-options-trigger,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap .ast-select-options-trigger,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-quick-view-trigger,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap .ast-quick-view-trigger {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ========================================================================
   BORDURE EN HAUT - Espace entre l'image et le bord du conteneur
   ======================================================================== */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
  padding-top: 10px;
  background: #fff;
  position: relative;
}

/* Petite ligne décorative subtile en bas - discrète */
.woocommerce ul.products li.product::after,
.woocommerce-page ul.products li.product::after,
.related.products ul.products li.product::after,
.upsells.products ul.products li.product::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 107, 107, 0.4), transparent);
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.3s ease, width 0.3s ease;
  z-index: 5;
}

.woocommerce ul.products li.product:hover::after,
.woocommerce-page ul.products li.product:hover::after,
.related.products ul.products li.product:hover::after,
.upsells.products ul.products li.product:hover::after {
  opacity: 1;
  width: 60%;
}

/* Animation au survol */
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.related.products ul.products li.product:hover,
.upsells.products ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow:
    0 20px 45px rgba(0, 0, 0, 0.16),
    0 10px 20px rgba(0, 0, 0, 0.10),
    0 4px 8px rgba(0, 0, 0, 0.06) !important;
  border-color: rgba(255, 107, 107, 0.35) !important;
}

/* Image du produit */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.related.products ul.products li.product a img,
.upsells.products ul.products li.product a img {
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	object-fit: cover;
	aspect-ratio: 1/1;
	background: #fff;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img,
.related.products ul.products li.product:hover a img,
.upsells.products ul.products li.product:hover a img {
  transform: scale(1.05);
}

/* ========================================================================
   DESKTOP: Alignement des produits (boutons au même niveau en bas)
   ======================================================================== */
@media (min-width: 1025px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .related.products ul.products li.product,
  .upsells.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
  }
  
  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    flex-shrink: 0;
  }
  
  .woocommerce ul.products li.product .astra-shop-summary-wrap,
  .woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Titre pousse tout vers le bas */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2,
  .woocommerce-page ul.products li.product h2 {
    flex-grow: 1;
  }
  
  /* Prix, quantité, bouton et cœur restent en bas */
  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    margin-top: auto;
  }
}

/* ========================================================================
   Titre du produit - Police Montserrat
   ======================================================================== */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2,
.related.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  padding: 12px 14px 8px;
  margin: 0;
  transition: color 0.2s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover h2,
.woocommerce-page ul.products li.product:hover h2 {
  color: #FF5959;
}

/* ========================================================================
   Prix du produit - CENTRÉ
   ======================================================================== */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.related.products ul.products li.product .price,
.upsells.products ul.products li.product .price {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 0 14px 12px;
  text-align: center !important;
  display: block !important;
  width: 100%;
}

/* ========================================================================
   SUMMARY WRAP - Flexbox pour aligner boutons en bas
   ======================================================================== */
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  align-items: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Le lien titre prend l'espace disponible pour pousser le reste en bas */
.woocommerce ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap > a.ast-loop-product__link {
  width: 100%;
}

/* ========================================================================
   SÉLECTEUR QUANTITÉ - Catalogue shop (style corail rond comme fiche produit)
   ======================================================================== */
.lef-shop-qty-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 4px auto 10px auto;
  width: fit-content;
}

.lef-shop-qty-btn {
  background: linear-gradient(135deg, #FF6B6B 0%, #FF5252 100%) !important;
  border: none !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
  line-height: 1;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3) !important;
}

.lef-shop-qty-btn:hover {
  background: linear-gradient(135deg, #FF5252 0%, #e04545 100%) !important;
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4) !important;
}

.lef-shop-qty-btn:active {
  transform: scale(0.95);
}

.lef-shop-qty-input {
  width: 36px !important;
  height: 30px;
  text-align: center;
  border: 2px solid #E8E8F0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #4A4A68;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield;
  box-shadow: none !important;
  outline: none !important;
}

.lef-shop-qty-input::-webkit-inner-spin-button,
.lef-shop-qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ========================================================================
   BOUTON + CŒUR WISHLIST - Sur la MÊME LIGNE en bas
   ======================================================================== */

/* Wrapper qui contient bouton Ajouter + cœur wishlist */
.lef-shop-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100%;
  padding: 0 14px;
  margin-bottom: 14px !important;
  box-sizing: border-box;
}

/* Le bouton "Ajouter" dans le wrapper - reset margin */
.lef-shop-actions > a.button,
.lef-shop-actions > a.add_to_cart_button,
.lef-shop-actions > a.product_type_bundle,
.lef-shop-actions > a.product_type_variable {
  margin: 0 !important;
  flex-shrink: 0;
}

/* Container wishlist cœur sur catalogue */
.lef-shop-wishlist-heart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}

/* Reset padding TI Wishlist wraper */
.lef-shop-wishlist-heart .tinv-wraper {
  padding: 0 !important;
  margin: 0 !important;
}

/* Style du bouton wishlist cœur sur catalogue */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button {
  background: transparent !important;
  border: 2px solid #C4C4D4 !important;
  color: #7A7A96 !important;
  width: 41px !important;
  height: 41px !important;
  min-width: 41px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  cursor: pointer;
  position: relative;
  box-shadow: none !important;
}

/* Cacher le texte du bouton wishlist */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist-text {
  display: none !important;
}

/* CACHER l'icône font du plugin TI (tinvwl-icon-heart ajoute un ::before avec une font-icon) */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-position-before::before {
  content: none !important;
  display: none !important;
}

/* Notre icône cœur SVG via ::after (on utilise after car TI utilise before) */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A7A96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Cacher l'icône par défaut du plugin si elle existe */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button > .tinvwl-icon,
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button > i,
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button > img,
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button > svg {
  display: none !important;
}

/* Cacher aussi les éléments TI superflus dans le heart wrapper */
.lef-shop-wishlist-heart .tinv-wishlist-clear,
.lef-shop-wishlist-heart .tinvwl-tooltip,
.lef-shop-wishlist-heart .tinvwl_add_to_select_wishlist {
  display: none !important;
}

/* Hover du cœur */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button:hover {
  border-color: #FF6B6B !important;
  background: #FFF0F0 !important;
  transform: scale(1.1);
}

.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}

/* Cœur rempli quand produit dans la wishlist */
.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
  border-color: #FF6B6B !important;
  background: #FFE8E8 !important;
}

.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before {
  content: none !important;
  display: none !important;
}

.lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF6B6B' stroke='%23FF6B6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}

/* ========================================================================
   CŒUR WISHLIST DANS L'IMAGE (mobile) — positionné en haut à droite
   ======================================================================== */
.lef-heart-in-image {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 5 !important;
}

.lef-heart-in-image .tinvwl_add_to_wishlist_button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1.5px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

.lef-heart-in-image .tinvwl_add_to_wishlist_button:hover {
  background: #fff !important;
  border-color: #FF6B6B !important;
  transform: scale(1.15) !important;
}

.lef-heart-in-image .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
  background: #FFE8E8 !important;
  border-color: #FF6B6B !important;
}

.lef-heart-in-image .tinvwl_add_to_wishlist_button::after {
  width: 16px !important;
  height: 16px !important;
}

/* ========================================================================
   "À partir de" pour les bundles - COULEUR PERSONNALISABLE ICI
   ======================================================================== */
.woocommerce ul.products li.product .price .woocommerce-price-suffix,
.woocommerce-page ul.products li.product .price .woocommerce-price-suffix,
.woocommerce ul.products li.product .price > span:first-child:not(.woocommerce-Price-amount),
.woocommerce-page ul.products li.product .price > span:first-child:not(.woocommerce-Price-amount),
.woocommerce ul.products li.product .price .from,
.woocommerce-page ul.products li.product .price .from,
.woocommerce .price ins .from,
.woocommerce .price .from,
.woocommerce span.from {
  color: #FF5959 !important; /* <- COULEUR "À PARTIR DE" */
  font-weight: 600 !important;
  font-size: 0.85em;
  opacity: 1 !important;
}

/* ========================================================================
   BOUTON AJOUTER AU PANIER - Style élégant et raffiné
   ======================================================================== */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce-page ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable,
.woocommerce-page ul.products li.product a.product_type_variable,
.woocommerce ul.products li.product a.product_type_bundle,
.woocommerce-page ul.products li.product a.product_type_bundle,
.related.products ul.products li.product .button,
.upsells.products ul.products li.product .button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.3px;
  
  /* Taille compacte et élégante */
  padding: 10px 24px !important;
  margin: 0 !important;
  
  /* Style arrondi élégant */
  border-radius: 25px !important;
  
  /* Couleurs */
  background: linear-gradient(135deg, #FF6B6B 0%, #FF5252 100%) !important;
  color: #fff !important;
  border: none !important;
  
  /* Ombre subtile */
  box-shadow: 
    0 4px 15px rgba(255, 107, 107, 0.35),
    0 2px 6px rgba(0, 0, 0, 0.1) !important;
  
  /* Centrage */
  display: inline-block !important;
  text-align: center !important;
  text-decoration: none !important;
  
  /* Animation fluide */
  transition:
    transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.25s ease,
    background 0.25s ease !important;
  
  cursor: pointer;
}

/* Hover du bouton */
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce-page ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.product_type_variable:hover,
.woocommerce-page ul.products li.product a.product_type_variable:hover,
.related.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .button:hover {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 
    0 8px 25px rgba(255, 107, 107, 0.45),
    0 4px 10px rgba(0, 0, 0, 0.15) !important;
  background: linear-gradient(135deg, #FF5252 0%, #e04545 100%) !important;
}

/* Active/Click */
.woocommerce ul.products li.product .button:active,
.woocommerce-page ul.products li.product .button:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Badge promo */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

/* ========================================================================
   MOBILE: Contenu centré dans les produits + bouton centré
   ======================================================================== */
@media (max-width: 1024px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .related.products ul.products li.product,
  .upsells.products ul.products li.product {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  
  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    width: 100%;
  }
  
  .woocommerce ul.products li.product .astra-shop-summary-wrap,
  .woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    width: 100%;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2,
  .woocommerce-page ul.products li.product h2 {
    text-align: center !important;
    width: 100%;
    flex-grow: 1;
  }
  
  /* Prix mobile - légèrement plus grand */
  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    text-align: center !important;
    display: block !important;
    width: 100%;
    font-size: 15px;
    margin-top: auto;
  }
  
  /* Actions (bouton seul en bas sur mobile, cœur dans l'image) */
  .lef-shop-actions {
    gap: 6px !important;
    padding: 0 10px;
    margin-top: auto !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Forcer le centrage malgré les classes Astra tablet/mobile-align */
  .woocommerce ul.products li.product[class*="tablet-align-"],
  .woocommerce ul.products li.product[class*="mobile-align-"] {
    text-align: center !important;
    align-items: center !important;
  }
  
  /* Centrer tout le contenu du summary sur mobile */
  .woocommerce ul.products li.product .astra-shop-summary-wrap,
  .woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    align-items: center !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .lef-shop-qty-wrap {
    justify-content: center !important;
  }
  
  /* BOUTON MOBILE - plus large (le cœur est dans l'image sur mobile) */
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce-page ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product a.product_type_variable,
  .woocommerce-page ul.products li.product a.product_type_variable,
  .woocommerce ul.products li.product a.product_type_bundle,
  .woocommerce-page ul.products li.product a.product_type_bundle {
    display: inline-block !important;
    width: auto !important;
    min-width: 80px;
    max-width: 85%;
    margin: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
    padding: 8px 16px !important;
  }
  
  /* Cacher le cœur dans les actions sur mobile (il est dans l'image via JS, ou caché) */
  .lef-shop-actions .lef-shop-wishlist-heart {
    display: none !important;
  }
  
  /* Cœur wishlist overlay dans l'image sur mobile (si pas déplacé par JS, on le positionne via CSS) */
  .astra-shop-thumbnail-wrap .lef-shop-wishlist-heart.lef-heart-in-image {
    display: flex !important;
  }
  
  /* Quantité sur mobile */
  .lef-shop-qty-wrap {
    margin: 4px auto 6px auto;
    gap: 6px;
  }
  
  .lef-shop-qty-btn {
    width: 26px;
    height: 26px;
    min-width: 28px;
    font-size: 14px;
  }
  
  .lef-shop-qty-input {
    width: 38px !important;
    height: 30px;
    font-size: 14px;
  }
  
  /* Cœur mobile */
  .lef-shop-wishlist-heart .tinvwl_add_to_wishlist_button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }
  
  /* Bordure haut image mobile */
  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    padding-top: 8px;
  }
}

/* ========================================================================
   Responsive
   ======================================================================== */
@media (max-width: 768px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    border-radius: 12px;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px;
    padding: 10px 10px 6px;
  }
  
  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    padding: 0 10px 10px;
  }
  
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 16px !important;
    row-gap: 20px !important;
  }
  
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button {
    font-size: 12px !important;
    padding: 9px 18px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    gap: 12px !important;
    row-gap: 16px !important;
  }
}

/* ========================================================================
   FIX IMAGES CATALOGUE + FICHE PRODUIT : contain au lieu de cover
   À ajouter à la fin de woocommerce-products-global.css
   ET à la fin de single-product.css
   ======================================================================== */

/* ===== CATALOGUE : Images produits ===== */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail,
.related.products ul.products li.product .astra-shop-thumbnail-wrap img,
.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.lef-related-products ul.products li.product .astra-shop-thumbnail-wrap img {
  object-fit: contain !important;
  background: #fff;
}

/* ===== FICHE PRODUIT : Image principale ===== */
.lef-main-image {
  object-fit: contain !important;
  background: #fff;
}

/* ========================================================================
   TOOLBAR SHOP : Résultats + Tri (desktop uniquement)
   ======================================================================== */

@media (min-width: 1025px) {
  /* Container toolbar */
  .ast-shop-toolbar-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 6px 0 !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding-bottom: 10px !important;
  }

  /* Nombre de résultats */
  .woocommerce-result-count {
    font-size: 13px !important;
    color: #718096 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Select tri */
  .woocommerce-ordering select.orderby {
    font-size: 13px !important;
    color: #2D3748 !important;
    font-weight: 500 !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px 32px 8px 12px !important;
    background-color: #fff !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
  }

  .woocommerce-ordering select.orderby:hover {
    border-color: #3AA6B9 !important;
  }

  .woocommerce-ordering select.orderby:focus {
    border-color: #3AA6B9 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(58, 166, 185, 0.15) !important;
  }
}

/* ========================================================================
   TOOLBAR MOBILE
   ======================================================================== */
@media (max-width: 1024px) {
  .woocommerce-result-count {
    display: none !important;
  }
}