/* SECTION */
.image-layout-section {
    margin: 120px 0;
}

/* GRID */
.image-layout-grid {
    display: grid;
    grid-template-areas:
        "top top"
        "left right";
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

/* CARD */
.image-layout-card {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
    cursor: pointer;
    transition: transform .35s ease, box-shadow .35s ease;
}

/* HOVER EFFECT */
.image-layout-card:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
}

.image-layout-card img {
    width: 100%;
    height: 100%;
    transition: transform .55s ease;
}

/* Image Zoom on Hover */
.image-layout-card:hover img {
    transform: scale(1.12);
}

/* GRID AREA ASSIGNMENT */
.image-top {
    grid-area: top;
    height: 420px;
}

.image-left {
    grid-area: left;
    height: 320px;
}

.image-right {
    grid-area: right;
    height: 320px;
}


/* LIGHTBOX */
.img-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 99999;
}

.img-lightbox img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 15px;
    box-shadow: 0 25px 65px rgba(0, 0, 0, 0.5);
    animation: zoomFade .3s ease;
}

@keyframes zoomFade {
    from {
        transform: scale(0.7);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.close-lightbox {
    position: absolute;
    top: 30px;
    right: 40px;
    font-size: 48px;
    color: white;
    cursor: pointer;
}

/* RESPONSIVE: TABLET / SMALL DESKTOP (keep 1 top + 2 bottom) */
@media(max-width: 992px) {
    .image-layout-grid {
        grid-template-areas:
            "top top"
            "left right";
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .image-top {
        height: 350px;
    }

    .image-left,
    .image-right {
        height: 280px;
    }
}

/* RESPONSIVE: MOBILE (stack all 3 images) */
@media(max-width: 480px) {
    .image-layout-grid {
        grid-template-areas:
            "top"
            "left"
            "right";
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .image-top,
    .image-left,
    .image-right {
        height: 200px;
    }
}
