/* =============================================
   ZG-CATEGORY V2 — Filtre style PILL/CHIP
   Design Linear/Notion : pills cliquables sans radio visible
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ============ WRAPPER ============ */
body.page-category #PM_ASBlockOutput_1,
body[id^="category-"] #PM_ASBlockOutput_1{
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:18px !important;
  box-shadow:0 4px 20px rgba(15,29,44,.06) !important;
  overflow:hidden !important;
  font-family:'Inter','Helvetica Neue',sans-serif !important;
}
body.page-category #PM_ASBlock_1.card,
body[id^="category-"] #PM_ASBlock_1.card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  margin:0 !important;
}

/* ============ HEADER MINIMALISTE (pas de gradient) ============ */
body.page-category #PM_ASBlock_1 .card-header,
body[id^="category-"] #PM_ASBlock_1 .card-header{
  background:#fff !important;
  border:none !important;
  border-bottom:1px solid #f3f4f6 !important;
  padding:18px 22px !important;
  border-radius:0 !important;
  position:relative !important;
}
body.page-category #PM_ASBlock_1 .PM_ASearchTitle,
body[id^="category-"] #PM_ASBlock_1 .PM_ASearchTitle{
  color:#0f1d2c !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:700 !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
}
body.page-category #PM_ASBlock_1 .PM_ASearchTitle::before,
body[id^="category-"] #PM_ASBlock_1 .PM_ASearchTitle::before{
  content:'';
  display:inline-block;
  width:16px;height:16px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318A957' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></svg>");
  background-size:contain;
  background-repeat:no-repeat;
  flex-shrink:0;
}

/* ============ BODY ============ */
body.page-category #PM_ASBlock_1 .card-block,
body[id^="category-"] #PM_ASBlock_1 .card-block{
  background:#fff !important;
  padding:18px 22px 16px !important;
}

/* ============ BOUTON RESET ============ */
body.page-category #PM_ASBlock_1 .PM_ASResetSearch,
body[id^="category-"] #PM_ASBlock_1 .PM_ASResetSearch{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  background:transparent !important;
  color:#6b7280 !important;
  font-family:'Inter',sans-serif !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  padding:4px 0 !important;
  border:none !important;
  border-bottom:1px dashed #d1d5db !important;
  border-radius:0 !important;
  text-decoration:none !important;
  margin:0 0 14px !important;
  transition:all .15s !important;
  cursor:pointer !important;
}
body.page-category #PM_ASBlock_1 .PM_ASResetSearch:hover,
body[id^="category-"] #PM_ASBlock_1 .PM_ASResetSearch:hover{
  color:#dc2626 !important;
  border-bottom-color:#dc2626 !important;
}

/* ============ TITRE GROUPE ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionsGroup,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionsGroup{
  margin:0 0 8px !important;
  padding:0 !important;
  border:none !important;
}
body.page-category #PM_ASBlock_1 .PM_ASCriterionsGroupTitle,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionsGroupTitle{
  font-family:'Outfit',sans-serif !important;
  font-weight:700 !important;
  font-size:11.5px !important;
  color:#9ca3af !important;
  margin:0 0 12px !important;
  padding:0 !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  display:flex !important;
  align-items:center !important;
  border:none !important;
  cursor:default !important;
}
body.page-category #PM_ASBlock_1 .PM_ASCriterionsGroupName,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionsGroupName{
  flex:1 !important;
  text-align:left !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-block !important;
}
body.page-category #PM_ASBlock_1 .PM_ASCriterionsGroupTitle::after,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionsGroupTitle::after{
  display:none !important;
}

/* ============ WRAPPER LISTE ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionStepEnable,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionStepEnable{
  padding:0 !important;
  margin:0 !important;
}

/* ============ LISTE = STACK VERTICAL ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox,
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupRadio,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupRadio{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar{width:5px}
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar-track,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar-track{background:transparent}
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar-thumb,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox::-webkit-scrollbar-thumb{
  background:#e5e7eb;border-radius:99px;
}

/* ============ ITEM (li) ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox > li,
body.page-category #PM_ASBlock_1 .PM_ASCriterionGroupRadio > li,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupCheckbox > li,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionGroupRadio > li{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  width:100% !important;
  display:block !important;
}

/* ============ RADIO CONTAINER = PILL CLICKABLE ============ */
body.page-category #PM_ASBlock_1 .radio,
body.page-category #PM_ASBlock_1 .checkbox,
body[id^="category-"] #PM_ASBlock_1 .radio,
body[id^="category-"] #PM_ASBlock_1 .checkbox{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:10px 14px !important;
  border-radius:10px !important;
  cursor:pointer !important;
  transition:all .15s ease !important;
  width:100% !important;
  position:relative !important;
  background:#f9fafb !important;
  border:1px solid transparent !important;
}
body.page-category #PM_ASBlock_1 .radio:hover,
body.page-category #PM_ASBlock_1 .checkbox:hover,
body[id^="category-"] #PM_ASBlock_1 .radio:hover,
body[id^="category-"] #PM_ASBlock_1 .checkbox:hover{
  background:#e8f7ef !important;
  border-color:#bbf7d0 !important;
  transform:translateX(2px) !important;
}

