/* Solo per [tvhotel_offerte]. Le card HTML restano quelle di Salient/WooCommerce. */
.tvh-offers { --tvh-green: #78c043; --tvh-ink: #111827; }
.tvh-offers .tvh-offers-group + .tvh-offers-group { margin-top: 48px; }
.tvh-offers .tvh-offers-heading {
  color: var(--tvh-ink);
  font: 700 26px/1.25 'Open Sans', sans-serif;
  margin: 0 0 20px;
  padding: 0 0 10px;
  border-bottom: 3px solid var(--tvh-green);
}
.tvh-offers ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
}
.tvh-offers ul.products::before, .tvh-offers ul.products::after { display: none !important; }
.tvh-offers ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  min-width: 0;
}
.tvh-offers ul.products li.product .background-color-expand { display: none !important; }
.tvh-offers ul.products li.product .product-wrap {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transform: none !important;
}
.tvh-offers ul.products li.product .product-wrap > a img {
  display: block;
  width: 100%;
  height: auto;
  transform: none !important;
}
.tvh-offers ul.products li.product .onsale {
  background: var(--tvh-green) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font: 800 10px/1.4 system-ui, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 4px 10px !important;
}
.tvh-offers ul.products li.product .product-meta { padding: 14px 16px 0 !important; }
.tvh-offers ul.products li.product h2.woocommerce-loop-product__title {
  color: var(--tvh-ink) !important;
  font: 700 14px/1.35 system-ui, sans-serif !important;
  margin: 0 !important;
}
.tvh-offers ul.products li.product .price-hover-wrap {
  display: block !important;
  position: static !important;
  width: 100% !important;
  box-sizing: border-box;
  padding: 8px 16px 16px !important;
  transform: none !important;
  overflow: visible !important;
}
.tvh-offers ul.products li.product .product-add-to-cart,
.tvh-offers ul.products[data-rm-m-hover="1"] li.product.minimal .product-add-to-cart {
  display: block !important;
  pointer-events: auto !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.tvh-offers ul.products li.product .price-hover-wrap .price {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.tvh-offers ul.products li.product .price {
  color: var(--tvh-ink) !important;
  font: 800 14px/1.4 system-ui, sans-serif !important;
  margin-bottom: 10px !important;
}
.tvh-offers ul.products li.product .price del { color: #9ca3af !important; }
.tvh-offers ul.products li.product .price ins { color: var(--tvh-ink) !important; text-decoration: none !important; }
.tvh-offers ul.products li.product .product-add-to-cart { text-align: right; }
.tvh-offers ul.products li.product .product-add-to-cart a.button {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: #1f2937 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font: 700 11px/1 system-ui, sans-serif !important;
  padding: 8px 14px !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: none !important;
}
.tvh-offers ul.products li.product .product-add-to-cart a.button:hover { background: var(--tvh-green) !important; }
.tvh-offers ul.products li.product .product-add-to-cart a.button span,
.tvh-offers ul.products li.product .product-add-to-cart a.button i { color: #fff !important; }
.tvh-offers-actions { text-align: center; padding: 36px 0 12px; }
.tvh-offers-more {
  display: inline-block;
  background: #277833;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 14px 24px;
  font: 700 14px/1.3 'Open Sans', sans-serif;
  cursor: pointer;
}
.tvh-offers-more:hover, .tvh-offers-more:focus-visible { background: #1f2937; color: #fff; }
.tvh-offers-more:disabled { opacity: .55; cursor: wait; }
.tvh-offers-more[hidden] { display: none !important; }
.tvh-offers-status { display: block; padding-top: 8px; color: #676767; }
.tvh-offers-empty { text-align: center; padding: 36px 0; }
@media (max-width: 1100px) { .tvh-offers ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) { .tvh-offers ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .tvh-offers ul.products { grid-template-columns: minmax(0, 1fr); } }
