/* wishlist*/
.lux-card__wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 8;
}

.lux-card__wishlist .yith-wcwl-add-to-wishlist {
  margin: 0 !important;
}

.lux-card__wishlist a,
.lux-card__wishlist button {
  width: 38px;
  height: 38px;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.92);
  color: #111 !important;

  font-size: 0 !important;
  text-decoration: none !important;

  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.lux-card__wishlist a::before,
.lux-card__wishlist button::before {
  content: "♡";
  font-size: 22px;
  line-height: 1;
}

.lux-card__wishlist a:hover,
.lux-card__wishlist button:hover {
  background: #111;
  color: #fff !important;
}

.lux-card__wishlist .feedback,
.lux-card__wishlist .yith-wcwl-add-button span,
.lux-card__wishlist .yith-wcwl-wishlistaddedbrowse span,
.lux-card__wishlist .yith-wcwl-wishlistexistsbrowse span {
  display: none !important;
}
/* =========================================
   ELARA — CARD MEDIA + WISHLIST FIX
   cuore allineato, immagine stabile, niente storture
========================================= */

.woocommerce ul.products li.product.lux-product-card {
  position: relative;
  text-align: left !important;
}

/* link card */
.woocommerce ul.products li.product.lux-product-card .lux-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

/* area immagine stabile */
.woocommerce ul.products li.product.lux-product-card .lux-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
  background: #fff;
}

/* immagini sempre dentro il frame */
.woocommerce ul.products li.product.lux-product-card .lux-card__img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;

  padding: 22px;

  transition:
    opacity .34s ease,
    transform .55s ease;
}

/* principale */
.woocommerce ul.products li.product.lux-product-card .lux-card__img--main {
  position: relative;
  z-index: 1;
}

/* seconda immagine hover */
.woocommerce ul.products li.product.lux-product-card .lux-card__img--hover {
  position: absolute;
  inset: 0;
  z-index: 2;

  opacity: 0;
  transform: scale(1.025);
}

