/* Sale listings: separate from the existing sold catalogue. */
.sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.property-card-sale { display: block; padding: 0; overflow: hidden; }
.catalog-main .property-card-sale .property-card-link { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
.property-card-sale img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.property-card-sale .property-card-content { flex: 1; }
.property-card-sale .property-status { margin-bottom: 16px; }
.property-card-sale h2 { margin: 0 0 12px; font-size: 30px; line-height: 1.2; }
.property-card-sale .card-price { display: block; margin-top: 18px; color: var(--ink); font: 600 32px var(--serif); }
.property-card-sale:focus-within { outline: 3px solid var(--clay); outline-offset: 4px; }
.sale-object .object-hero { gap: 48px; }
.sale-object .object-hero-media::before { display: none; }
.sale-object .object-hero h1 { font-size: clamp(42px, 4.2vw, 66px); }
.sale-object .object-facts div { min-width: 0; padding-right: 18px; margin-right: 18px; }
.sale-object .object-facts div:last-child { border: 0; margin-right: 0; padding-right: 0; }
.sale-price { margin: 28px 0 24px; }
.sale-price span { display: block; font-size: 12px; color: var(--muted); }
.sale-price strong { display: block; color: var(--ink); font: 500 40px var(--serif); }
.sale-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.sale-actions .button { padding: 15px 22px; text-align: center; }
.sale-gallery { columns: 3; column-gap: 18px; }
.sale-gallery figure { break-inside: avoid; margin: 0 0 18px; }
.sale-gallery a { display: block; }
.sale-gallery img { display: block; width: 100%; height: auto; }
.sale-gallery a:focus-visible { outline: 3px solid var(--clay); outline-offset: 4px; }
.sale-object .object-closing .sale-actions { justify-content: center; margin-top: 30px; }
.sale-light-button { background: var(--sand); color: var(--ink); }
.sale-light-button:hover { background: var(--white); color: var(--ink); }
.sale-email { color: var(--white); text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 800px) {
  .sale-grid { grid-template-columns: 1fr; }
  .sale-object .object-hero { gap: 30px; }
  .sale-object .object-hero-media { min-height: 0; }
  .sale-object .object-hero-media img { height: auto; }
  .sale-gallery { columns: 2; gap: 12px; }
  .sale-gallery figure { margin-bottom: 12px; }
}
@media (max-width: 520px) {
  .sale-gallery { columns: 1; }
  .sale-object .object-facts dd { font-size: 27px; }
  .sale-object .object-details-grid { grid-template-columns: 1fr; }
  .sale-actions { align-items: stretch; flex-direction: column; }
}
