.page-header:has(+ #recent-sales-app) {
    margin-bottom: 28px;
}

.page-header:has(+ #recent-sales-app) h1 {
    margin-bottom: 0;
}

.recent-sales-loading,
.recent-sales-empty {
    display: flex;
    min-height: 220px;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.recent-sales-empty {
    padding: 32px 0;
}

.recent-sales-error {
    margin: 16px 0;
    color: #b42318;
}

.recent-sales-listing .property-price-container {
    min-height: 100%;
}

/* The listing grid is the last thing in the section here, so without this the final
   card sits flush against the dark footer. The listing preview pages get their
   breathing room from the trailing "N Listings Found" row and .cat-description
   (measured: 40px between the last content and the footer) -- match that. */
#recent-sales-app {
    padding-bottom: 40px;
}
