.fwdipd-frontend-holder,
.fwdipd-frontend-mount{
    position: relative;
    width: 100%;
}

.fwdipd-frontend-holder{
    clear: both;
    margin: 24px 0;
}

.fwdipd-variation-selection-message{
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 180px;
    padding: 30px;
    border: 1px solid #e2e2e2;
    background: #f6f6f6;
    color: #333333;
    font-family: Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
}

/* Match WooCommerce's direct inline Customize-button placement. */
.single-product div.product form.cart .fwdipd-woocommerce-lightbox-button,
.single-product div.product form.cart .fwdipd-woocommerce-lightbox-button .fwdipd-frontend-mount{
    display: contents !important;
}

.single-product div.product form.cart .fwdipd-woocommerce-lightbox-button button.fwdipd-display-button{
    display: inline-block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle !important;
}

.single-product div.product form.cart .fwdipd-woocommerce-lightbox-before-cart button.fwdipd-display-button{
    order: 2 !important;
    grid-column: 2 / 3 !important;
    margin-right: 4px !important;
    margin-left: 0 !important;
}

.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-before-cart) > .quantity,
.single-product div.product form.cart .woocommerce-variation-add-to-cart:has(> .fwdipd-woocommerce-lightbox-before-cart) > .quantity{
    order: 1 !important;
}

.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-before-cart) .single_add_to_cart_button,
.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-before-cart) [name="add-to-cart"]{
    order: 3 !important;
    grid-column: 3 / 4 !important;
}

.single-product div.product form.cart .fwdipd-woocommerce-lightbox-after-cart button.fwdipd-display-button{
    grid-column: 3 / 4 !important;
    margin-right: 0 !important;
    margin-left: 4px !important;
}

.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-before-cart),
.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-after-cart),
.single-product div.product form.cart .woocommerce-variation-add-to-cart:has(> .fwdipd-woocommerce-lightbox-before-cart),
.single-product div.product form.cart .woocommerce-variation-add-to-cart:has(> .fwdipd-woocommerce-lightbox-after-cart){
    grid-template-columns: min-content max-content max-content !important;
    justify-content: start !important;
    column-gap: 0 !important;
}

/* Keep cart controls readable when the Customize button shares their row. */
.single-product div.product form.cart:has(.fwdipd-woocommerce-lightbox-button) .quantity,
.single-product div.product form.cart:has(.fwdipd-woocommerce-lightbox-button) .single_add_to_cart_button,
.single-product div.product form.cart:has(.fwdipd-woocommerce-lightbox-button) [name="add-to-cart"],
.single-product div.product form.cart:has(.fwdipd-woocommerce-lightbox-button) button.fwdipd-display-button{
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.single-product div.product form.cart:has(> .fwdipd-woocommerce-lightbox-button),
.single-product div.product form.cart .woocommerce-variation-add-to-cart:has(> .fwdipd-woocommerce-lightbox-button){
    flex-wrap: wrap !important;
}

/* Match the standard WooCommerce gallery column when replacing the product image. */
.single-product div.product .fwdipd-woocommerce-replace-product-image{
    float: left;
    clear: none;
    flex: 0 0 48%;
    width: 48%;
    max-width: 48%;
    margin: 0 0 2em;
}

/* Hide galleries output by themes outside WooCommerce's removable callback. */
body.fwdipd-woocommerce-hides-product-image.single-product div.product .fwdipd-replaced-woocommerce-gallery,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .wp-block-column.fwdipd-replaced-woocommerce-gallery,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .images.fwdipd-replaced-woocommerce-gallery,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .flex-control-nav,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .flex-control-thumbs,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .woocommerce-product-thumbnails,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .product-thumbnails,
body.fwdipd-woocommerce-hides-product-image.single-product div.product .product-gallery-thumbnails,
body.fwdipd-woocommerce-hides-product-image.single-product div.product > .woocommerce-product-gallery{
    display: none !important;
}

/* Fill a theme-provided gallery column when the holder is moved inside it. */
.single-product div.product .fwdipd-woocommerce-replace-product-image.fwdipd-replace-product-image-in-place{
    float: none !important;
    clear: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Let replacement mode occupy the complete WooCommerce product container. */
.single-product div.product .fwdipd-woocommerce-replace-product-image.fwdipd-woocommerce-replace-product-image-full-width{
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 2em !important;
}

/* Stack full-width variation layouts instead of squeezing them into theme columns. */
body.fwdipd-woocommerce-full-width-summary.single-product .fwdipd-woocommerce-full-width-layout{
    flex-wrap: wrap !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

body.fwdipd-woocommerce-full-width-summary.single-product .fwdipd-woocommerce-full-width-layout > .fwdipd-woocommerce-replace-product-image,
body.fwdipd-woocommerce-full-width-summary.single-product .fwdipd-woocommerce-full-width-summary-column{
    float: none !important;
    clear: both !important;
    flex: 0 0 100% !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Reclaim the gallery column for the WooCommerce product summary. */
body.fwdipd-woocommerce-full-width-summary.single-product div.product .summary{
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media screen and (max-width: 768px){
    .single-product div.product .fwdipd-woocommerce-replace-product-image{
        float: none;
        clear: both;
        flex-basis: 100%;
        width: 100%;
        max-width: 100%;
    }
}
.single-product form.cart .fwdipd-order-capture-pending{
    pointer-events: none !important;
    opacity: .55 !important;
}
