/* Original supplied PNG alpha silhouettes; labels remain real, accessible text. */
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"] {
  --catalogo-badge-color: #e40046;
  --catalogo-badge-mask: url("../images/catalog-badges/new-shape.png");
  display: inline-flex !important;
  flex: 0 0 52px;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 52px !important;
  height: 52px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 52px !important;
  max-height: 52px !important;
  margin: 0;
  padding: 8px 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--catalogo-badge-color) !important;
  color: #fff !important;
  box-shadow: none !important;
  clip-path: none;
  -webkit-mask: var(--catalogo-badge-mask) center / contain no-repeat !important;
  mask: var(--catalogo-badge-mask) center / contain no-repeat !important;
  mask-mode: alpha;
  transform: none;
  animation: none;
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"]:is([data-wapu-badge-kind="in_store"], [data-wapu-badge-kind="preorder"], [data-wapu-badge-kind="on_demand"]) {
  --catalogo-badge-color: #fa3e00;
  --catalogo-badge-mask: url("../images/catalog-badges/availability-shape.png");
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"][data-wapu-badge-kind="best-seller"] {
  --catalogo-badge-color: #485cc7;
  --catalogo-badge-mask: url("../images/catalog-badges/best-seller-shape.png");
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"] .wa-badge__label {
  display: block;
  position: static;
  padding: 0;
  color: #fff !important;
  font-family: var(--wtds-font-text, Arial, sans-serif);
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: .02em !important;
  text-align: center;
  text-transform: uppercase !important;
  white-space: normal;
  overflow-wrap: normal;
}
/* Support legacy feature-card placement without suppressing its other seals. */
body.catalogo-theme .wapu-product-card > .wapu-product-card__badges:has([data-wapu-badge-family="catalogo-seal"]) {
  display: flex !important;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5px;
  position: absolute;
  inset: 8px 8px auto 8px !important;
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 16px);
  padding: 0;
  margin: 0;
  pointer-events: none;
}

/* Promotions and sale labels occupy the lower-right corner of the photo. The overlay
   remains transparent to pointer events, preserving image navigation. */
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) :is(.wapu-product-card__media, .wapu-single__related-compact-media) > .wapu-product-card__badges.wapu-product-card__badges--unified:has(> :is([data-wapu-badge-kind="promotion"], [data-wapu-badge-kind="sale"])) {
  inset: 8px !important;
  height: auto !important;
  align-items: flex-start;
  align-content: flex-start;
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges :is([data-wapu-badge-kind="promotion"], [data-wapu-badge-kind="sale"]) {
  display: inline-flex !important;
  position: absolute !important;
  inset: auto 0 0 auto !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 24px !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 5px 11px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--catalogo-pill-color, #fa3e00) !important;
  color: #fff !important;
  box-shadow: none !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  transform: none !important;
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges :is([data-wapu-badge-kind="promotion"], [data-wapu-badge-kind="sale"]) .wa-badge__label {
  color: #fff !important;
  font: 700 11px/14px var(--wtds-font-text, Arial, sans-serif) !important;
  letter-spacing: normal !important;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

/* A sale keeps the same pill geometry and has its own canonical wording. */
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-kind="sale"] {
  --catalogo-pill-color: #dc2626;
}
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges [data-wapu-badge-kind="sale"] .wa-badge__label {
  text-transform: none !important;
}
/* If both messages apply, stack the promotion above the 24px sale pill. */
body.catalogo-theme :is(.wapu-product-card, .wapu-single__related-carousel-item) .wapu-product-card__badges:has(> [data-wapu-badge-kind="sale"]) [data-wapu-badge-kind="promotion"] {
  bottom: 30px !important;
}

/* Compact mobile recommendations keep simultaneous seals inside their photo. */
@media (max-width: 47.9375rem) {
  body.catalogo-theme .wapu-single__related-carousel-item .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"] {
    flex-basis: 44px;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    padding: 6px 3px !important;
  }
  body.catalogo-theme .wapu-single__related-carousel-item .wapu-product-card__badges [data-wapu-badge-family="catalogo-seal"] .wa-badge__label { font-size: 8px !important; }
}
