/* Single-product repair only. Existing card/header/cart/office styles stay intact. */
body.single-product div.product div.summary.entry-summary {
    /* The theme's gallery-sync script writes a fixed inline height. A summary
       must instead be able to grow with descriptions, offers and stock text. */
    height: auto !important;
    min-width: 0;
}

body.single-product .summary .velloro-product-story {
    flex-shrink: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

body.single-product .summary .velloro-product-story p + p {
    margin-top: .7em;
}

@media (min-width: 761px) {
    body.single-product div.product div.summary.entry-summary {
        /* Preserve the existing lower inset of the anchored purchase block. */
        padding-bottom: clamp(20px, 2vw, 32px) !important;
    }

    body.single-product .summary > .velloro-product-actions {
        /* Keep short summaries bottom-aligned, but reserve real flow space
           before every size/quantity/Bag/Wishlist control for long stories. */
        bottom: auto !important;
        flex-shrink: 0;
        left: auto !important;
        margin-top: auto !important;
        padding-top: 30px;
        position: relative !important;
    }
}

/* The single-gallery badges use the theme's 18px inset and 40px stack steps.
   The new marker remains the last marker, below Sale and/or Best Seller. */
body.single-product .woocommerce-product-gallery .vbo-offer-badge.vbo-offer-badge--single {
    left: 18px !important;
    max-width: calc(100% - 36px) !important;
    top: 18px !important;
}

body.single-product .woocommerce-product-gallery .vbo-offer-badge.vbo-offer-badge--single.vbo-offer-badge--after-1 {
    top: 58px !important;
}

body.single-product .woocommerce-product-gallery .vbo-offer-badge.vbo-offer-badge--single.vbo-offer-badge--after-2 {
    top: 98px !important;
}
