.gemsen-labels-wrapper { position: absolute; inset: 0; pointer-events: none; z-index: 5; }
.product-item-photo, .product.media, .gallery-placeholder { position: relative; }
.gemsen-label { position: absolute; pointer-events: none; z-index: 6; }
.gemsen-label__text {
    display: inline-block; line-height: 1.2; font-weight: 700;
    background-color: #1f8ac0; color: #fff; padding: 4px 8px; border-radius: 3px;
    white-space: nowrap;
}
.gemsen-label__image { display: block; max-width: 100%; height: auto; }
.gemsen-label--top-left { top: 8px; left: 8px; }
.gemsen-label--top-right { top: 8px; right: 8px; }
.gemsen-label--bottom-left { bottom: 8px; left: 8px; }
.gemsen-label--bottom-right { bottom: 8px; right: 8px; }
.gemsen-label--center { top: 50%; left: 50%; transform: translate(-50%, -50%); }
@media (max-width: 767px) {
    .gemsen-label { transform: scale(var(--gemsen-mobile-scale, 0.85)); transform-origin: top left; }
    .gemsen-label--top-right { transform-origin: top right; }
    .gemsen-label--bottom-left { transform-origin: bottom left; }
    .gemsen-label--bottom-right { transform-origin: bottom right; }
}
/* Listing labels — anchor to the product photo */
.product-item-photo,
.product-item .product-image-container {
    position: relative;
    display: block;
}

.gemsen-labels-wrapper--listing {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    pointer-events: none;
    z-index: 5;
}

.gemsen-labels-wrapper--listing .gemsen-label {
    position: absolute;
}