.pva-preorder-badge {
    display: inline-block;
    margin: 0 0 12px;
    padding: 7px 11px;
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.woocommerce ul.products li.product {
    position: relative;
}

.woocommerce ul.products li.product .pva-preorder-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;
    margin: 0;
}

.pva-preorder-message {
    margin: 15px 0 20px;
    padding: 15px 18px;
    background: #f5f5f5;
    border-left: 4px solid #111;
    font-size: 14px;
    line-height: 1.6;
}

.pva-preorder-message p:last-child {
    margin-bottom: 0;
}

.pva-preorder-shortcode-notice {
    margin-bottom: 20px;
}


/*
 * Shortcode badge overlay
 * ------------------------------------------------------------
 * [pva_preorder_badge] defaults to overlay mode. In Elementor,
 * the Shortcode widget is removed from normal layout flow and
 * anchored to the top-left of the containing product/card area.
 */
.pva-preorder-shortcode--overlay {
    display: block;
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 20;
    width: max-content;
    max-width: calc(100% - 32px);
    margin: 0;
    pointer-events: none;
}

.pva-preorder-shortcode--overlay .pva-preorder-badge {
    margin: 0;
}

/* Generic wrapper support for custom builders/templates. */
.pva-preorder-image-wrap {
    position: relative;
}

.pva-preorder-image-wrap .pva-preorder-shortcode--overlay {
    top: 16px;
    left: 16px;
}

/* Elementor Loop/Grid support. The shortcode widget itself is taken out of
 * the flex/grid flow so it does not leave an empty gap above the image. */
.elementor-widget-shortcode:has(.pva-preorder-shortcode--overlay) {
    position: absolute !important;
    top: 16px;
    left: 16px;
    z-index: 20;
    width: auto !important;
    max-width: calc(100% - 32px);
    margin: 0 !important;
}

.elementor-widget-shortcode:has(.pva-preorder-shortcode--overlay) .pva-preorder-shortcode--overlay {
    position: static;
    display: block;
    max-width: 100%;
}

/* Give common Elementor product/loop containers a positioning context. */
.e-loop-item:has(.pva-preorder-shortcode--overlay),
.elementor-loop-container > *:has(.pva-preorder-shortcode--overlay),
.e-con:has(> .elementor-widget-shortcode .pva-preorder-shortcode--overlay) {
    position: relative;
}

/* Inline opt-out: [pva_preorder_badge overlay="no"] */
.pva-preorder-shortcode--inline {
    display: inline-block;
}

.pva-preorder-shortcode--inline .pva-preorder-badge {
    margin: 0;
}
