/* --- Contenedor Principal --- */
.glivu-slider-wrapper { position: relative; width: 100%; overflow: hidden; background: #111; }
.glivu-slider-wrapper.glivu-slider-is-empty { display: none; } /* Oculta todo si no hay slides visibles */
.swiper-container { width: 100%; height: 100%; }
.glivu-main-gallery { min-width: 0; min-height: 0; }
.swiper-slide { position: relative; overflow: hidden; }

/* --- Fondos --- */
.slide-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; }
.slide-background-image { width: 100%; height: 100%; background-size: cover; background-position: center; }

/* --- Video Background Fix --- */
.slide-background-video,
.youtube-background iframe {
    /* Posicionamiento central. El tamaño lo controla el JS. */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* Evita que el video sea más pequeño que el contenedor mientras carga */
    min-width: 100%;
    min-height: 100%;
    /* Anula cualquier restricción de tamaño que pueda venir de otro CSS */
    max-width: none !important; 
}

.youtube-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; }

.slide-background-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }

/* --- ESTRUCTURA DE COLUMNAS ANIDADAS --- */
.glivu-slide-content { position: absolute; top: 0; left: 0; z-index: 3; width: 100%; height: 100%; display: flex; padding: 40px; box-sizing: border-box; align-items: center; gap: 20px; }
.column-container { display: flex; height: 100%; align-items: center; }
.column-left, .column-right { flex-basis: 50%; }
.column-full { flex-basis: 100%; }
.content-block-wrapper { display: flex; width: 100%; }
.content-block { min-width: 0; }

/* --- Contenido Interno --- */
.glivu-content-heading { color: #fff; }
.glivu-content-heading p { margin: 0; }
.glivu-main-button, .glivu-product-button { display: inline-block; text-decoration: none; cursor: pointer; text-align: center; box-sizing: border-box; padding: 10px 20px; }
.glivu-wc-product-single { color: #333; width: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; box-sizing: border-box; }
.glivu-wc-product-single .woocommerce-product-gallery__image, .glivu-wc-product-single img { object-fit: contain !important; max-width: 100%; height: auto; margin: 0 auto 15px auto; display: block; }
.glivu-wc-product-title { margin: 0 0 10px; }
.glivu-wc-product-single .price { font-size: 1.2em; }
.glivu-product-button { background: #333; color: #fff; }
.glivu-product-top-text { margin-bottom: 15px; color: #fff; }
.glivu-product-top-text p { margin: 0; }

/* --- Diseño Responsivo --- */
@media (max-width: 767px) {
    .glivu-slide-content { flex-direction: column !important; padding: 20px; }
    .column-container { flex-basis: auto !important; width: 100%; }
    .column-left.mobile-inverted { order: 2; }
    .column-right.mobile-inverted { order: 1; }
}

/* --- Lógica para controles en slide único (manejado por JS) --- */
.glivu-slider-wrapper.glivu-single-slide-effective .swiper-button-next,
.glivu-slider-wrapper.glivu-single-slide-effective .swiper-button-prev,
.glivu-slider-wrapper.glivu-single-slide-effective .swiper-pagination,
.glivu-slider-wrapper.glivu-single-slide-effective .glivu-progress-bar {
    display: none !important;
}

/* --- Controles --- */
.swiper-button-next, .swiper-button-prev { color: #fff; z-index: 10; }
.swiper-pagination-bullet { background: rgba(255, 255, 255, 0.5); }
.swiper-pagination-bullet-active { background: #fff; }
.glivu-progress-bar { position: absolute; bottom: 0; left: 0; width: 100%; background-color: rgba(0,0,0,0.2); z-index: 10; }
.glivu-progress-bar-inner { width: 0%; height: 100%; background-color: #fff; }