.ehc-rv {
  width: 100%;
  max-width: var(--ehc-rv-container, 980px);
  margin: 0 auto;
  box-sizing: border-box;
}

.ehc-rv[hidden] {
  display: none !important;
}

.ehc-rv__viewport-wrap {
  position: relative;
  width: 100%;
}

.ehc-rv__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  padding: 0 1px 8px;
  box-sizing: border-box;
}

.ehc-rv__viewport::-webkit-scrollbar {
  display: none;
}

.ehc-rv__track.products {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: var(--ehc-rv-card-desktop);
  gap: var(--ehc-rv-gap);
  width: max-content;
  min-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  justify-content: start;
  align-items: stretch;
}

.ehc-rv--static .ehc-rv__track.products {
  justify-content: center;
}

.ehc-rv__track.products::before,
.ehc-rv__track.products::after {
  content: none !important;
  display: none !important;
}

.ehc-rv__track.products li.product,
.ehc-rv__track.products.columns-1 li.product,
.ehc-rv__track.products.columns-2 li.product,
.ehc-rv__track.products.columns-3 li.product,
.ehc-rv__track.products.columns-4 li.product,
.ehc-rv__track.products.columns-5 li.product,
.ehc-rv__track.products.columns-6 li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: var(--ehc-rv-card-padding) !important;
  border: 1px solid var(--ehc-rv-card-border) !important;
  border-radius: var(--ehc-rv-card-radius) !important;
  background: var(--ehc-rv-card-bg) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  scroll-snap-align: start;
  display: flex !important;
  flex-direction: column;
  text-align: center !important;
}

.ehc-rv__track.products li.product > a.woocommerce-LoopProduct-link,
.ehc-rv__track.products li.product > a.woocommerce-loop-product__link {
  display: block;
  text-decoration: none !important;
}

.ehc-rv__track.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  box-sizing: border-box !important;
  padding: var(--ehc-rv-image-padding) !important;
  border: 1px solid var(--ehc-rv-image-border) !important;
  background: #fff;
  margin: 0 0 12px !important;
}

.ehc-rv__track.products li.product .woocommerce-loop-product__title,
.ehc-rv__track.products li.product h2,
.ehc-rv__track.products li.product h3 {
  color: var(--ehc-rv-title-color) !important;
  font-size: var(--ehc-rv-title-size) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin: 0 4px 6px !important;
  text-transform: none !important;
}

.ehc-rv__track.products li.product .price {
  color: var(--ehc-rv-price-color) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-align: center !important;
  margin: 0 3px 10px !important;
}

.ehc-rv__track.products li.product .price ins {
  color: var(--ehc-rv-price-color) !important;
  background: transparent !important;
  text-decoration: none !important;
}

.ehc-rv__track.products li.product .price del {
  color: var(--ehc-rv-old-price-color) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
  margin-right: 3px;
}

.ehc-rv__track.products li.product .button,
.ehc-rv__track.products li.product a.button {
  align-self: center;
  margin: auto auto 0 !important;
  padding: 9px 14px !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: var(--ehc-rv-button-radius) !important;
  background: var(--ehc-rv-button-bg) !important;
  color: var(--ehc-rv-button-text) !important;
  font-size: var(--ehc-rv-button-size) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.ehc-rv__track.products li.product .button:hover,
.ehc-rv__track.products li.product a.button:hover {
  filter: brightness(.92);
}

/* Marcas: cubre las clases más comunes usadas por temas/plugins de WooCommerce. */
.ehc-rv__track.products li.product .brand,
.ehc-rv__track.products li.product .product-brand,
.ehc-rv__track.products li.product .product_brand,
.ehc-rv__track.products li.product .woocommerce-loop-product__brand,
.ehc-rv__track.products li.product .pwb-brands-in-loop,
.ehc-rv__track.products li.product .wcpv-sold-by-loop {
  color: var(--ehc-rv-brand-color) !important;
  text-align: center !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  margin: 0 0 5px !important;
}

.ehc-rv--hide-brand .brand,
.ehc-rv--hide-brand .product-brand,
.ehc-rv--hide-brand .product_brand,
.ehc-rv--hide-brand .woocommerce-loop-product__brand,
.ehc-rv--hide-brand .pwb-brands-in-loop,
.ehc-rv--hide-brand .wcpv-sold-by-loop {
  display: none !important;
}

.ehc-rv--hide-price .price {
  display: none !important;
}

.ehc-rv--hide-button .button {
  display: none !important;
}

.ehc-rv__track.products li.product .onsale {
  display: none !important;
}

.ehc-rv--show-sale .ehc-rv__track.products li.product .onsale {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.1 !important;
  padding: 6px 8px !important;
  border-radius: 2px !important;
  margin: 0 !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  background: #e84262 !important;
  color: #fff !important;
  font-size: 10px !important;
}

.ehc-rv__arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: var(--ehc-rv-title-color);
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0,0,0,.08);
  font-size: 23px;
  line-height: 1;
  display: grid;
  place-items: center;
}

.ehc-rv__arrow--prev { left: -16px; }
.ehc-rv__arrow--next { right: -16px; }

.ehc-rv__arrow:disabled {
  opacity: .28;
  cursor: default;
}

.ehc-rv__arrow[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .ehc-rv {
    max-width: 100%;
  }

  .ehc-rv__track.products {
    grid-auto-columns: var(--ehc-rv-card-tablet);
  }
}

@media (max-width: 640px) {
  .ehc-rv__track.products {
    grid-auto-columns: var(--ehc-rv-card-mobile);
  }

  .ehc-rv__arrow {
    display: none !important;
  }
}
