/* APH listing media sizing: images must not determine the grid row height. */
.listing-page .property-results .listing-card-media {
  position: relative;
  min-width: 0;
}
.listing-page .property-results .listing-card-media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 651px) {
  .listing-page .property-results.is-grid .listing-card-media,
  .listing-page .property-results.is-list .listing-card-media {
    height: auto;
    min-height: 245px;
    align-self: stretch;
  }
}
/* Compact desktop cards share the same rules for every country. */
@media (min-width: 651px) {
  .listing-page .property-results.is-grid .listing-property-card,
  .listing-page .property-results.is-list .listing-property-card {
    grid-template-columns: minmax(210px, 28%) minmax(0, 1fr);
  }
  .listing-page .property-results .listing-card-body {
    padding: 14px 16px;
  }
  .listing-page .property-results .listing-card-body h2 {
    font-size: 1.08rem;
    line-height: 1.3;
    margin: 4px 0 8px;
  }
  .listing-page .property-results .listing-card-description {
    font-size: .875rem;
    line-height: 1.45;
    min-height: 0;
    margin-bottom: 9px;
    -webkit-line-clamp: 2;
  }
  .listing-page .property-results .listing-key-facts {
    gap: 6px;
    margin-top: 0;
    margin-bottom: 8px;
  }
  .listing-page .property-results .listing-key-facts span {
    min-height: 30px;
    padding: 5px 7px;
  }
  .listing-page .property-results .listing-card-bottom {
    margin-top: 0;
    padding-top: 10px;
  }
}
