/* ===== Wrapper ===== */
.nvc-carousel{ 
  position:relative; 
  width:100%; 
  overflow:hidden; 
}

/* Track a scorrimento */
.nvc-track{
  display:flex; 
  align-items:stretch;
  will-change: transform;
  transition: transform 0.6s ease-in-out;
}

/* Item */
.nvc-item{ 
  flex:0 0 auto; 
  padding:0 .45rem; 
  box-sizing:border-box; 
}
@media (max-width:1023.98px){ .nvc-item{ padding:0 .35rem; } }
@media (max-width:767.98px){ .nvc-item{ padding:0 .3rem; } }

/* Breakpoints 5/4/3/2 */
@media (min-width:1360px){ .nvc-item{ width:calc(100%/5); } }
@media (min-width:1024px) and (max-width:1359.98px){ .nvc-item{ width:calc(100%/4); } }
@media (min-width:768px) and (max-width:1023.98px){ .nvc-item{ width:calc(100%/3); } }
@media (max-width:767.98px){ .nvc-item{ width:calc(100%/2); } }

/* Card */
.nvc-card{
  background:#fff; 
  border-radius:16px; 
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  overflow:hidden; 
  transition:transform .15s, box-shadow .15s; 
  display:flex; 
  flex-direction:column; 
  height:100%;
}
.nvc-card:hover{ 
  transform:translateY(-2px); 
  box-shadow:0 12px 28px rgba(0,0,0,.09); 
}

.nvc-card__thumb{ 
  position:relative; 
  display:block; 
  background:#fafafa; 
  aspect-ratio:4/3; 
}
.nvc-card__img{ 
  width:100%; 
  height:100%; 
  object-fit:contain!important; 
  display:block; 
}

.nvc-badge-sale{
  position:absolute; 
  top:12px; 
  left:12px;
  background:#0f3d2e; 
  color:#fff; 
  font-weight:700; 
  font-size:.85rem; 
  line-height:1;
  padding:8px 10px; 
  border-radius:10px;
}

.nvc-card__body{ 
  display:flex; 
  flex-direction:column; 
  padding:14px 14px 12px; 
  min-height:180px; 
}
.nvc-card__title{ 
  font-size:14px; 
  line-height:1.35; 
  margin:0 0 6px; 
  font-weight:800; 
}
.nvc-card__title a{ 
  color:inherit; 
  text-decoration:none; 
}
.nvc-card__meta{ 
  margin-bottom:6px; 
}
.nvc-card__meta .star-rating{ 
  font-size:14px; 
  height:auto; 
}

.nvc-card__spacer{ 
  flex:1 1 auto; 
}
.nvc-card__footer{ 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  gap:8px; 
  margin-top:4px; 
}

/* Prezzi */
.nvc-card__price .nvc-price{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:6px !important;
  margin:0 !important;
  line-height:1.15 !important;
  font-size:1.4rem !important;
  font-weight:800 !important;
  color:inherit !important;
}
.nvc-card__price .nvc-price del{
  opacity:.55 !important; 
  margin-right:6px !important; 
  font-weight:600 !important;
}
.nvc-card__price .nvc-price del .amount,
.nvc-card__price .nvc-price del .woocommerce-Price-amount{ 
  text-decoration:line-through !important; 
  font-size:.88rem !important; 
}
.nvc-card__price .nvc-price ins{ 
  text-decoration:none !important; 
}
.nvc-card__price .nvc-price ins .amount,
.nvc-card__price .nvc-price ins .woocommerce-Price-amount{ 
  font-size:1.4rem !important; 
  font-weight:800 !important; 
  color:#1e7f5b !important; 
}
.nvc-card__price .woocommerce-Price-currencySymbol{ 
  margin-right:2px !important; 
}

.nvc-card__price .nvc-price--single{ color:inherit !important; }
.nvc-card__price .nvc-price--sale ins{ color:#1e7f5b !important; }

/* CTA */
.nvc-icon-btn{
  display:inline-flex; 
  align-items:center; 
  justify-content:center;
  width:44px; 
  height:44px; 
  background:#1e7f5b; 
  color:#fff; 
  border:none;
  border-radius:12px; 
  text-decoration:none; 
  transition:transform .12s ease, filter .12s ease;
}
.nvc-icon-btn:hover{ 
  filter:brightness(0.95); 
  transform:translateY(-1px); 
  color:#fff; 
}

.nvc-item > li.product{ 
  list-style:none; 
}

.nvc-icon-btn.is-added{ background:#0f3d2e; }
.nvc-toast{
  position:absolute; 
  right:12px; 
  bottom:12px; 
  background:#0f3d2e; 
  color:#fff;
  padding:6px 10px; 
  border-radius:10px; 
  font-size:.75rem; 
  font-weight:700; 
  opacity:0; 
  transform:translateY(6px);
  pointer-events:none; 
  transition:opacity .25s ease, transform .25s ease;
}
.nvc-toast.show{ 
  opacity:1; 
  transform:translateY(0); 
}

/* Cursor & drag UX - SEMPLIFICATO */
.nvc-carousel .nvc-track{ 
  cursor: grab;
}
.nvc-carousel.grabbing .nvc-track{ 
  cursor: grabbing;
}

/* IMPORTANTE: NESSUN pointer-events: none sui link! */
/* I link sono SEMPRE cliccabili */

.nvc-fly-clone{
  box-shadow:0 8px 25px rgba(0,0,0,0.15);
  border:2px solid #fff;
}