/* Reference-inspired property cards; retain Arya Terra's blue identity. */
.terra-property-card { border-radius: 22px; box-shadow: 0 2px 5px #15354f09; }
.terra-card-visual { position: relative; background: #dbe6ef; overflow: hidden; min-height: 270px; display: grid; }
.terra-card-visual .cover, .terra-card-visual .photo-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.terra-card-visual .photo-placeholder { background: linear-gradient(150deg,#7698b6,#274b6a); }
.terra-card-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 12%,#0b223640 40%,#0b2236ef); pointer-events: none; }
.terra-card-flags { position: absolute; top: 15px; left: 17px; right: 17px; z-index: 1; display: flex; gap: 8px; flex-wrap: wrap; }
.terra-card-overlay { position: relative; padding: 70px 20px 19px; min-height: 270px; z-index: 1; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.terra-listing-label { display: inline-block; background: #ffffff24; border: 1px solid #ffffff55; border-radius: 20px; padding: 4px 10px; font-size: 11px; max-width: 100%; overflow-wrap: anywhere; }
.terra-card-overlay h3 { font-size: 23px; margin: 8px 0; line-height: 1.2; overflow-wrap: anywhere; }
.terra-card-overlay h3 a { color: #fff; text-decoration: none; }
.terra-card-overlay h3 a:hover { text-decoration: underline; }
.terra-card-bottom { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.terra-card-location { font-size: 12px; flex: 1 1 100px; overflow-wrap: anywhere; }
.terra-card-price { background: #fff; color: #165d99; border-radius: 10px; padding: 7px 10px; font-size: 13px; font-weight: 600; max-width: 100%; }
.terra-property-card .card-body { padding: 23px; }
.terra-card-developer { font-size: 12px; color: #60758a; margin: 0 0 10px; }
.terra-card-summary { color: #465f75; font-size: 14px; margin: 0 0 18px; }
.terra-card-price-note { font-size: 12px; color: #60758a; margin: 0 0 16px; }
.terra-card-highlights { list-style: none; padding: 0; margin: 7px 0 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 16px; }
.terra-card-highlights li { display: flex; align-items: flex-start; gap: 7px; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.terra-card-highlights li span { color: #165d99; flex: none; }
.terra-card-actions { border-top: 1px solid #e3e9ee; padding-top: 20px; margin-top: auto; }
.terra-card-details { width: 100%; }
.terra-card-secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.terra-card-secondary .button { padding: 9px 6px; font-size: 12px; }
.terra-card-whatsapp { gap: 7px; background: #087b46; border-color: #087b46; }
.terra-buyer-section { margin: 26px 0; }
.terra-detail-highlights { padding-left: 20px; }
.terra-detail-highlights li { margin: 7px 0; }
.terra-buyer-facts { margin: 0; }
.terra-buyer-facts > div { border-bottom: 1px solid #dfe7ee; padding: 12px 0; display: grid; grid-template-columns: minmax(100px,1fr) minmax(0,1.6fr); gap: 18px; }
.terra-buyer-facts dt { color: #60758a; font-size: 13px; }
.terra-buyer-facts dd { margin: 0; overflow-wrap: anywhere; }
@media(max-width: 380px) {
    .terra-property-card .card-body { padding: 18px; }
    .terra-card-highlights { grid-template-columns: 1fr; }
    .terra-buyer-facts > div { grid-template-columns: 1fr; gap: 4px; }
}
