/* Approved balanced property card, scoped independently of page themes. */
.property-card.property-card--balanced{--card-ink:#163346;--card-muted:#627587;--card-brand:#0369a1;background:#fff;color:var(--card-ink);font-family:'Cairo',sans-serif;border:1px solid #dfe7ee;border-radius:18px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 3px 10px #183a5010;transition:border-color .18s,box-shadow .18s;animation:none;transform:none}
.property-card--balanced:hover{border-color:#b6cbdc;box-shadow:0 8px 24px #183a5015;transform:none}
.property-card--balanced .card-media-wrapper{position:relative;width:100%;aspect-ratio:1.61;height:auto;overflow:hidden;background:#e9eff4;flex-shrink:0}
.property-card--balanced .card-photo-link{position:absolute;inset:0;display:block}
.property-card--balanced .main-property-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:transform .3s}
.property-card--balanced:hover .main-property-img{transform:scale(1.025)}
.property-card--balanced .card-media-wrapper:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#102a3b77);pointer-events:none}
.property-card--balanced .card-media-empty:after{display:none}
.property-card--balanced .card-offer{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;min-height:30px;border-radius:7px;background:#fff;padding:4px 11px;color:var(--card-ink);font-weight:700;font-size:11px;z-index:2;box-shadow:0 1px 6px #0000000d}
.property-card--balanced .card-badge-dot{width:5px;height:5px;background:var(--card-brand);border-radius:50%}
.property-card--balanced .card-offer.rent{color:#075b42}.property-card--balanced .rent .card-badge-dot{background:#158266}
.property-card--balanced .card-offer.sold{background:#293e50;color:#fff}.property-card--balanced .sold .card-badge-dot{background:#d2dce5}
.property-card--balanced .card-save{position:absolute;top:10px;left:10px;min-width:44px;min-height:44px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:#fff;color:#3c5265;box-shadow:0 2px 8px #102a3b12;z-index:3;font-size:20px;cursor:pointer;transform:none}
.property-card--balanced .card-save.active{color:#bd3150;background:#fff4f6}
.property-card--balanced .card-gallery-step{position:absolute;top:calc(50% - 22px);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#203c50;z-index:2;cursor:pointer;font:24px/1 Arial,sans-serif}
.property-card--balanced .card-gallery-step:before{content:'';position:absolute;inset:6px;background:#fffffff0;border-radius:8px;z-index:-1}
.property-card--balanced .card-gallery-step.previous{right:4px}.property-card--balanced .card-gallery-step.next{left:4px}
.property-card--balanced .card-photo-count{position:absolute;bottom:12px;right:14px;display:flex;align-items:center;gap:6px;font-size:11px;color:#fff;z-index:1;text-shadow:0 1px 5px #0009}
.property-card--balanced .card-gallery-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:4px;z-index:1}
.property-card--balanced .card-gallery-dots span{width:4px;height:4px;border-radius:3px;background:#ffffff88}.property-card--balanced .card-gallery-dots .active{width:14px;background:#fff}
.property-card.property-card--balanced .card-content{padding:19px 20px 18px;display:flex;flex-direction:column;flex:1;gap:0;min-width:0}
.property-card--balanced .card-price-line{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:10px}
.property-card--balanced .price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;line-height:1.45;margin:0;min-width:0}
.property-card--balanced .price-val{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--card-ink);overflow-wrap:anywhere}
.property-card--balanced .price-curr{font-size:11px;font-weight:600;color:var(--card-muted)}
.property-card--balanced .card-type-tag{font-size:10px;color:#516679;border:1px solid #e4eaf0;padding:2px 8px;border-radius:5px;white-space:nowrap;flex-shrink:0}
.property-card--balanced .card-title{font-size:16px;line-height:1.85;font-weight:700;margin:0 0 7px;min-height:59px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.15px}
.property-card--balanced .card-title a{color:var(--card-ink);text-decoration:none;overflow-wrap:anywhere}.property-card--balanced .card-title a:hover{color:var(--card-brand)}
.property-card--balanced .location-row{display:flex;align-items:center;gap:5px;margin:0 0 17px;color:#435b6e;font-size:14px;font-weight:600;min-width:0;background:transparent;border:0;border-radius:0;padding:0;line-height:1.7}
.property-card--balanced .location-row i{font-size:16px;color:#526f83;flex-shrink:0;margin:0}.property-card--balanced .location-row span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;overflow-wrap:anywhere}
.property-card--balanced .prop-specs-grid{display:grid;grid-template-columns:repeat(var(--card-spec-count,4),minmax(0,1fr));padding:12px 0;margin:0 0 17px;background:#f5f8fb;border:1px solid #edf1f5;border-radius:10px;min-height:71px;gap:0}
.property-card--balanced .prop-spec-item{min-width:0;display:block;text-align:center;position:relative;padding:0 3px}
.property-card--balanced .prop-spec-item:not(:last-child):after{content:'';position:absolute;left:0;top:5px;bottom:5px;width:1px;background:#e0e7ee}
.property-card--balanced .card-spec-value{display:flex;align-items:center;justify-content:center;gap:6px;line-height:1.4}.property-card--balanced .card-spec-value i{font-size:15px;color:#59748a}.property-card--balanced .card-spec-value strong{font-size:14px;font-weight:700;color:var(--card-ink)}
.property-card--balanced .prop-spec-item .label{font-size:10px;color:var(--card-muted);margin-top:3px;display:block}
.property-card--balanced .card-footer{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:0;border:0}
.property-card--balanced .btn-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;border-radius:9px;font-weight:700;font-size:12px;padding:8px 12px;text-decoration:none;transform:none;transition:background .18s,border-color .18s}
.property-card--balanced .btn-view{background:var(--card-brand);border:1px solid var(--card-brand);color:#fff}.property-card--balanced .btn-view:hover{background:#075780;border-color:#075780;color:#fff;transform:none}
.property-card--balanced .btn-compare{border:1px solid #d8e3ec;background:#fff;color:#4c6479;flex:none;width:auto}
.property-card--balanced .btn-compare:hover,.property-card--balanced .btn-compare[aria-pressed=true]{background:#edf6fc;color:var(--card-brand);border-color:#aacde1;transform:none}
.property-card--balanced .card-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;font-size:10px;color:var(--card-muted);min-height:17px}
.property-card--balanced .card-featured-note{display:inline-flex;align-items:center;gap:4px;color:#92601c;font-weight:600}
.property-card--balanced .card-reason{font-size:11px;color:#526b7e;line-height:1.8;margin:0 0 12px}
/* Compact cards retain the hierarchy in suggestions and viewing history. */
.property-card.property-card--compact{display:grid;grid-template-columns:145px minmax(0,1fr);border-radius:14px;flex:0 0 470px;max-width:100%}
.property-card--compact .card-media-wrapper{aspect-ratio:auto;min-height:204px;height:100%}
.property-card.property-card--compact .card-content{padding:16px}
.property-card--compact .card-price-line{margin-bottom:4px}.property-card--compact .price-val{font-size:20px}
.property-card--compact .card-title{font-size:13px;min-height:0;line-height:1.75;margin-bottom:5px}
.property-card--compact .location-row{margin-bottom:12px;font-size:12px}
.property-card--compact .card-type-tag,.property-card--compact .prop-specs-grid,.property-card--compact .card-caption{display:none}
.property-card--compact .card-offer{top:10px;right:10px;font-size:10px;padding:3px 8px;min-height:27px}
.property-card--compact .card-save{top:auto;bottom:8px;left:7px}
.property-card--compact .btn-action{font-size:11px}.property-card--compact .btn-compare span{display:none}
.reco-grid .property-card--compact{flex:none;grid-template-columns:120px minmax(0,1fr)}
.reco-grid .property-card--compact .price-val{font-size:18px}.reco-grid .property-card--compact .card-content{padding:13px}
.compare-properties-grid .property-card--balanced .card-content{padding:16px}.compare-properties-grid .property-card--balanced .card-title{min-height:0}
@media(max-width:700px){
 .property-card--balanced .card-media-wrapper{aspect-ratio:1.57}
 .property-card.property-card--balanced .card-content{padding:18px 19px}
 .property-card--balanced .card-title{min-height:0}.property-card--balanced .price-val{font-size:26px}
 .property-card--balanced .btn-action{min-height:46px}
 .property-card.property-card--compact{grid-template-columns:115px minmax(0,1fr);flex-basis:340px}
 .property-card--compact .card-media-wrapper{aspect-ratio:auto;min-height:204px}
 .property-card.property-card--compact .card-content{padding:13px}
 .property-card--compact .price-val,.reco-grid .property-card--compact .price-val{font-size:19px}
 .property-card--compact .card-title{font-size:12px;min-height:42px}
 .property-card--compact .price-curr{font-size:10px}.property-card--compact .btn-action{font-size:10px;padding:7px 8px}
 .reco-grid{grid-template-columns:minmax(0,1fr)}.reco-grid .property-card--compact{grid-template-columns:105px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.property-card--balanced,.property-card--balanced *{transition:none!important;animation:none!important}}

.hot-properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}
.compare-properties-grid .property-card--balanced .card-footer{grid-template-columns:minmax(0,1fr)}

/* Match the card controls; keep the comparison dock below dialogs and clear of floating actions. */
.compare-bar{left:50%;right:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 28px);z-index:3000;background:#163346;border:1px solid #31546d;border-radius:13px;box-shadow:0 12px 35px #102a3b30;backdrop-filter:none;font-size:12px;padding:12px 14px;gap:20px}
.compare-bar .compare-text{white-space:nowrap}
.compare-bar a,.compare-bar button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 12px;font-size:11px;border-radius:8px}
.compare-bar a{background:#fff;color:#163346}
.has-card-comparison .finder-fab,.has-card-comparison .reco-fab{bottom:calc(112px + env(safe-area-inset-bottom))}
.has-card-comparison .contact-fab{bottom:calc(182px + env(safe-area-inset-bottom))}
.has-card-comparison .contact-menu{bottom:calc(246px + env(safe-area-inset-bottom))}
@media(max-width:400px){.compare-bar{gap:10px;padding:10px}.compare-bar .compare-actions{gap:6px}.compare-bar a,.compare-bar button{font-size:10px;padding-inline:10px}.compare-bar .compare-text{font-size:11px}}