/* hover solo se esiste immagine hover */
.woocommerce ul.products li.product.lux-product-card:hover .lux-card__media.has-hover-image .lux-card__img--main,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__media.has-hover-image .lux-card__img--main {
  opacity: 0;
  transform: scale(1.015);
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__media.has-hover-image .lux-card__img--hover,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__media.has-hover-image .lux-card__img--hover {
  opacity: 1;
  transform: scale(1);
}

/* =========================================
   WISHLIST — HEART FIX
========================================= */

.lux-card__wishlist {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;

  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  pointer-events: auto;
}

/* reset YITH */
.lux-card__wishlist .yith-wcwl-add-to-wishlist,
.lux-card__wishlist .yith-wcwl-add-button,
.lux-card__wishlist .yith-wcwl-wishlistaddedbrowse,
.lux-card__wishlist .yith-wcwl-wishlistexistsbrowse {
  margin: 0 !important;
  padding: 0 !important;
  width: 40px;
  height: 40px;

  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* bottone cuore */
.lux-card__wishlist a,
.lux-card__wishlist button {
  position: relative;

  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  margin: 0 !important;
  padding: 0 !important;

  border-radius: 999px !important;
  border: 1px solid rgba(0, 0, 0, .08) !important;

  background: rgba(255, 255, 255, .94) !important;
  color: #111 !important;

  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 12px 26px rgba(0, 0, 0, .10);

  transition:
    background .22s ease,
    color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}

.lux-card__wishlist a::before,
.lux-card__wishlist button::before {
  content: "♡";

  display: block;

  font-size: 25px;
  font-weight: 400;
  line-height: 1;

  transform: translateY(-1px);
}

.lux-card__wishlist a:hover,
.lux-card__wishlist button:hover {
  background: #111 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}

/* quando è già in wishlist */
.lux-card__wishlist .yith-wcwl-wishlistaddedbrowse a::before,
.lux-card__wishlist .yith-wcwl-wishlistexistsbrowse a::before {
  content: "♥";
}

/* nasconde testi YITH */
.lux-card__wishlist .feedback,
.lux-card__wishlist span,
.lux-card__wishlist .separator,
.lux-card__wishlist .view-wishlist {
  display: none !important;
}

/* loader YITH */
.lux-card__wishlist .yith-wcwl-icon,
.lux-card__wishlist i {
  display: none !important;
}


/* =========================================
   PRODUCT CARD — ELARA EDITORIAL RETAIL
   Card prodotto pulita, verticale, editoriale.
   Focus su immagine, brand, titolo e prezzo.
========================================= */
/* =========================================
   ELARA — PRODUCT CARD HOVER GALLERY
========================================= */

.woocommerce ul.products li.product.lux-product-card {
  position: relative;
}

.woocommerce ul.products li.product.lux-product-card a.lux-card {
  display: block;
  color: inherit;
  text-decoration: none;
}

.lux-card__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #f5f5f5;
}

.lux-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition:
    opacity .34s ease,
    transform .55s ease;
}

.lux-card__img--main {
  position: relative;
  z-index: 1;
}

.lux-card__img--hover {
  position: absolute;
  inset: 0;
  z-index: 2;

  opacity: 0;
  transform: scale(1.035);
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--main,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--main {
  opacity: 0;
  transform: scale(1.025);
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--hover,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--hover {
  opacity: 1;
  transform: scale(1);
}

.lux-card__body {
  padding-top: 14px;
}

.lux-card__brand {
  margin-bottom: 6px;

  color: rgba(17,17,17,.46);

  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lux-card__title {
  margin: 0 0 7px;

  color: #111;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
}

.lux-card__price {
  color: #111;

  font-size: 14px;
  font-weight: 650;
}

.lux-card__price del {
  color: rgba(17,17,17,.38);
  opacity: 1;
}

.lux-card__price ins {
  color: #8d6a2f;
  text-decoration: none;
}

/* sale badge dentro media */
.lux-card__media .onsale {
  position: absolute;
  z-index: 5;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;

  min-width: auto;
  min-height: auto;
  margin: 0;
  padding: 7px 10px;

  border-radius: 999px;
  border: 0;

  background: #111;
  color: #fff;

  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .10em;
  text-transform: uppercase;
}

/* se non c'è immagine hover, evita sparizione */
.lux-card__media:not(:has(.lux-card__img--hover)) .lux-card__img--main {
  opacity: 1 !important;
}


/* =========================================================
   1. PRODUCT GRID ALIGNMENT
========================================================= */

.lux-home-products__grid ul.products,
.lux-main ul.products {
  align-items: stretch;
}


/* =========================================================
   2. PRODUCT CARD CONTAINER
========================================================= */

.lux-home-products__grid ul.products li.product,
.lux-main ul.products li.product {
  padding: 0 !important;
  background: transparent;
  position: relative;
}


/* =========================================================
   3. PRODUCT CARD LINK
========================================================= */

.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link,
.lux-main ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  width: 100%;

  background: transparent;
  color: #000;
  text-decoration: none;
  text-align: left;

  overflow: visible;
  border-radius: 0;

  transition: opacity .25s ease;
}

.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link:hover,
.lux-main ul.products li.product .woocommerce-LoopProduct-link:hover {
  opacity: .92;
}


/* =========================================================
   4. PRODUCT MEDIA FRAME
   Uniforma le immagini mantenendo proporzioni corrette
   anche con asset scontornati o su sfondo bianco.
========================================================= */

.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img,
.lux-main ul.products li.product .woocommerce-LoopProduct-link img {
  width: 100%;
  height: 520px;

  display: block;

  object-fit: contain;
  object-position: center;

  background: #ffffff;

  border-radius: 0;
  transition: transform .35s ease;
}

.lux-home-products__grid ul.products li.product:hover img,
.lux-main ul.products li.product:hover img {
  transform: scale(1.015);
}


/* =========================================================
   5. PRODUCT BRAND
========================================================= */

.lux-home-products__grid ul.products li.product .lux-card-brand,
.lux-main ul.products li.product .lux-card-brand {
  padding: 14px 0 0;
  margin: 0;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  color: #111;
}


/* =========================================================
   6. PRODUCT TITLE
========================================================= */

.lux-home-products__grid ul.products li.product .woocommerce-loop-product__title,
.lux-main ul.products li.product .woocommerce-loop-product__title {
  padding: 4px 0 0;
  margin: 0;

  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
  color: #111;

  display: block;
  min-height: auto;
}


/* =========================================================
   7. PRODUCT PRICE
========================================================= */

.lux-home-products__grid ul.products li.product .price,
.lux-main ul.products li.product .price {
  display: block;
  padding: 10px 0 0;
  margin: 0;

  font-size: 14px;
  line-height: 1.2;
  font-weight: 400;
  text-align: left;
  color: #000;
}

.lux-home-products__grid ul.products li.product .price .amount,
.lux-main ul.products li.product .price .amount {
  color: #000;
}


.lux-home-products__grid ul.products li.product .price del,
.lux-main ul.products li.product .price del {
  opacity: .55;
  font-size: 14px;
  font-weight: 400;
  margin-left: 6px;
}

.lux-home-products__grid ul.products li.product .price ins,
.lux-main ul.products li.product .price ins {
  text-decoration: none;
}


/* =========================================================
   8. PRODUCT EXCERPT
   Descrizione rimossa dal loop.
========================================================= */

.lux-home-products__grid ul.products li.product .lux-card__excerpt,
.lux-main ul.products li.product .lux-card__excerpt {
  display: none !important;
}


/* =========================================================
   9. PRODUCT TEXT NORMALIZATION
========================================================= */

.lux-home-products__grid ul.products li.product .price,
.lux-home-products__grid ul.products li.product .woocommerce-loop-product__title,
.lux-home-products__grid ul.products li.product .lux-card-brand,
.lux-main ul.products li.product .price,
.lux-main ul.products li.product .woocommerce-loop-product__title,
.lux-main ul.products li.product .lux-card-brand {
  width: 100%;
  box-sizing: border-box;
}


/* =========================================================
   10. HIDE DEFAULT WOOCOMMERCE ELEMENTS
========================================================= */

.lux-home-products__grid ul.products li.product > .button,
.lux-home-products__grid ul.products li.product .added_to_cart,
.lux-main ul.products li.product > .button,
.lux-main ul.products li.product .added_to_cart,
.lux-home-products__grid ul.products li.product .star-rating,
.lux-main ul.products li.product .star-rating {
  display: none !important;
}


/* =========================================================
   11. REMOVE FAKE WISHLIST HEART
========================================================= */

.lux-home-products__grid ul.products li.product::after,
.lux-main ul.products li.product::after {
  display: none !important;
  content: none !important;
}



/* =========================================================
   CUSTOM SALE STATE
   Visual styling per prodotti scontati nel product loop.
   Nessun badge sopra immagine:
   il discount viene mostrato sotto il prezzo.
========================================================= */


/* prezzo scontato attuale */
.lux-main ul.products li.product .price ins,
.lux-home-products__grid ul.products li.product .price ins {
  text-decoration: none;
}

.lux-main ul.products li.product .price ins .amount,
.lux-home-products__grid ul.products li.product .price ins .amount {
  color: #c62828;
  font-weight: 600;
}


/* prezzo originale barrato */
.lux-main ul.products li.product .price del,
.lux-home-products__grid ul.products li.product .price del {
  display: inline-block;
  margin-left: 8px;
  opacity: .55;
  font-size: 14px;
  font-weight: 400;
  color: #111;
}


/* percentuale sconto sotto il prezzo */
.lux-card-discount {
  margin-top: 4px;

  font-size: 14px;
  line-height: 1.2;
  font-weight: 500;

  color: #c62828;
}


/* rimuove qualsiasi badge WooCommerce residuo */
.onsale {
  display: none !important;
}



/* =========================================
   SHOP PRODUCT GRID — ELARA
========================================= */

.lux-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44px 32px;

  margin: 0 !important;
  padding: 0 !important;
}

.lux-main ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}


/* =========================================================
   HOME PRODUCT RAIL — EDITORIAL MODE
========================================================= */

.lux-home-products__grid ul.products li.product {
  flex: 0 0 325px !important;
  width: 325px !important;
  max-width: 325px;
  margin: 20px !important;
}

.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img {
  height: 470px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 980px) {
  .lux-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 24px;
  }

  .lux-home-products__grid ul.products li.product {
    flex: 0 0 300px !important;
    width: 300px !important;
    max-width: 300px;
  }

  .lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img,
  .lux-main ul.products li.product .woocommerce-LoopProduct-link img {
    height: 430px;
  }
}

