/**
 * Fix Quick View - Transform from center popup to top-right bar
 * Flatsome Child Theme
 */

/* Override Magnific Popup container positioning */
.mfp-container {
    padding: 0 !important;
    text-align: left !important;
}

/* Position the quickview modal to top-right */
.mfp-wrap.mfp-ready .mfp-content {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    max-width: 500px !important;
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
}

/* Product lightbox container - full height, scrollable */
.product-lightbox {
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
}

/* Product quick view container */
.product-quick-view-container {
    padding: 0 !important;
    height: 100% !important;
}

/* Product quick view row - stack vertically on mobile */
.product-quick-view-container .row {
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
}

/* Product gallery - fixed height, visible */
.product-quick-view-container .product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 300px !important;
    max-height: 50vh !important;
    overflow: visible !important;
    position: relative !important;
}

/* Product info - scrollable content area */
.product-quick-view-container .product-info {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding: 20px !important;
}

/* Product lightbox inner padding */
.product-lightbox-inner {
    padding: 20px !important;
}

/* Close button positioning - top right corner */
.mfp-close {
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    text-align: center !important;
    background: rgba(0, 0, 0, 0.5) !important;
    color: #fff !important;
    border-radius: 50% !important;
    z-index: 9999 !important;
    opacity: 1 !important;
    font-size: 24px !important;
}

.mfp-close:hover {
    background: rgba(0, 0, 0, 0.7) !important;
    opacity: 1 !important;
}

/* Overlay background - keep it but make it less prominent */
.mfp-bg {
    background: rgba(0, 0, 0, 0.3) !important;
    opacity: 1 !important;
}

/* Animation - slide in from right */
.mfp-wrap.mfp-ready .mfp-content {
    animation: slideInRight 0.4s ease-out !important;
}

.mfp-wrap.mfp-ready.mfp-removing .mfp-content {
    animation: slideOutRight 0.3s ease-in !important;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%) !important;
        opacity: 0 !important;
    }
    to {
        transform: translateX(0) !important;
        opacity: 1 !important;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0) !important;
        opacity: 1 !important;
    }
    to {
        transform: translateX(100%) !important;
        opacity: 0 !important;
    }
}

/* Mobile responsive - full width on small screens */
@media only screen and (max-width: 768px) {
    .mfp-wrap.mfp-ready .mfp-content {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .product-quick-view-container .product-gallery {
        min-height: 250px !important;
        max-height: 40vh !important;
    }
    
    .product-quick-view-container .product-gallery-slider {
        min-height: 250px !important;
    }
    
    .product-quick-view-container .product-gallery-slider .slide {
        min-height: 250px !important;
    }
}

/* Tablet adjustments */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .mfp-wrap.mfp-ready .mfp-content {
        max-width: 450px !important;
    }
}

/* Ensure product gallery slider works properly */
.product-quick-view-container .product-gallery-slider {
    min-height: 300px !important;
    height: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-quick-view-container .product-gallery-slider .slide {
    min-height: 300px !important;
    height: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-quick-view-container .product-gallery-slider .slide img {
    width: 100% !important;
    height: auto !important;
    max-height: 50vh !important;
    object-fit: contain !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure images are visible */
.product-quick-view-container .product-gallery img,
.product-quick-view-container .product-gallery-slider img,
.product-quick-view-container .slide img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
}

/* Fix any overflow issues */
.product-quick-view-container * {
    box-sizing: border-box !important;
}

/* Ensure Flickity slider container is visible */
.product-quick-view-container .flickity-viewport {
    height: 100% !important;
    min-height: 300px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-quick-view-container .flickity-slider {
    height: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Prevent images from being hidden by Flickity */
.product-quick-view-container .flickity-viewport .slide {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

.product-quick-view-container .flickity-viewport .slide.is-selected {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure gallery wrapper doesn't hide content */
.product-quick-view-container .product-gallery .slider {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

