.work-masonry-custom-yes .elementor-loop-container {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    grid-auto-flow: dense !important;
    grid-auto-rows: min-content !important; 
    gap: 15px !important;
    align-items: start;
}

.work-masonry-custom-yes .e-loop-item {
    grid-column: span 3 !important; 
    display: grid !important;
    grid-template-columns: 100% !important;
    grid-template-rows: 1fr !important;
    width: 100% !important;
}

.work-masonry-custom-yes .e-loop-item > a,
.work-masonry-custom-yes .e-loop-item > .e-con {
    display: grid !important;
    grid-template-columns: 100% !important;
    grid-template-rows: 1fr !important;
    height: 100% !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

.work-masonry-custom-yes .e-loop-item .elementor-widget-theme-post-featured-image,
.work-masonry-custom-yes .e-loop-item .e-con.e-child {
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
}


.work-masonry-custom-yes .e-loop-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1;
    display: block;
}

.work-masonry-custom-yes .e-loop-item a > .e-con:nth-child(2),
.work-masonry-custom-yes .e-loop-item > .e-con > .e-con:nth-child(2) {
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    background: transparent !important; 
    pointer-events: none;
    min-height: 100%; 
    position: relative; 
}

.work-masonry-custom-yes .e-loop-item a > .e-con:nth-child(2)::before,
.work-masonry-custom-yes .e-loop-item > .e-con > .e-con:nth-child(2)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 60%) !important;
    z-index: -1;
    opacity: 1;
    transition: opacity 0.3s ease !important;
}

.work-masonry-custom-yes .e-loop-item:hover a > .e-con:nth-child(2)::before,
.work-masonry-custom-yes .e-loop-item:hover > .e-con > .e-con:nth-child(2)::before {
    opacity: 0.25 !important;
}

.work-masonry-custom-yes .e-loop-item .e-con.e-child * { 
    pointer-events: auto; 
}

.work-masonry-custom-yes .e-loop-item .e-con .e-con .e-con {
    background: transparent !important;
}

.work-masonry-custom-yes .e-loop-item.is-landscape {
    grid-column: span 6 !important;
}

@media (max-width: 1024px) {
    .work-masonry-custom-yes .elementor-loop-container { 
        display: grid !important; 
        grid-template-columns: 1fr !important; 
        grid-auto-rows: auto !important;
        gap: 20px !important;
    }

    .work-masonry-custom-yes .e-loop-item,
    .work-masonry-custom-yes .e-loop-item.is-landscape {
        grid-column: span 1 !important;
        min-height: 450px !important; 
        height: auto !important; 
    }

    .work-masonry-custom-yes .e-loop-item img { 
        min-height: 450px !important;
    }
}


@media (max-width: 767px) {
    .work-masonry-custom-yes .e-loop-item,
    .work-masonry-custom-yes .e-loop-item.is-landscape { 
        min-height: 400px !important;
    }

    .work-masonry-custom-yes .e-loop-item img { 
        min-height: 400px !important; 
    }
}