/* État SÉLECTIONNÉ : pill verte pleine */
body.page-category #PM_ASBlock_1 li.selected .radio,
body[id^="category-"] #PM_ASBlock_1 li.selected .radio{
  background:linear-gradient(135deg,#18A957 0%,#22c16b 100%) !important;
  border-color:#0e7837 !important;
  box-shadow:0 4px 14px rgba(24,169,87,.25) !important;
}
body.page-category #PM_ASBlock_1 li.selected .radio:hover,
body[id^="category-"] #PM_ASBlock_1 li.selected .radio:hover{
  transform:translateX(2px) !important;
  box-shadow:0 6px 18px rgba(24,169,87,.32) !important;
}

/* ============ RADIO INPUT - INVISIBLE mais accessible ============ */
body.page-category #PM_ASBlock_1 input[type="radio"],
body[id^="category-"] #PM_ASBlock_1 input[type="radio"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  border:2px solid #d1d5db !important;
  border-radius:50% !important;
  background:#fff !important;
  cursor:pointer !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  flex-shrink:0 !important;
  transition:all .15s !important;
  vertical-align:middle !important;
}
body.page-category #PM_ASBlock_1 input[type="radio"]:checked,
body[id^="category-"] #PM_ASBlock_1 input[type="radio"]:checked{
  border-color:#fff !important;
  background:#fff !important;
}
body.page-category #PM_ASBlock_1 input[type="radio"]:checked::after,
body[id^="category-"] #PM_ASBlock_1 input[type="radio"]:checked::after{
  content:'' !important;
  position:absolute !important;
  inset:2px !important;
  border-radius:50% !important;
  background:#18A957 !important;
}

/* ============ CHECKBOX ============ */
body.page-category #PM_ASBlock_1 input[type="checkbox"],
body[id^="category-"] #PM_ASBlock_1 input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:14px !important;height:14px !important;
  min-width:14px !important;
  border:2px solid #d1d5db !important;
  border-radius:3px !important;
  background:#fff !important;
  cursor:pointer !important;
  position:relative !important;
  margin:0 !important;
  flex-shrink:0 !important;
  transition:all .15s !important;
}
body.page-category #PM_ASBlock_1 input[type="checkbox"]:checked,
body[id^="category-"] #PM_ASBlock_1 input[type="checkbox"]:checked{
  background:#fff !important;
  border-color:#fff !important;
}
body.page-category #PM_ASBlock_1 input[type="checkbox"]:checked::after,
body[id^="category-"] #PM_ASBlock_1 input[type="checkbox"]:checked::after{
  content:'' !important;
  position:absolute !important;
  left:3px !important;top:0 !important;
  width:4px !important;height:8px !important;
  border:solid #18A957 !important;
  border-width:0 2px 2px 0 !important;
  transform:rotate(45deg) !important;
}

/* ============ LABEL ============ */
body.page-category #PM_ASBlock_1 .PM_ASLabelCheckbox,
body[id^="category-"] #PM_ASBlock_1 .PM_ASLabelCheckbox{
  flex:1 !important;
  margin:0 !important;
  padding:0 !important;
  font-family:'Inter',sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  color:#0f1d2c !important;
  cursor:pointer !important;
  line-height:1.4 !important;
  text-align:left !important;
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}

/* Selected = label blanc */
body.page-category #PM_ASBlock_1 li.selected .PM_ASLabelCheckbox,
body.page-category #PM_ASBlock_1 li.selected .PM_ASLabelLink,
body[id^="category-"] #PM_ASBlock_1 li.selected .PM_ASLabelCheckbox,
body[id^="category-"] #PM_ASBlock_1 li.selected .PM_ASLabelLink{
  color:#fff !important;
  font-weight:600 !important;
}

/* ============ LIEN DANS LABEL ============ */
body.page-category #PM_ASBlock_1 .PM_ASLabelLink,
body[id^="category-"] #PM_ASBlock_1 .PM_ASLabelLink{
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  color:#0f1d2c !important;
  text-decoration:none !important;
  font-weight:500 !important;
  font-size:13.5px !important;
  line-height:1.4 !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

