/* MG Product Images Carousel Styles */

.mgpic-widget {
    position: relative;
    width: 100%;
    --mgpic-main-height: 500px;
    --mgpic-thumb-height: 95px;
    --mgpic-thumb-width: 110px;
    --mgpic-header-offset: 160px; /* Offset configurable del header y márgenes */
}

.mgpic-container {
    display: flex;
    gap: 10px;
    width: 100%;
}

/* Sale Flash */
.mgpic-sale-flash {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
    background-color: #f1c40f;
    color: #fff;
    padding: 5px 10px;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
}

/* Main Swiper */
.mgpic-main-swiper.swiper-container,
.mgpic-main-swiper.swiper {
    width: 100%;
    height: var(--mgpic-main-height);
    overflow: hidden;
    background-color: #f9f9f9; /* Subtle fallback */
}

.mgpic-main-swiper .swiper-wrapper {
    height: 100% !important;
}

.mgpic-main-swiper .swiper-slide {
    height: 100% !important;
    width: 100% !important;
    overflow: hidden;
}

.mgpic-main-swiper .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover !important;
    transition: transform 0.2s ease;
    transform-origin: center center;
}

.mgpic-zoom-enabled .mgpic-main-swiper .swiper-slide-active img {
    cursor: zoom-in;
}

.mgpic-zoom-enabled .mgpic-main-swiper .swiper-slide-active.mgpic-is-zooming img {
    transform: scale(var(--mgpic-zoom-scale, 1.8));
}

/* Thumbs Swiper */
.mgpic-thumbs-swiper.swiper-container,
.mgpic-thumbs-swiper.swiper {
    overflow: hidden !important;
    background-color: #eee; /* Fallback for slides */
}

.mgpic-thumbs-swiper .swiper-wrapper {
    align-items: stretch;
}

.mgpic-thumbs-swiper .swiper-slide {
    cursor: pointer;
    opacity: 0.65;
    transition: opacity 0.3s;
    overflow: hidden;
}

.mgpic-thumbs-swiper .swiper-slide.mgpic-thumb-active,
.mgpic-thumbs-swiper .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
    border: 2px solid #ec1313 !important;
    box-shadow: 0 0 0 1px #ec1313 inset;
}

.mgpic-thumbs-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* --- Container & Layout (Simplified & Strict) --- */
.mgpic-container {
    display: flex !important;
    gap: 12px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    /* Default is column (Bottom/Top style) */
    flex-direction: column !important;
}

/* Main swiper fills width by default */
.mgpic-main-swiper {
    width: 100% !important;
    flex: none !important;
}

/* Thumbs swiper fills width by default */
.mgpic-thumbs-swiper {
    width: 100% !important;
    height: var(--mgpic-thumb-height, 95px);
}

/* Horizontal card style slides for Bottom/Top */
.mgpic-thumbs-swiper .swiper-slide {
    width: 120px !important;
    height: 90px !important;
    flex-shrink: 0 !important;
}

/* --- Position Overrides --- */

/* BOTTOM (Default): Main Top, Thumbs Bottom */
.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-container,
.mgpic-resolved-position-bottom .mgpic-container {
    flex-direction: column !important;
}

/* TOP: Flip column order */
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-container,
.mgpic-resolved-position-top .mgpic-container {
    flex-direction: column-reverse !important;
}

.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-thumbs-swiper,
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-thumbs-swiper,
.mgpic-resolved-position-bottom .mgpic-thumbs-swiper,
.mgpic-resolved-position-top .mgpic-thumbs-swiper {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--mgpic-thumb-height, 95px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-thumbs-swiper .swiper-wrapper,
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-thumbs-swiper .swiper-wrapper,
.mgpic-resolved-position-bottom .mgpic-thumbs-swiper .swiper-wrapper,
.mgpic-resolved-position-top .mgpic-thumbs-swiper .swiper-wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--mgpic-thumb-gap, 12px);
    transform: none !important; /* Disable Swiper translate */
}