@media (max-width: 520px) {
  .lux-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 14px;
  }

  .lux-home-products__grid ul.products li.product {
    flex: 0 0 82vw !important;
    width: 82vw !important;
    max-width: 82vw;
  }

  .lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img,
  .lux-main ul.products li.product .woocommerce-LoopProduct-link img {
    height: 280px;
  }

  .lux-home-products__grid ul.products li.product .lux-card-brand,
  .lux-main ul.products li.product .lux-card-brand {
    font-size: 14px;
    padding-top: 12px;
  }

  .lux-home-products__grid ul.products li.product .woocommerce-loop-product__title,
  .lux-main ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px;
    min-height: 40px;
  }

  .lux-home-products__grid ul.products li.product .price,
  .lux-main ul.products li.product .price {
    font-size: 15px;
  }
}

/* =========================================
   ELARA CARD — LEFT ALIGN FIX
   forza testi e card verso sinistra
========================================= */

.woocommerce ul.products li.product.lux-product-card,
.lux-home-products__grid ul.products li.product.lux-product-card,
.lux-main ul.products li.product.lux-product-card {
  text-align: left !important;
}

.woocommerce ul.products li.product.lux-product-card a.lux-card,
.lux-home-products__grid ul.products li.product.lux-product-card a.lux-card,
.lux-main ul.products li.product.lux-product-card a.lux-card {
  display: flex;
  flex-direction: column;

  width: 100%;

  color: inherit;
  text-decoration: none;
  text-align: left !important;
}

