/* xZoom CSS */
.xzoom-container {
    position: relative;
    z-index: 9999;
}

.xzoom-loading {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    z-index: 10001;
    background: rgba(255,255,255,0.8);
}

.xzoom-lens {
    position: absolute;
    border: 1px solid #aaa;
    background: rgba(255,255,255,0.4);
    cursor: crosshair;
    display: none;
    z-index: 10000;
    pointer-events: none;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.xzoom-preview {
    position: absolute;
    display: none;
    z-index: 10002;
    overflow: hidden;
    border: 1px solid #888;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.xzoom-preview img {
    position: absolute;
    max-width: none !important;
    max-height: none !important;
}

.xzoom-source {
    display: block;
}

/* Gallery */
.xzoom-gallery {
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s;
}

.xzoom-gallery:hover {
    opacity: 1;
}

.xzoom-gallery.xactive {
    opacity: 1;
    border: 2px solid #333;
}

/* Mobile Styles */
@media (max-width: 768px) {
    .xzoom-lens {
        width: 80px !important;
        height: 80px !important;
    }
    
    .xzoom-preview {
        width: 100% !important;
        height: auto !important;
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%);
        max-width: 90%;
        max-height: 90%;
    }
}
