.products li.product,
li.product,
.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce-loop-product__link,
.product-type-variable,
.product-type-simple,
.product-type-grouped,
.product-type-external {
    position: relative !important;
    overflow: visible !important;
}

.woocommerce-loop-product__link,
.products li.product a,
li.product a {
    display: block;
    position: relative;
    z-index: 1;
}

.woocommerce-loop-product__link img,
.products li.product a img,
li.product a img,
.attachment-woocommerce_thumbnail,
.wp-post-image {
    width: 100%;
    height: auto;
    display: block;
}

[class^="gemabadge_badge_"] {
    position: absolute !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 30px;
    min-height: 20px;
}

[class^="gemabadge_badge_"] span,
.gemabadge_badge_ span {
    position: relative !important;
    z-index: 999999 !important;
    display: inline-block !important;
    white-space: nowrap;
}

[class^="gemabadge_badge_"] img {
    position: relative !important;
    z-index: 999999 !important;
    max-width: none !important;
    display: block !important;
}

.astra-shop-thumbnail-wrap,
.shop-island-product-image,
.product-image-wrapper,
.image-wrap,
.product-image,
.thumbnail-container,
.image-container {
    position: relative !important;
    overflow: visible !important;
}

.theme-storefront .products li.product,
.theme-flatsome .product-small,
.theme-oceanwp .product-inner,
.theme-astra .astra-shop-thumbnail-wrap {
    position: relative !important;
    overflow: visible !important;
}

.onsale,
.sale-flash,
.stock-status,
.featured-badge,
.out-of-stock-badge {
    z-index: 1000 !important;
}

.gem-badge {
    position: absolute !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    display: inline-block !important;
}

.gem-preset-badge,
.gem-custom-badge {
    max-width: none !important;
    display: block !important;
}

.gem-badge-text {
    display: inline-block;
    padding: var(--badge-padding-top, 11px) var(--badge-padding-right, 12px) 
             var(--badge-padding-bottom, 13px) var(--badge-padding-left, 14px);
    border-radius: var(--badge-radius-tl, 15px) var(--badge-radius-tr, 16px) 
                   var(--badge-radius-br, 17px) var(--badge-radius-bl, 18px);
}

.gem-badge-error {
    color: red;
    background: #fff;
    padding: 2px 5px;
}

.gemabadge-variable-badges-container,
.gemabadge-badge-placeholder,
.gemabadge-badge-data {
    display: none;
}