/* Kendo's document offsets must not send QuickView away from the clicked viewport. */
.iw-quickview-viewport .k-window.quickView {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    overflow: auto;
    box-sizing: border-box;
}
.iw-quickview-viewport .quickViewWindow {
    min-width: 0 !important;
    max-height: calc(100dvh - 72px);
    overflow: auto !important;
}
.iw-quickview-viewport .quickViewWindow .gallery img {
    max-width: 100%;
    object-fit: contain;
}

/* Avenue needs one scroll container, including padding, inside the fixed dialog. */
.iw-theme-avenue.iw-quickview-viewport .k-window.quickView {
    overflow: hidden;
}
.iw-theme-avenue.iw-quickview-viewport .quickViewWindow {
    box-sizing: border-box;
    height: auto !important;
}

/* Touch screens have no hover: keep native QuickView actions reachable. */
/* Avenue retains desktop floats in the vendor popup at phone widths. */
@media (max-width: 600px) {
    .iw-quickview-viewport .iw-touch-quickview .gallery,
    .iw-quickview-viewport .iw-touch-quickview .overview,
    .iw-theme-avenue.iw-quickview-viewport .quickView .gallery,
    .iw-theme-avenue.iw-quickview-viewport .quickView .overview {
        float: none !important;
        width: 100% !important;
        max-width: 100%;
        margin: 0 0 20px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 1000px) {
    .iw-theme-pioneer.iw-quickview-viewport .product-item .buttons:has(> .quick-view-button) {
        display: flex !important;
        justify-content: center;
        flex-wrap: wrap;
        gap: 6px;
    }
    .iw-quickview-viewport .product-item .buttons > .wrapper:has(> .quick-view-button) {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
    .iw-quickview-viewport .product-item .quick-view-button {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}
