/* Estelar Product Badges - front office */
.tvproduct-image,
.thumbnail-top,
.product-thumbnail,
.product-cover,
.elementor-widget-product-images .elementor-main-swiper {
  position: relative;
}

.estelar-badge-layer {
  position: absolute;
  inset: 0;
  z-index: 25;
  pointer-events: none;
  overflow: visible;
}

.estelar-badge-item {
  --estelar-stack-offset: calc(var(--estelar-stack-index, 0) * 8px);
  position: absolute;
  display: block;
  width: var(--estelar-width-desktop, 28%);
  min-width: var(--estelar-min-width, 0px);
  max-width: var(--estelar-max-width, 180px);
  max-width: min(var(--estelar-max-width, 180px), 100%);
  opacity: var(--estelar-opacity, 1);
  pointer-events: none;
  line-height: 0;
  transform-origin: center center;
}

.estelar-badge-item img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  border: 0;
  box-shadow: none;
}

.estelar-badge-visual {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 0;
  border: 0;
  box-shadow: none;
  pointer-events: none;
}

.estelar-badge-position-top-left {
  top: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  left: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  transform: rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-top-center {
  top: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  left: 50%;
  transform: translateX(-50%) rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-top-right {
  top: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  right: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  transform: rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-middle-left {
  top: calc(50% + var(--estelar-stack-offset));
  left: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  transform: translateY(-50%) rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-middle-center {
  top: calc(50% + var(--estelar-stack-offset));
  left: 50%;
  transform: translate(-50%, -50%) rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-middle-right {
  top: calc(50% + var(--estelar-stack-offset));
  right: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  transform: translateY(-50%) rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-bottom-left {
  bottom: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  left: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  transform: rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-bottom-center {
  bottom: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  left: 50%;
  transform: translateX(-50%) rotate(var(--estelar-rotation, 0deg));
}

.estelar-badge-position-bottom-right {
  right: calc(var(--estelar-offset-x, 8px) + var(--estelar-stack-offset));
  bottom: calc(var(--estelar-offset-y, 8px) + var(--estelar-stack-offset));
  transform: rotate(var(--estelar-rotation, 0deg));
}

@media (max-width: 990px) {
  .estelar-badge-item {
    width: var(--estelar-width-tablet, 30%);
  }
}

@media (max-width: 767px) {
  .estelar-badge-item {
    width: var(--estelar-width-mobile, 34%);
  }
}
