.nttt-apl-anchor,
.woocommerce ul.products li.product.nttt-apl-anchor,
.woocommerce div.product .woocommerce-product-gallery.nttt-apl-anchor,
.woocommerce div.product .images.nttt-apl-anchor,
.product-grid-item.nttt-apl-anchor,
.product-preview-slider-container.nttt-apl-anchor,
.product-wrap-inner.nttt-apl-anchor {
    position: relative !important;
}

.nttt-apl-layer {
    position: absolute;
    inset: 0;
    z-index: 40;
    pointer-events: none;
    overflow: visible;
    line-height: 1.2;
}

.nttt-apl-stack {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 100%;
    pointer-events: none;
}

.nttt-apl-stack--top-left { top: 0; left: 0; align-items: flex-start; }
.nttt-apl-stack--top-center { top: 0; left: 50%; align-items: center; transform: translateX(-50%); }
.nttt-apl-stack--top-right { top: 0; right: 0; align-items: flex-end; }
.nttt-apl-stack--center { top: 50%; left: 50%; align-items: center; transform: translate(-50%, -50%); }
.nttt-apl-stack--bottom-left { bottom: 0; left: 0; align-items: flex-start; flex-direction: column-reverse; }
.nttt-apl-stack--bottom-center { bottom: 0; left: 50%; align-items: center; flex-direction: column-reverse; transform: translateX(-50%); }
.nttt-apl-stack--bottom-right { bottom: 0; right: 0; align-items: flex-end; flex-direction: column-reverse; }

.nttt-apl-label {
    position: relative;
    z-index: var(--nttt-apl-z-index, 50);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: var(--nttt-apl-max-width, 180px);
    padding: var(--nttt-apl-padding-v, 6px) var(--nttt-apl-padding-h, 10px);
    border: var(--nttt-apl-border-width, 0) solid var(--nttt-apl-border-color, #d93025);
    border-radius: var(--nttt-apl-radius, 4px);
    background: var(--nttt-apl-bg, #d93025);
    color: var(--nttt-apl-color, #fff);
    font-size: var(--nttt-apl-font-size, 13px);
    font-weight: var(--nttt-apl-font-weight, 700);
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: none;
    pointer-events: none;
}

.nttt-apl-label * { color: inherit; }
.nttt-apl-label .woocommerce-Price-amount { color: inherit; font: inherit; }

.nttt-apl-stack--top-left .nttt-apl-label,
.nttt-apl-stack--top-center .nttt-apl-label,
.nttt-apl-stack--top-right .nttt-apl-label {
    transform: translate(var(--nttt-apl-offset-x, 8px), var(--nttt-apl-offset-y, 8px));
}
.nttt-apl-stack--top-center .nttt-apl-label { transform: translate(0, var(--nttt-apl-offset-y, 8px)); }
.nttt-apl-stack--top-right .nttt-apl-label { transform: translate(calc(0px - var(--nttt-apl-offset-x, 8px)), var(--nttt-apl-offset-y, 8px)); }
.nttt-apl-stack--center .nttt-apl-label { transform: translate(var(--nttt-apl-offset-x, 0), var(--nttt-apl-offset-y, 0)); }
.nttt-apl-stack--bottom-left .nttt-apl-label { transform: translate(var(--nttt-apl-offset-x, 8px), calc(0px - var(--nttt-apl-offset-y, 8px))); }
.nttt-apl-stack--bottom-center .nttt-apl-label { transform: translate(0, calc(0px - var(--nttt-apl-offset-y, 8px))); }
.nttt-apl-stack--bottom-right .nttt-apl-label { transform: translate(calc(0px - var(--nttt-apl-offset-x, 8px)), calc(0px - var(--nttt-apl-offset-y, 8px))); }

.nttt-apl-label--pill { border-radius: 999px; }
.nttt-apl-label--square { border-radius: 0; }
.nttt-apl-label--circle {
    width: var(--nttt-apl-max-width, 74px);
    height: var(--nttt-apl-max-width, 74px);
    max-width: none;
    padding: 8px;
    border-radius: 50%;
    aspect-ratio: 1;
}
.nttt-apl-label--ribbon {
    padding-left: calc(var(--nttt-apl-padding-h, 10px) + 8px);
    padding-right: calc(var(--nttt-apl-padding-h, 10px) + 8px);
    border-radius: 0;
    clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 50%, 100% 100%, 0 100%, 9px 50%);
}

.nttt-apl-label--image {
    width: var(--nttt-apl-image-width, 90px);
    max-width: min(var(--nttt-apl-image-width, 90px), 45vw);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.nttt-apl-label-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* Compatibility: MyThemeShop eCommerce product preview sliders. */
.product-preview-slider-container .nttt-apl-layer,
.product-wrap-inner .nttt-apl-layer {
    z-index: 30;
}
.product-preview-slider-container .nttt-apl-stack,
.product-wrap-inner .nttt-apl-stack {
    z-index: 31;
}

@media (max-width: 767px) {
    .nttt-apl-stack { gap: 4px; }
    .nttt-apl-label {
        font-size: var(--nttt-apl-font-mobile, 11px);
        max-width: min(var(--nttt-apl-max-width, 180px), 44vw);
    }
    .nttt-apl-label--image {
        width: var(--nttt-apl-image-mobile, 70px);
        max-width: min(var(--nttt-apl-image-mobile, 70px), 38vw);
    }
}
