

/* --- Estilos Generales y Swatches --- */

.rqv-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.7);display:none;justify-content:center;align-items:center;z-index:21475;opacity:0;transition:opacity 0.3s ease;}

.rqv-modal-overlay.active{display:flex;opacity:1;}

.rqv-modal-content{background-color:#fff;border-radius:8px;position:relative;width:95%;max-width:850px;transform:scale(0.9);transition:transform 0.3s ease; padding: 20px;}

.rqv-modal-body {
    max-height: calc(90vh - 40px); /* Ajusta altura máxima (90% pantalla menos el padding superior/inferior del modal) */
    overflow-y: auto; /* Añade el scroll aquí */
    padding-right: 15px; /* Espacio extra para que la barra de scroll no tape el contenido */
}

.rqv-modal-overlay.active .rqv-modal-content{transform:scale(1);}

.rqv-modal-close{position: absolute;;top: 8px; right: 8px;width: 32px; height: 32px;font-size: 24px;line-height: 32px;text-align: center;color: #666;background-color: #f0f0f0;border: none;border-radius: 50%;cursor: pointer;z-index: 15;transition: all 0.2s ease;}

.rqv-modal-close:hover {background-color: #e0e0e0;color: #111;}

.rqv-modal-body .loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #0073e6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:80px auto;}

@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

.rqv-modal-body .product{display:flex;flex-direction:column;}

.rqv-modal-body .rqv-product-summary{width:100%;}

.rqv-modal-body .product_title{font-size:24px;margin-top:0;}

.rqv-modal-body .price{font-size:20px;font-weight:bold;color:#111;margin-bottom:15px; min-height: 30px;}

.rqv-modal-body .single_add_to_cart_button{width:100%;padding:12px;font-size:16px;font-weight:bold;border-radius: 50px;}

.rqv-modal-body .variations_form .variations { display: none !important; }

.rqv-swatches-container { margin: 15px 0; }

.rqv-swatches-container label { font-weight: bold; display: block; margin-bottom: 8px; }

.rqv-swatches { display: flex; flex-wrap: wrap; gap: 0px; }

.rqv-swatch { background-color: #f5f5f5; border: 2px solid #ddd; border-radius: 20px; padding: 6px 14px; cursor: pointer; font-size: 14px; transition: all 0.2s ease; }

.rqv-swatch:hover { border-color: #aaa; }

.rqv-swatch.selected { background-color: #0073e6; border-color: #0073e6; color: #fff; font-weight: bold; }

.rqv-modal-body .cart { margin-top: 20px; }



/* --- Estilos Galería y Lightbox --- */

.rqv-product-gallery { width: 100%; margin-bottom: 20px; z-index: 10; position: relative; overflow: hidden;}

.rqv-main-image { touch-action: pan-y; }

.rqv-main-image img { width: 100%; height: auto; border-radius: 5px; cursor: zoom-in; display: block; }

.rqv-gallery-thumbnails { display: flex; gap: 10px; margin-top: 10px; overflow-x: auto; padding-bottom: 5px; }

.rqv-thumbnail { border: 2px solid transparent; border-radius: 4px; cursor: pointer; transition: border-color 0.2s; flex-shrink: 0;}

.rqv-thumbnail img { display: block; width: 60px; height: 60px; object-fit: cover; border-radius: 2px; }

.rqv-thumbnail.active { border-color: #0073e6; }



.rqv-lightbox-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); z-index: 99999; display: none; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease; overflow: hidden; }

.rqv-lightbox-overlay.active { display: flex; opacity: 1; }

#rqv-lightbox-image-container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; overflow: hidden; }

#rqv-lightbox-image { display: block; max-width: 90%; max-height: 90%; width: auto; height: auto; object-fit: contain; cursor: grab; transform-origin: center center; touch-action: none; }

.rqv-lightbox-close { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; font-size: 28px; color: #fff; background: rgba(0,0,0,0.5); border: none; border-radius: 50%; cursor: pointer; z-index: 10; }



@media (min-width: 768px){.rqv-modal-body .product{flex-direction:row;gap:30px;}.rqv-product-gallery, .rqv-modal-body .rqv-product-summary{width:50%;margin-bottom:0;}}