.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-thumbs-swiper .swiper-slide,
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-thumbs-swiper .swiper-slide,
.mgpic-resolved-position-bottom .mgpic-thumbs-swiper .swiper-slide,
.mgpic-resolved-position-top .mgpic-thumbs-swiper .swiper-slide {
    width: var(--mgpic-thumb-width, 120px) !important;
    max-width: var(--mgpic-thumb-width, 120px) !important;
    min-width: var(--mgpic-thumb-width, 120px) !important;
    height: var(--mgpic-thumb-height, 90px) !important;
    flex: 0 0 var(--mgpic-thumb-width, 120px) !important;
    flex-shrink: 0 !important;
}

.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-thumbs-swiper .swiper-slide img,
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-thumbs-swiper .swiper-slide img,
.mgpic-resolved-position-bottom .mgpic-thumbs-swiper .swiper-slide img,
.mgpic-resolved-position-top .mgpic-thumbs-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* --- Layout Lateral (LEFT / RIGHT) con Altura Segura y Responsiva --- */

.elementor-widget-mg-product-images-carousel.mgpic-position-left,
.elementor-widget-mg-product-images-carousel.mgpic-position-right,
.mgpic-resolved-position-left,
.mgpic-resolved-position-right {
    --mgpic-available-height: min(var(--mgpic-main-height, 500px), calc(100vh - var(--mgpic-header-offset, 160px)));
}

/* LEFT: Thumbs on the left of main */
.elementor-widget-mg-product-images-carousel.mgpic-position-left .mgpic-container,
.mgpic-resolved-position-left .mgpic-container {
    flex-direction: row-reverse !important;
}

/* RIGHT: Thumbs on the right of main */
.elementor-widget-mg-product-images-carousel.mgpic-position-right .mgpic-container,
.mgpic-resolved-position-right .mgpic-container {
    flex-direction: row !important;
}

/* Ajustes comunes para Swipers laterales */
.elementor-widget-mg-product-images-carousel.mgpic-position-left .mgpic-main-swiper,
.elementor-widget-mg-product-images-carousel.mgpic-position-right .mgpic-main-swiper,
.mgpic-resolved-position-left .mgpic-main-swiper,
.mgpic-resolved-position-right .mgpic-main-swiper {
    flex: 1 !important;
    min-width: 0 !important;
    height: var(--mgpic-available-height) !important;
}

.elementor-widget-mg-product-images-carousel.mgpic-position-left .mgpic-thumbs-swiper,
.elementor-widget-mg-product-images-carousel.mgpic-position-right .mgpic-thumbs-swiper,
.mgpic-resolved-position-left .mgpic-thumbs-swiper,
.mgpic-resolved-position-right .mgpic-thumbs-swiper {
    width: var(--mgpic-thumb-width, 110px) !important;
    height: var(--mgpic-available-height) !important;
    flex: 0 0 var(--mgpic-thumb-width, 110px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
}

/* Ajustes de miniaturas individuales en carrusel lateral vertical */
.elementor-widget-mg-product-images-carousel.mgpic-position-left .mgpic-thumbs-swiper .swiper-slide,
.elementor-widget-mg-product-images-carousel.mgpic-position-right .mgpic-thumbs-swiper .swiper-slide,
.mgpic-resolved-position-left .mgpic-thumbs-swiper .swiper-slide,
.mgpic-resolved-position-right .mgpic-thumbs-swiper .swiper-slide {
    width: 100% !important;
    height: var(--mgpic-thumb-height, 95px) !important;
    flex-shrink: 0 !important;
}

/* --- Relleno de Swiper Principal para Horizontal --- */
.elementor-widget-mg-product-images-carousel.mgpic-position-bottom .mgpic-main-swiper,
.elementor-widget-mg-product-images-carousel.mgpic-position-top .mgpic-main-swiper,
.mgpic-resolved-position-bottom .mgpic-main-swiper,
.mgpic-resolved-position-top .mgpic-main-swiper {
    flex: none !important;
    height: var(--mgpic-main-height, 500px) !important;
}

