
/* Hide listings until fully loaded */
.showcaseidx-results-grid,
.idx-listing-grid,
.property-grid {
  opacity: 0;
  transition: opacity 0.4s ease-in;
}

.showcaseidx-results-grid.loaded,
.idx-listing-grid.loaded,
.property-grid.loaded {
  opacity: 1;
}

/* Reserve space for listing cards to prevent layout shift */
.showcaseidx-results-grid > div,
.idx-listing-grid > div,
.property-grid > div {
  min-height: 400px;
}

/* Ensure images don't cause layout shift */
.showcaseidx-results-grid img,
.idx-listing-grid img,
.property-grid img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  background: #f0f0f0;
}
