.woocommerce ul.products li.product {
  position: relative;
}

/* Use the product image link as the badge anchor, not the full card. */
.woocommerce ul.products li.product > a:first-of-type {
  position: relative;
  display: block;
}

.woocommerce ul.products li.product .hpw-product-card__image {
  position: relative;
  display: block;
}

.woocommerce ul.products li.product .hpw-product-card__image > img {
  display: block;
}

.hpw-product-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
}

.hpw-product-badges--loop {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 20;
  flex-direction: column;
  pointer-events: none;
}

.hpw-product-badges--inline {
  position: absolute;
  display: inline-flex;
  vertical-align: middle;
  top: 10px;
  left: 10px;
}

.hpw-product-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 5px 12px !important;
  border-radius: 6px;
  background: #0d69a0;
  color: #fff;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
  z-index: 9999;
}

.hpw-product-badge--new {
  background: #0d69a0;
  color: #fff;
  z-index: 9999;
}

.hpw-product-badge--featured {
  background: #0d69a0;
  color: #fff;
  z-index: 9999;
}

.hpw-pdp-badges .hpw-product-badge {
  min-height: 28px;
  padding: 5px 12px;
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 700;
}
.elementor-widget.hpw-product-badges-widget {
  margin-block-end: 0 !important;
}
.elementor-widget:has(.hpw-product-badges--loop) {
  margin-block-end: 0 !important;
}

.elementor-widget-shortcode:has(.sale-badge) {
  margin-block-end: 0 !important;
}
