/* Shared listing rhythm: content determines row height, including financial facts. */
:root{--property-card-gap:20px;--property-card-ink:#173d38;--property-card-gold:#bd9957;--property-card-line:#e0e5df}
.sales-grid,.sales-grid.sales-three,.private-grid,.private-related-grid,.marketplace-results-grid,.geographic-page .sales-grid,#results.results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--property-card-gap);align-items:stretch}
.sales-card,#results>.card{display:flex;flex-direction:column;min-width:0;height:auto;align-self:stretch;border:1px solid var(--property-card-line);border-radius:12px;overflow:hidden;background:#fff}
.sales-card .sale-card-image{display:block;flex:none}
.sales-card .card-media,#results>.card .card-media{aspect-ratio:16/10;flex:none;position:relative;overflow:hidden}
.sales-card .card-media img,#results>.card .card-media img,.sales-card.rental-card>a>img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;max-height:none}
.sales-card .marketplace-card-body,#results>.card .card-body{display:flex;flex-direction:column;flex:1;padding:16px;min-width:0}
.sale-card-details{min-width:0}
.sales-card h3,#results>.card h3{font-family:inherit;font-size:19px;font-weight:650;line-height:1.5;letter-spacing:0;margin:4px 0 8px;min-block-size:3em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.sales-card h3 a,#results>.card h3 a{color:var(--property-card-ink)}
.sales-card .eyebrow,#results>.card .kicker{font-size:12px;line-height:1.5;margin:0 0 4px;color:#6d5327}
.sales-card .sale-card-category,.sales-card .sale-card-location,.sales-card .sale-unit-description,#results>.card .sale-card-category,#results>.card .sale-card-location,#results>.card .sale-unit-description{font-size:14px!important;line-height:1.55;margin:0 0 7px!important;overflow-wrap:anywhere;color:#4b625c}
.sales-card bdi,#results>.card bdi{unicode-bidi:isolate}
.sale-unit-description>bdi{display:inline-block;max-width:100%;vertical-align:top}
.sale-unit-description bdi[dir=ltr]{white-space:nowrap}
.sale-card-footer{margin-top:auto;padding-top:10px;min-width:0}
.sale-card-pricing{min-width:0}
.sale-card-pricing>.installment-badge{margin-bottom:6px;font-size:13px;line-height:1.5}
.sale-card-pricing .sale-card-finance{margin:0;gap:7px}
.sale-card-finance>div{min-width:0}
.sale-card-finance strong{font-size:19px;line-height:1.5;overflow-wrap:anywhere}
.sale-card-finance .sale-booking-preview strong{font-size:17px}
.sales-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;align-items:stretch}
.sales-card-actions a,.sales-card-actions button{display:flex;min-width:0;width:100%;min-height:44px;height:auto;margin:0;padding:9px 8px;align-items:center;justify-content:center;border:1px solid var(--property-card-gold);border-radius:6px;font-size:14px;font-weight:650;line-height:1.5;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.sales-card-actions a:first-child,.sales-card-actions button:first-child{background:var(--property-card-gold);color:#102e26}
.sales-card-actions a:not(:first-child){color:var(--property-card-ink);background:#fff}
.sales-card .sales-card-actions a[href*="wa.me/"],#results>.card .sales-card-actions a[href*="wa.me/"]{color:var(--property-card-ink)!important}
.sales-card-actions .view{margin:0}
.sales-card-plan-link{width:fit-content;max-width:100%;min-height:32px;margin-top:3px;padding:4px 0;align-self:start;color:#6b4c1e;text-decoration:underline;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.sales-card>.compare-toggle{align-self:start}
.sales-card>.property-actions{min-width:0;margin-bottom:0}
.sales-card :focus-visible,#results>.card :focus-visible{outline:3px solid var(--property-card-gold);outline-offset:2px}
.sales-card.rental-card>a{display:flex;flex:1;flex-direction:column;min-width:0}
.sales-card.rental-card>a>img{height:auto;flex:none}
.sales-card.rental-card>a>div{display:flex;flex:1;flex-direction:column;padding:16px}
.sales-card.rental-card .card-link{margin-top:auto;padding-top:10px}
.sales-card.rental-card>.sales-card-actions{margin-top:12px;padding:0 16px 16px}
#results>.card .price{font-size:19px;margin:0;color:var(--property-card-ink);line-height:1.5;font-weight:700;direction:ltr;unicode-bidi:isolate;text-align:start}
#results>.card .sale-card-pricing>p:not(.price){font-size:13px;line-height:1.5;margin:3px 0 0}
#results>.card .sale-booking-preview{margin-top:7px}
#results>.card .compare-control{margin:0 16px 12px;min-height:32px;font-size:13px}
/* Subgrid aligns real content tracks across each row; absent plans add no placeholder. */
@supports(grid-template-rows:subgrid){
 .sales-grid:has(>.sales-card),.private-grid:has(>.sales-card),.private-related-grid:has(>.sales-card),.marketplace-results-grid:has(>.sales-card),#results.results:has(>.card){row-gap:0}
 .sales-grid>.sales-card,.private-grid>.sales-card,.private-related-grid>.sales-card,.marketplace-results-grid>.sales-card,#results>.card{grid-row:span 6;margin-bottom:var(--property-card-gap)}
 .sales-grid>.sales-card:has(.sale-card-details),.private-grid>.sales-card:has(.sale-card-details),.private-related-grid>.sales-card:has(.sale-card-details),.marketplace-results-grid>.sales-card:has(.sale-card-details),#results>.card:has(.sale-card-details){display:grid;grid-template-rows:subgrid;row-gap:0}
 .sales-card:has(.sale-card-details)>.sale-card-image,#results>.card:has(.sale-card-details)>.card-media{grid-row:1}
 .sales-card:has(.sale-card-details)>.marketplace-card-body,#results>.card:has(.sale-card-details)>.card-body{display:grid;grid-template-rows:subgrid;grid-row:2/span 4;row-gap:0}
 .sale-card-details{grid-row:1}
 .sale-card-footer{display:grid;grid-template-rows:subgrid;grid-row:2/span 3;row-gap:0;margin-top:0}
 .sale-card-footer>.sale-card-pricing{grid-row:1}
 .sale-card-footer>.sales-card-actions{grid-row:2}
 .sale-card-footer>.sales-card-plan-link{grid-row:3}
 .sales-card:has(.sale-card-details)>.compare-toggle,.sales-card:has(.sale-card-details)>.property-actions{grid-row:6}
 #results>.card:has(.sale-card-details)>.compare-control{grid-row:6}
}
@media(max-width:1199px){.sales-grid,.sales-grid.sales-three,.private-grid,.private-related-grid,.marketplace-results-grid,.geographic-page .sales-grid,#results.results{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px;--property-card-gap:18px}}
@media(max-width:599px){.sales-grid,.sales-grid.sales-three,.private-grid,.private-related-grid,.marketplace-results-grid,.geographic-page .sales-grid,#results.results{grid-template-columns:minmax(0,1fr)!important;--property-card-gap:18px}.sales-card .marketplace-card-body,#results>.card .card-body{padding:16px}.sales-card h3,#results>.card h3{font-size:20px}.sales-card-actions a,.sales-card-actions button{font-size:14px}}
@supports(grid-template-rows:subgrid){@media(max-width:1199px){.sales-grid:has(>.sales-card),.private-grid:has(>.sales-card),.private-related-grid:has(>.sales-card),.marketplace-results-grid:has(>.sales-card),#results.results:has(>.card){row-gap:0}}}
html[dir=rtl] .sales-card h3,html[dir=rtl] #results>.card h3{line-height:1.5}