/* ============ COMPTEUR (1) ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionNbProduct,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionNbProduct{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Inter',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  color:#6b7280 !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  padding:1px 8px !important;
  border-radius:99px !important;
  margin:0 0 0 auto !important;
  flex-shrink:0 !important;
  line-height:1.4 !important;
  min-width:24px !important;
  text-align:center !important;
}
body.page-category #PM_ASBlock_1 .radio:hover .PM_ASCriterionNbProduct,
body[id^="category-"] #PM_ASBlock_1 .radio:hover .PM_ASCriterionNbProduct{
  background:#fff !important;
  border-color:#18A957 !important;
  color:#0e7837 !important;
}
body.page-category #PM_ASBlock_1 li.selected .PM_ASCriterionNbProduct,
body[id^="category-"] #PM_ASBlock_1 li.selected .PM_ASCriterionNbProduct{
  background:rgba(255,255,255,.25) !important;
  border-color:rgba(255,255,255,.4) !important;
  color:#fff !important;
}

/* ============ "Aucun choix..." ============ */
body.page-category #PM_ASBlock_1 .PM_ASCriterionNoChoice,
body[id^="category-"] #PM_ASBlock_1 .PM_ASCriterionNoChoice{
  font-style:italic !important;
  color:#9ca3af !important;
  font-size:12px !important;
  padding:8px 0 !important;
  background:transparent !important;
  border:none !important;
  margin:0 !important;
}

/* ============ MOBILE ============ */
@media (max-width:991px){
  body.page-category #PM_ASBlockOutput_1,
  body[id^="category-"] #PM_ASBlockOutput_1{
    margin:12px 8px !important;
  }
  body.page-category #PM_ASBlock_1 .card-header,
  body[id^="category-"] #PM_ASBlock_1 .card-header{
    padding:16px 20px !important;
  }
  body.page-category #PM_ASBlock_1 .card-block,
  body[id^="category-"] #PM_ASBlock_1 .card-block{
    padding:16px 18px 14px !important;
  }
}

/* ============ ACCESSIBILITY ============ */
body.page-category #PM_ASBlock_1 input[type="radio"]:focus-visible,
body.page-category #PM_ASBlock_1 input[type="checkbox"]:focus-visible,
body[id^="category-"] #PM_ASBlock_1 input[type="radio"]:focus-visible,
body[id^="category-"] #PM_ASBlock_1 input[type="checkbox"]:focus-visible{
  outline:2px solid #18A957 !important;
  outline-offset:3px !important;
}
@media (prefers-reduced-motion:reduce){
  body.page-category #PM_ASBlock_1 *,
  body[id^="category-"] #PM_ASBlock_1 *{
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
}

/* =============================================
   PRODUCT MINIATURE (CE template 41170102)
   Cards produits dans le listing catégorie
   ============================================= */

/* ============ ARTICLE / CARD ============ */
body.page-category .elementor-41170102 > article,
body[id^="category-"] .elementor-41170102 > article{
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  box-shadow:0 2px 8px rgba(15,29,44,.04) !important;
  overflow:hidden !important;
  transition:all .25s ease !important;
  position:relative !important;
  height:100% !important;
}
body.page-category .elementor-41170102 > article:hover,
body[id^="category-"] .elementor-41170102 > article:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 12px 28px rgba(15,29,44,.10),0 2px 8px rgba(15,29,44,.06) !important;
  border-color:#bbf7d0 !important;
}

/* ============ IMAGE WIDGET (parent containers) ============ */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-image,
body.page-category .elementor-41170102 .elementor-widget-product-miniature-image .elementor-widget-container,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-image,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-image .elementor-widget-container{
  width:100% !important;
  text-align:center !important;
}

