.pbm-host {
    position: relative !important;
}

.pbm-overlay {
    bottom: 0;
    left: 0;
    overflow: visible;
    pointer-events: none !important;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 50;
}

.pbm-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none !important;
    position: absolute;
}

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

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

.pbm-stack-bottom-left {
    align-items: flex-start;
    bottom: var(--pbm-offset-y, 8px);
    flex-direction: column-reverse;
    left: var(--pbm-offset-x, 8px);
}

.pbm-stack-bottom-right {
    align-items: flex-end;
    bottom: var(--pbm-offset-y, 8px);
    flex-direction: column-reverse;
    right: var(--pbm-offset-x, 8px);
}

.pbm-badge {
    --pbm-size: var(--pbm-desktop-width, 100px);
    align-items: center;
    box-sizing: border-box !important;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    height: calc(var(--pbm-size) * var(--pbm-ratio, 1));
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: hidden;
    padding: calc(var(--pbm-size) * .055);
    pointer-events: none !important;
    position: relative;
    text-align: center;
    transform: rotate(var(--pbm-rotation, 0deg));
    transform-origin: center;
    width: var(--pbm-size);
}

.pbm-badge-text.pbm-has-shadow {
    box-shadow: 0 calc(var(--pbm-size) * .045) calc(var(--pbm-size) * .095) rgba(31, 41, 51, .24);
}

.pbm-badge-image {
    background: transparent !important;
    overflow: hidden;
    padding: 0 !important;
}

.pbm-badge-image.pbm-has-shadow {
    filter: drop-shadow(0 calc(var(--pbm-size) * .045) calc(var(--pbm-size) * .055) rgba(31, 41, 51, .24));
}

.pbm-badge-bg {
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: 100% !important;
    inset: 0;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: contain;
    padding: 0 !important;
    position: absolute;
    width: 100% !important;
    z-index: 0;
}

.pbm-badge-tint {
    inset: 0;
    position: absolute;
    z-index: 1;
}

.pbm-badge-text-layer {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 50%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(calc(-50% + var(--pbm-text-x, 0%)), calc(-50% + var(--pbm-text-y, 0%)));
    z-index: 2;
}

.pbm-badge-line {
    display: block;
    flex: 0 0 auto;
    font-size: calc(var(--pbm-size) * .12);
    letter-spacing: 0;
    line-height: .98 !important;
    margin: 0 !important;
    max-width: 100%;
    padding: 0 !important;
    text-align: center !important;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .pbm-badge {
        --pbm-size: var(--pbm-mobile-width, 90px);
    }

    .pbm-stack {
        gap: 6px;
    }
}
