/* Unified Container */
.pigl-11920-container {
    position: relative;
    width: 100%;
    display: block;
    overflow: hidden;
    /* Default border radius, overridden by controls */
    border-radius: 0;
}

/* Image Wrappers */
.pigl-11920-img-wrapper {
    position: relative;
    width: 100%;
    display: block;
    overflow: hidden;
    transition: all 0.3s ease;
    border-radius: inherit;
    /* Elementor control injects aspect-ratio here */
}

/* Fallback aspect ratio if none set */
.pigl-11920-container:not([style*="aspect-ratio"]) .pigl-11920-img-wrapper {
    aspect-ratio: 1 / 1;
}

.pigl-11920-img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* -----------------------------
   DESKTOP BEHAVIOUR (Hover)
   ----------------------------- */
@media (min-width: 768px) {
    /* Stack hover wrapper on top of main wrapper */
    .pigl-11920-has-gallery .pigl-11920-hover {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; /* Match parent height established by main wrapper */
        z-index: 2;
        opacity: 0;
        visibility: hidden;
    }

    .pigl-11920-has-gallery .pigl-11920-main {
        position: relative;
        z-index: 1;
    }

    /* Effect: Fade */
    .pigl-11920-effect-fade:hover .pigl-11920-hover {
        opacity: 1;
        visibility: visible;
    }

    /* Effect: Zoom In */
    .pigl-11920-effect-zoom .pigl-11920-hover .pigl-11920-img {
        transform: scale(1.1);
        transition: transform 0.3s ease;
    }
    .pigl-11920-effect-zoom:hover .pigl-11920-hover {
        opacity: 1;
        visibility: visible;
    }
    .pigl-11920-effect-zoom:hover .pigl-11920-hover .pigl-11920-img {
        transform: scale(1);
    }

    /* Effect: Slide Up */
    .pigl-11920-effect-slide-up .pigl-11920-hover .pigl-11920-img {
        transform: translateY(20px);
        transition: transform 0.3s ease;
    }
    .pigl-11920-effect-slide-up:hover .pigl-11920-hover {
        opacity: 1;
        visibility: visible;
    }
    .pigl-11920-effect-slide-up:hover .pigl-11920-hover .pigl-11920-img {
        transform: translateY(0);
    }
    
    /* Ensure hover image is absolutely positioned */
    .pigl-11920-has-gallery .pigl-11920-hover .pigl-11920-img {
        position: absolute;
        top: 0;
        left: 0;
    }
}

/* -----------------------------
   MOBILE BEHAVIOUR
   ----------------------------- */
@media (max-width: 767px) {
    /* Hide the second image completely on mobile */
    .pigl-11920-has-gallery .pigl-11920-hover {
        display: none !important;
    }
    
    .pigl-11920-has-gallery .pigl-11920-main {
        flex: 0 0 100%;
        min-width: 100%;
    }
}
