/* Keep Elementor's responsive column counts and gaps, but centre incomplete rows. */
body.tax-bedrooms .elementor-widget-loop-grid .elementor-loop-container:has(> .e-loop-item.ait_property) {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    column-gap: var(--grid-column-gap, 15px);
    row-gap: var(--grid-row-gap, 30px);
}
body.tax-bedrooms .elementor-widget-loop-grid .elementor-loop-container > .e-loop-item.ait_property {
    box-sizing: border-box;
    flex: 0 0 calc((100% - (var(--grid-columns, 4) - 1) * var(--grid-column-gap, 15px)) / var(--grid-columns, 4));
    min-width: 0;
    height: auto !important;
    display: block;
    align-self: stretch;
}
/* Stretch the existing card without turning its section into a flex row/column. */
body.tax-bedrooms .elementor-loop-container > .ait_property.elementor-162 > .elementor-section {
    width: 100%;
    height: calc(100% - 20px);
}
body.tax-bedrooms .elementor-loop-container > .ait_property.elementor-162 > .elementor-section > .elementor-container {
    width: 100%;
    height: 100%;
}
body.tax-bedrooms .elementor-loop-container > .ait_property.elementor-162 > .elementor-section > .elementor-container > .elementor-column {
    width: 100%;
    min-width: 0;
}
body.tax-bedrooms .elementor-loop-container > .ait_property.elementor-162 > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
}
body.tax-bedrooms .ait_property.elementor-162 .elementor-widget-theme-post-featured-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.tax-bedrooms .ait_property.elementor-162 .elementor-element-17a4d1d {
    flex-grow: 1;
    display: flex;
}
body.tax-bedrooms .ait_property.elementor-162 .elementor-element-17a4d1d > .elementor-widget-container {
    width: 100%;
}