.lux-card__body {
  width: 100%;
  padding-top: 14px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  text-align: left !important;
}

.lux-card__category,
.lux-card__brand,
.lux-card__title,
.lux-card__price,
.lux-card__price .amount,
.lux-card__price del,
.lux-card__price ins {
  text-align: left !important;
}

.lux-card__category {
  display: inline-flex;
  align-items: center;

  margin: 0 0 6px;

  color: #8d6a2f;

  font-family: var(--lux-font-ui, Inter, system-ui, sans-serif);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lux-card__brand {
  display: block;

  margin: 0 0 6px;

  color: rgba(17,17,17,.46);

  font-family: var(--lux-font-ui, Inter, system-ui, sans-serif);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lux-card__title {
  display: block;

  width: 100%;
  margin: 0 0 7px;
  padding: 0;

  color: #111;

  font-family: var(--lux-font-body, Inter, system-ui, sans-serif);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.28;

  text-align: left !important;
}

.lux-card__price {
  display: block;

  width: 100%;
  margin: 0;
  padding: 0;

  color: #111;

  font-family: var(--lux-font-body, Inter, system-ui, sans-serif);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;

  text-align: left !important;
}

.lux-card__price del {
  margin-left: 8px;
  color: rgba(17,17,17,.38);
  opacity: 1;
}

.lux-card__price ins {
  color: #8d6a2f;
  text-decoration: none;
}

/* elimina eventuali centrature ereditate da Woo o sezioni home */
.lux-home-products__grid ul.products li.product *,
.lux-main ul.products li.product * {
  text-align: inherit;
}

.lux-home-products__grid ul.products li.product.lux-product-card *,
.lux-main ul.products li.product.lux-product-card * {
  text-align: left;
}




/* =========================================================
   ELARA — CARD HOVER SOLO ZOOM
   Disattiva cambio immagine / gallery hover
========================================================= */

/* Media frame */
.woocommerce ul.products li.product.lux-product-card .lux-card__media,
.lux-main ul.products li.product.lux-product-card .lux-card__media,
.lux-home-products__grid ul.products li.product.lux-product-card .lux-card__media {
  position: relative;
  overflow: hidden;
}

/* Immagine principale sempre visibile */
.woocommerce ul.products li.product.lux-product-card .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card .lux-card__img--main {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;

  transition:
    transform .55s ease,
    filter .55s ease !important;
}

/* Nasconde completamente immagine hover / seconda immagine */
.woocommerce ul.products li.product.lux-product-card .lux-card__img--hover,
.lux-main ul.products li.product.lux-product-card .lux-card__img--hover,
.lux-home-products__grid ul.products li.product.lux-product-card .lux-card__img--hover {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hover: solo zoom sulla main image */
.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--main,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card:hover .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card:hover .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card:focus-within .lux-card__img--main {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1.055) !important;
  filter: brightness(.98);
}

/* Evita che il link/card cambi opacità */
.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link:hover,
.lux-main ul.products li.product .woocommerce-LoopProduct-link:hover,
.woocommerce ul.products li.product.lux-product-card:hover a.lux-card {
  opacity: 1 !important;
}

/* Evita trasformazioni strane su tutte le immagini della card */
.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img {
  opacity: 1;
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product.lux-product-card .lux-card__img--main,
  .lux-main ul.products li.product.lux-product-card .lux-card__img--main,
  .lux-home-products__grid ul.products li.product.lux-product-card .lux-card__img--main {
    transition: none !important;
  }

  .woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--main,
  .woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
  .lux-main ul.products li.product.lux-product-card:hover .lux-card__img--main,
  .lux-main ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
  .lux-home-products__grid ul.products li.product.lux-product-card:hover .lux-card__img--main,
  .lux-home-products__grid ul.products li.product.lux-product-card:focus-within .lux-card__img--main {
    transform: none !important;
    filter: none;
  }
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--main,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--main {
  opacity: 0;
  transform: scale(1.025);
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--hover,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--hover {
  opacity: 1;
  transform: scale(1);
}


/* =========================================
   ELARA — RESPONSIVE FIX DEFINITIVO
   2 prodotti per riga + immagini visibili
========================================= */


/* =========================================
   1. FIX HOVER: NON FAR SPARIRE IMMAGINI
========================================= */

.woocommerce ul.products li.product.lux-product-card .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card .lux-card__img--main {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.woocommerce ul.products li.product.lux-product-card .lux-card__img--hover,
.lux-main ul.products li.product.lux-product-card .lux-card__img--hover,
.lux-home-products__grid ul.products li.product.lux-product-card .lux-card__img--hover {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.woocommerce ul.products li.product.lux-product-card:hover .lux-card__img--main,
.woocommerce ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card:hover .lux-card__img--main,
.lux-main ul.products li.product.lux-product-card:focus-within .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card:hover .lux-card__img--main,
.lux-home-products__grid ul.products li.product.lux-product-card:focus-within .lux-card__img--main {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  transform: scale(1.035) !important;
}


/* =========================================
   2. SHOP GRID — DESKTOP / TABLET
========================================= */

.lux-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 44px 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lux-main ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================
   3. CARD MEDIA BASE
========================================= */

.lux-main ul.products li.product .lux-card__media,
.lux-home-products__grid ul.products li.product .lux-card__media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #fff !important;
}

.lux-main ul.products li.product .lux-card__img,
.lux-home-products__grid ul.products li.product .lux-card__img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}


/* fallback se alcune card usano ancora immagine Woo classica */
.lux-main ul.products li.product .woocommerce-LoopProduct-link img,
.lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}


/* =========================================
   4. TABLET — 2 PRODOTTI
========================================= */

@media (max-width: 980px) {

  .lux-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 38px 24px !important;
  }

  .lux-main ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================================
   5. MOBILE — 2 PRODOTTI PER RIGA
========================================= */

@media (max-width: 520px) {

  .lux-main ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  .lux-main ul.products li.product,
  .lux-main ul.products li.product.lux-product-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .lux-main ul.products li.product a.lux-card,
  .lux-main ul.products li.product .lux-card,
  .lux-main ul.products li.product .woocommerce-LoopProduct-link {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .lux-main ul.products li.product .lux-card__media {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    background: #fff !important;
  }

  .lux-main ul.products li.product .lux-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 10px !important;
    display: block !important;
  }

  .lux-main ul.products li.product .woocommerce-LoopProduct-link img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 10px !important;
    display: block !important;
  }

  .lux-card__body {
    width: 100% !important;
    padding-top: 9px !important;
    text-align: left !important;
  }

  .lux-card__category,
  .lux-card__brand {
    font-size: 8.5px !important;
    letter-spacing: .12em !important;
    line-height: 1.1 !important;
    margin: 0 0 4px !important;
  }

  .lux-card__title,
  .lux-main ul.products li.product .woocommerce-loop-product__title {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    min-height: 31px !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
  }

  .lux-card__price,
  .lux-main ul.products li.product .price {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .lux-card__wishlist {
    top: 8px !important;
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
  }

  .lux-card__wishlist a,
  .lux-card__wishlist button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .lux-card__wishlist a::before,
  .lux-card__wishlist button::before {
    font-size: 20px !important;
  }
}


/* =========================================
   6. MOBILE PICCOLO
========================================= */

@media (max-width: 390px) {

  .lux-main ul.products {
    gap: 22px 10px !important;
    padding: 0 10px !important;
  }

  .lux-card__title,
  .lux-main ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px !important;
    min-height: 30px !important;
  }

  .lux-card__price,
  .lux-main ul.products li.product .price {
    font-size: 12px !important;
  }
}


/* =========================================
   7. HOME RAIL — NON TOCCARE MOBILE
   mantiene lo scroll orizzontale della home
========================================= */

@media (max-width: 520px) {

  .lux-home-products__grid ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 0 12px 14px !important;
    scroll-snap-type: x mandatory !important;
  }

  .lux-home-products__grid ul.products li.product,
  .lux-home-products__grid ul.products li.product.lux-product-card {
    flex: 0 0 46vw !important;
    width: 46vw !important;
    max-width: 46vw !important;
    min-width: 46vw !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }

  .lux-home-products__grid ul.products li.product .lux-card__media {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
  }

  .lux-home-products__grid ul.products li.product .lux-card__img,
  .lux-home-products__grid ul.products li.product .woocommerce-LoopProduct-link img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 10px !important;
    display: block !important;
  }
}