.product-content-image,
.woocommerce-loop-product__link,
.etheme-product-grid-image,
.svb-pl-loop-frame,
.svb-pl-single-frame {
    position: relative;
}

.svb-pl-loop-frame,
.svb-pl-single-frame {
    display: block;
}

.svb-pl-loop-frame > img,
.svb-pl-single-frame > img,
.svb-pl-loop-frame > a,
.svb-pl-single-frame > a,
.svb-pl-single-frame > .woocommerce-product-gallery__image {
    display: block;
}

.svb-pl-labels,
.svb-pl-stack,
.svb-pl-label {
    box-sizing: border-box;
}

.svb-pl-labels {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: block;
    pointer-events: none;
}

.svb-pl-stack {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: calc(100% - var(--svb-pl-stack-inset, 16px));
}

.svb-pl-pos-top-left {
    top: var(--svb-pl-offset-y, 8px);
    left: var(--svb-pl-offset-x, 8px);
    align-items: flex-start;
}

.svb-pl-pos-top-right {
    top: var(--svb-pl-offset-y, 8px);
    right: var(--svb-pl-offset-x, 8px);
    align-items: flex-end;
}

.svb-pl-pos-bottom-left {
    bottom: var(--svb-pl-offset-y, 8px);
    left: var(--svb-pl-offset-x, 8px);
    align-items: flex-start;
}

.svb-pl-pos-bottom-right {
    right: var(--svb-pl-offset-x, 8px);
    bottom: var(--svb-pl-offset-y, 8px);
    align-items: flex-end;
}

.svb-pl-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-width: var(--svb-pl-min-w, 0);
    min-height: var(--svb-pl-min-h, 0);
    line-height: 1.15;
    text-align: center;
    overflow-wrap: anywhere;
    border: 0;
    pointer-events: none;
    transform: rotate(var(--svb-pl-rotate, 0deg));
    transform-origin: center;
}

.svb-pl-label-text {
    min-height: max(24px, var(--svb-pl-min-h, 0px));
    padding: 5px 9px;
    color: var(--svb-pl-color, #fff);
    font-size: var(--svb-pl-font-size, 13px);
    font-weight: 700;
    background: var(--svb-pl-bg, #d71920);
    border: var(--svb-pl-bw, 0) solid var(--svb-pl-border-color, #fff);
    border-radius: var(--svb-pl-radius, 2px);
    letter-spacing: 0;
    text-transform: none;
}

.svb-pl-shadow-soft.svb-pl-label-text,
.svb-pl-shadow-soft.svb-pl-label-preset,
.svb-pl-shadow-soft.svb-pl-label-image img {
    filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.16));
}

.svb-pl-shadow-strong.svb-pl-label-text,
.svb-pl-shadow-strong.svb-pl-label-preset,
.svb-pl-shadow-strong.svb-pl-label-image img {
    filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.28));
}

.svb-pl-shape-pill.svb-pl-label-text {
    border-radius: 999px;
}

.svb-pl-shape-circle.svb-pl-label-text {
    width: max(48px, var(--svb-pl-min-w, 0px));
    min-height: max(48px, var(--svb-pl-min-h, 0px));
    padding: 6px;
    border-radius: 999px;
    aspect-ratio: 1 / 1;
}

.svb-pl-shape-ribbon.svb-pl-label-text {
    position: relative;
    padding-right: 16px;
}

.svb-pl-shape-ribbon.svb-pl-label-text::after {
    position: absolute;
    top: 50%;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 10px solid var(--svb-pl-bg, #d71920);
    content: "";
    transform: translateY(-50%);
}

.svb-pl-label-image {
    background: transparent;
}

.svb-pl-label-image img {
    display: block;
    width: auto;
    min-width: var(--svb-pl-min-w, 0);
    min-height: var(--svb-pl-min-h, 0);
    max-width: min(max(96px, var(--svb-pl-min-w, 0px)), 35vw);
    max-height: max(58px, var(--svb-pl-min-h, 0px));
    object-fit: contain;
}

.svb-pl-label-preset {
    background: transparent;
}

.svb-pl-preset-svg {
    display: block;
    width: max(92px, var(--svb-pl-min-w, 0px));
    min-height: var(--svb-pl-min-h, 0);
    max-width: min(max(96px, var(--svb-pl-min-w, 0px)), 35vw);
    height: auto;
}

.svb-pl-context-single .svb-pl-stack {
    gap: 8px;
    max-width: calc(100% - 24px);
}

.svb-pl-context-single .svb-pl-pos-top-left {
    top: var(--svb-pl-offset-y, 12px);
    left: var(--svb-pl-offset-x, 12px);
}

.svb-pl-context-single .svb-pl-pos-top-right {
    top: var(--svb-pl-offset-y, 12px);
    right: var(--svb-pl-offset-x, 12px);
}

.svb-pl-context-single .svb-pl-pos-bottom-left {
    bottom: var(--svb-pl-offset-y, 12px);
    left: var(--svb-pl-offset-x, 12px);
}

.svb-pl-context-single .svb-pl-pos-bottom-right {
    right: var(--svb-pl-offset-x, 12px);
    bottom: var(--svb-pl-offset-y, 12px);
}

.svb-pl-context-single .svb-pl-label-text {
    min-height: max(30px, var(--svb-pl-min-h, 0px));
    padding: 7px 12px;
}

.svb-pl-context-single .svb-pl-label-image img {
    max-width: min(max(128px, var(--svb-pl-min-w, 0px)), 38vw);
    max-height: max(78px, var(--svb-pl-min-h, 0px));
}

.svb-pl-context-single .svb-pl-preset-svg {
    width: max(116px, var(--svb-pl-min-w, 0px));
    max-width: min(max(128px, var(--svb-pl-min-w, 0px)), 38vw);
}

@media (max-width: 480px) {
    .svb-pl-stack {
        gap: 4px;
        max-width: calc(100% - 12px);
    }

    .svb-pl-pos-top-left,
    .svb-pl-pos-bottom-left {
        left: var(--svb-pl-offset-x, 6px);
    }

    .svb-pl-pos-top-right,
    .svb-pl-pos-bottom-right {
        right: var(--svb-pl-offset-x, 6px);
    }

    .svb-pl-pos-top-left,
    .svb-pl-pos-top-right {
        top: var(--svb-pl-offset-y, 6px);
    }

    .svb-pl-pos-bottom-left,
    .svb-pl-pos-bottom-right {
        bottom: var(--svb-pl-offset-y, 6px);
    }

    .svb-pl-label-text {
        min-height: max(21px, var(--svb-pl-min-h, 0px));
        padding: 4px 7px;
        font-size: min(var(--svb-pl-font-size, 13px), 12px);
    }

    .svb-pl-label-image img {
        max-width: min(max(72px, var(--svb-pl-min-w, 0px)), calc(100vw - 24px));
        max-height: max(44px, var(--svb-pl-min-h, 0px));
    }

    .svb-pl-preset-svg {
        width: max(72px, var(--svb-pl-min-w, 0px));
        max-width: min(max(72px, var(--svb-pl-min-w, 0px)), calc(100vw - 24px));
    }
}
