.mls-cityview-gallery .wp-block-gallery.has-nested-images {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.5vw, 1.25rem);
    margin: 1.5rem 0 0;
}

.mls-cityview-gallery .wp-block-gallery.has-nested-images > .wp-block-image {
    /* Override WordPress’s flex-gallery width calculations for grid items. */
    width: 100% !important;
    aspect-ratio: 4 / 5;
    max-width: none;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 0.7rem;
    background: #e9edf0;
}

.mls-cityview-gallery .wp-block-gallery.has-nested-images > .wp-block-image > a {
    display: block;
    width: 100%;
    height: 100%;
}

.mls-cityview-gallery .wp-block-gallery.has-nested-images > .wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}

.mls-cityview-gallery .wp-block-gallery .wp-block-image > a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}

@media (max-width: 1000px) {
    .mls-cityview-gallery .wp-block-gallery.has-nested-images {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .mls-cityview-gallery .wp-block-gallery.has-nested-images {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