/* ============ IMAGE CONTAINER ============ */
body.page-category .elementor-41170102 .ce-product-image,
body[id^="category-"] .elementor-41170102 .ce-product-image{
  background:#fff !important;
  width:100% !important;
  height:240px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:0 !important;
  text-align:center !important;
  padding:14px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* ============ LIEN AUTOUR DE L'IMAGE ============ */
body.page-category .elementor-41170102 .ce-product-image a,
body[id^="category-"] .elementor-41170102 .ce-product-image a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 auto !important;
  text-align:center !important;
  outline:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
/* Retire le contour bleu au focus/click sur tout lien produit */
body.page-category .elementor-41170102 a,
body[id^="category-"] .elementor-41170102 a{
  outline:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
body.page-category .elementor-41170102 a:focus,
body.page-category .elementor-41170102 a:active,
body[id^="category-"] .elementor-41170102 a:focus,
body[id^="category-"] .elementor-41170102 a:active{
  outline:none !important;
  box-shadow:none !important;
}
/* Garde un focus accessible UNIQUEMENT au clavier (Tab) */
body.page-category .elementor-41170102 a:focus-visible,
body[id^="category-"] .elementor-41170102 a:focus-visible{
  outline:2px solid #18A957 !important;
  outline-offset:2px !important;
  border-radius:6px !important;
}

/* ============ IMAGE ELLE-MÊME ============ */
body.page-category .elementor-41170102 .ce-product-image img,
body[id^="category-"] .elementor-41170102 .ce-product-image img{
  display:block !important;
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  transition:transform .35s ease !important;
  box-sizing:border-box !important;
}

@media (max-width:991px){
  body.page-category .elementor-41170102 .ce-product-image,
  body[id^="category-"] .elementor-41170102 .ce-product-image{
    height:200px !important;
  }
}
body.page-category .elementor-41170102 > article:hover .ce-product-image img,
body[id^="category-"] .elementor-41170102 > article:hover .ce-product-image img{
  transform:scale(1.06) !important;
}

/* ============ BADGES (Promo, Nouveau, etc.) ============ */
body.page-category .elementor-41170102 .ce-product-badges,
body[id^="category-"] .elementor-41170102 .ce-product-badges{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  z-index:3 !important;
  pointer-events:none !important;
}
body.page-category .elementor-41170102 .ce-product-badge,
body[id^="category-"] .elementor-41170102 .ce-product-badge{
  display:inline-flex !important;
  align-items:center !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:700 !important;
  font-size:10.5px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  padding:4px 10px !important;
  border-radius:99px !important;
  color:#fff !important;
  box-shadow:0 2px 6px rgba(0,0,0,.12) !important;
}
body.page-category .elementor-41170102 .ce-product-badge.ce-product-badge-sale,
body[id^="category-"] .elementor-41170102 .ce-product-badge.ce-product-badge-sale{
  background:#FF6852 !important;
}
body.page-category .elementor-41170102 .ce-product-badge.ce-product-badge-new,
body[id^="category-"] .elementor-41170102 .ce-product-badge.ce-product-badge-new{
  background:linear-gradient(135deg,#18A957 0%,#22c16b 100%) !important;
}

/* ============ NOM PRODUIT ============ */
body.page-category .elementor-41170102 .ce-product-name,
body[id^="category-"] .elementor-41170102 .ce-product-name{
  font-family:'Inter',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:#0f1d2c !important;
  line-height:1.4 !important;
  margin:0 !important;
  padding:12px 14px 8px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:48px !important;
}
body.page-category .elementor-41170102 .ce-product-name a,
body[id^="category-"] .elementor-41170102 .ce-product-name a{
  color:inherit !important;
  text-decoration:none !important;
  transition:color .15s !important;
}
body.page-category .elementor-41170102 > article:hover .ce-product-name a,
body[id^="category-"] .elementor-41170102 > article:hover .ce-product-name a{
  color:#0e7837 !important;
}

/* ============ PRIX ============ */
body.page-category .elementor-41170102 .ce-product-prices,
body[id^="category-"] .elementor-41170102 .ce-product-prices{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:6px 14px 10px !important;
  margin:0 !important;
}

/* Prix normal (sans promo) */
body.page-category .elementor-41170102 .ce-product-price,
body[id^="category-"] .elementor-41170102 .ce-product-price{
  font-family:'Outfit',sans-serif !important;
  font-weight:700 !important;
  font-size:18px !important;
  color:#0f1d2c !important;
  margin:0 !important;
  line-height:1 !important;
}
body.page-category .elementor-41170102 .ce-product-price span,
body[id^="category-"] .elementor-41170102 .ce-product-price span{
  font-family:inherit !important;
  font-weight:inherit !important;
  font-size:inherit !important;
  color:inherit !important;
}

/* Prix promo (en rouge corail) */
body.page-category .elementor-41170102 .ce-product-price.ce-has-discount,
body[id^="category-"] .elementor-41170102 .ce-product-price.ce-has-discount{
  color:#dc2626 !important;
  font-size:19px !important;
  font-weight:800 !important;
}
body.page-category .elementor-41170102 .ce-product-price.ce-has-discount span,
body[id^="category-"] .elementor-41170102 .ce-product-price.ce-has-discount span{
  color:#dc2626 !important;
}

/* Prix barré (regular quand promo) */
body.page-category .elementor-41170102 .ce-product-price-regular,
body[id^="category-"] .elementor-41170102 .ce-product-price-regular{
  font-family:'Inter',sans-serif !important;
  font-weight:500 !important;
  font-size:13px !important;
  color:#9ca3af !important;
  text-decoration:line-through !important;
  text-decoration-thickness:1.5px !important;
  margin:0 !important;
  line-height:1 !important;
  order:1 !important;
}

/* ============ RATING ============ */
body.page-category .elementor-41170102 .ce-product-rating,
body[id^="category-"] .elementor-41170102 .ce-product-rating{
  padding:0 14px 8px !important;
  margin:0 !important;
}
body.page-category .elementor-41170102 .elementor-star-rating,
body[id^="category-"] .elementor-41170102 .elementor-star-rating{
  font-size:12px !important;
  color:#fbbf24 !important;
  letter-spacing:1px !important;
}

/* ============ BOUTON AJOUTER AU PANIER (en stock) ============ */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart{
  padding:0 14px 14px !important;
  margin:0 !important;
}
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button-wrapper,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button-wrapper{
  width:100% !important;
}
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:100% !important;
  background:linear-gradient(135deg,#18A957 0%,#22c16b 100%) !important;
  color:#fff !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
  padding:10px 16px !important;
  border:none !important;
  border-radius:99px !important;
  text-decoration:none !important;
  transition:all .2s !important;
  cursor:pointer !important;
  box-shadow:0 2px 8px rgba(24,169,87,.20) !important;
}
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:hover,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 20px rgba(24,169,87,.32) !important;
}
body.page-category .elementor-41170102 .elementor-button-icon,
body[id^="category-"] .elementor-41170102 .elementor-button-icon{
  display:inline-flex !important;
  align-items:center !important;
}

/* ============ RUPTURE DE STOCK ============ */
/* Détection : <a> sans href dans le widget add-to-cart = produit indisponible */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href]),
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href]){
  background:#f3f4f6 !important;
  color:#9ca3af !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  box-shadow:none !important;
}
/* Cacher le contenu original (texte "Ajouter au panier" + flèche) */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href]) .elementor-button-content-wrapper,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href]) .elementor-button-content-wrapper{
  display:none !important;
}
/* Injecter "Rupture de stock" via pseudo-élément */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href])::before,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button:not([href])::before{
  content:'⊘ Rupture de stock' !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:600 !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
/* Sur l'article entier : opacity réduite quand rupture */
body.page-category .elementor-41170102 > article:has(.elementor-widget-product-miniature-add-to-cart .elementor-button:not([href])),
body[id^="category-"] .elementor-41170102 > article:has(.elementor-widget-product-miniature-add-to-cart .elementor-button:not([href])){
  position:relative !important;
}
body.page-category .elementor-41170102 > article:has(.elementor-button:not([href])) .ce-product-image,
body[id^="category-"] .elementor-41170102 > article:has(.elementor-button:not([href])) .ce-product-image{
  filter:grayscale(.4) opacity(.85) !important;
}
body.page-category .elementor-41170102 > article:has(.elementor-button:not([href])) .ce-product-image::after,
body[id^="category-"] .elementor-41170102 > article:has(.elementor-button:not([href])) .ce-product-image::after{
  content:'INDISPONIBLE' !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) rotate(-8deg) !important;
  background:rgba(15,29,44,.85) !important;
  color:#fff !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:700 !important;
  font-size:11px !important;
  letter-spacing:.1em !important;
  padding:5px 14px !important;
  border-radius:4px !important;
  pointer-events:none !important;
  z-index:2 !important;
}

/* ============ VARIANTS (couleurs/tailles) ============ */
body.page-category .elementor-41170102 .elementor-widget-product-miniature-variants,
body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-variants{
  display:none !important; /* on masque les variants en miniature, trop chargé */
}

/* ============ MOBILE MINIATURE ============ */
@media (max-width:991px){
  body.page-category .elementor-41170102 .ce-product-name,
  body[id^="category-"] .elementor-41170102 .ce-product-name{
    font-size:12.5px !important;
    padding:10px 12px 6px !important;
  }
  body.page-category .elementor-41170102 .ce-product-price,
  body[id^="category-"] .elementor-41170102 .ce-product-price{
    font-size:16px !important;
  }
  body.page-category .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button,
  body[id^="category-"] .elementor-41170102 .elementor-widget-product-miniature-add-to-cart .elementor-button{
    font-size:11.5px !important;
    padding:9px 12px !important;
  }
}
