/* Keep the three-column gallery grid and center only its incomplete last row. */
.gallery-grid.gallery-grid--many,
.property-gallery.gallery-grid--many {
    width: min(100%, 1324px);
    margin-inline: auto;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 22px !important;
    justify-content: center;
}

.gallery-grid.gallery-grid--few,
.property-gallery.gallery-grid--few {
    width: min(100%, 1324px);
    margin-inline: auto;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    justify-content: center;
}

.gallery-grid.gallery-grid--many img,
.property-gallery.gallery-grid--many img {
    grid-column: span 2;
}

/* 1 or 2 photos left in the last row: center them without resizing tiles. */
.gallery-grid--many.gallery-grid--remainder-1 > img:last-child,
.property-gallery.gallery-grid--many.gallery-grid--remainder-1 > img:last-child {
    grid-column: 3 / span 2;
}

.gallery-grid--many.gallery-grid--remainder-2 > img:nth-last-child(2),
.property-gallery.gallery-grid--many.gallery-grid--remainder-2 > img:nth-last-child(2) {
    grid-column: 2 / span 2;
}

.gallery-grid--many.gallery-grid--remainder-2 > img:last-child,
.property-gallery.gallery-grid--many.gallery-grid--remainder-2 > img:last-child {
    grid-column: 4 / span 2;
}

.gallery-grid.gallery-grid--few img,
.property-gallery.gallery-grid--few img {
    grid-column: span 2;
}

.gallery-grid.gallery-grid--few.gallery-grid--odd > img:last-child,
.property-gallery.gallery-grid--few.gallery-grid--odd > img:last-child {
    grid-column: 2 / span 2;
}

.gallery-grid.gallery-grid--many img,
.property-gallery.gallery-grid--many img,
.gallery-grid.gallery-grid--few img,
.property-gallery.gallery-grid--few img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.72 / 1;
    display: block;
    object-fit: cover;
}

@media (max-width: 900px) {
    .gallery-grid.gallery-grid--many,
    .property-gallery.gallery-grid--many {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .gallery-grid.gallery-grid--many img,
    .property-gallery.gallery-grid--many img,
    .gallery-grid.gallery-grid--few img,
    .property-gallery.gallery-grid--few img {
        grid-column: span 2;
    }

    .gallery-grid.gallery-grid--many.gallery-grid--odd > img:last-child,
    .property-gallery.gallery-grid--many.gallery-grid--odd > img:last-child,
    .gallery-grid.gallery-grid--few.gallery-grid--odd > img:last-child,
    .property-gallery.gallery-grid--few.gallery-grid--odd > img:last-child {
        grid-column: 2 / span 2;
    }
}

@media (max-width: 560px) {
    .gallery-grid.gallery-grid--many,
    .property-gallery.gallery-grid--many,
    .gallery-grid.gallery-grid--few,
    .property-gallery.gallery-grid--few {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .gallery-grid.gallery-grid--many img,
    .property-gallery.gallery-grid--many img,
    .gallery-grid.gallery-grid--few img,
    .property-gallery.gallery-grid--few img {
        grid-column: 1 / -1 !important;
    }
}
