.property-card{border:1px solid var(--line);min-width:0;transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-base) var(--ease-out);background:#fff;border-radius:13px;position:relative;overflow:hidden}.property-card:hover,.property-card.is-highlighted{border-color:#9db6a3;box-shadow:0 8px 24px #24432e14}.property-card:focus-within{border-color:#9db6a3}.property-card-image{aspect-ratio:1.56;background:#dce5dd;position:relative;overflow:hidden}.property-card-image img{object-fit:cover;width:100%;height:100%;transition:opacity .3s ease, transform .4s var(--ease-out)}.js .property-card-image img[data-loading]{opacity:0}.card-image-label{color:var(--green);letter-spacing:.08em;background:#ffffffed;border-radius:5px;padding:7px 9px;font-size:.62rem;font-weight:850;position:absolute;top:14px;left:14px}.save-button{border:1px solid var(--control-line);min-width:42px;min-height:42px;color:var(--ink);transition:color var(--t-fast) ease, background-color var(--t-fast) ease, border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-fast) var(--ease-out);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:.84rem;font-weight:800;display:inline-flex}.save-button:not(.card-save){padding:0 14px}.save-button:hover{color:var(--green);border-color:var(--green)}.save-button.is-saved{color:var(--green);background:#e9f0e9;border-color:#8fae97}.save-button[data-pop] svg{animation:nl-pop .3s var(--ease-out)}.card-save{z-index:2;border:0;border-radius:50%;width:39px;min-width:39px;height:39px;min-height:39px;position:absolute;top:13px;right:13px;box-shadow:0 2px 12px #0000001f}.card-save.is-saved{background:#fff}.property-card-body{padding:17px 19px 18px}.card-price-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-price-row strong{letter-spacing:-.03em;font-size:1.28rem;font-weight:750;line-height:1.25}.card-price-row small{letter-spacing:0;color:var(--muted);margin-left:2px;font-size:.62em;font-weight:700}.property-type{color:var(--green);white-space:nowrap;background:#edf3ed;border-radius:5px;padding:5px 8px;font-size:.7rem;font-weight:730}.card-title-row{justify-content:space-between;align-items:center;gap:8px;min-height:49px;margin-top:10px;display:flex}.card-title-row>div{min-width:0}.card-title{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:.88rem;font-weight:800;overflow:hidden}.card-location{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;overflow:hidden}.card-arrow{width:32px;height:32px;color:var(--green);transition:background-color var(--t-fast) ease, transform var(--t-fast) var(--ease-out);background:#f1f5f1;border-radius:7px;flex:none;place-items:center;display:grid}.card-arrow:hover{background:var(--soft)}.card-arrow:after{content:"";z-index:1;border-radius:13px;position:absolute;inset:0}.card-stats{border-top:1px solid var(--line);color:#526259;flex-wrap:wrap;gap:8px 15px;margin-top:16px;padding-top:13px;font-size:.72rem;font-weight:700;display:flex}.card-stats span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.image-placeholder{text-align:center;color:#4f6b55;background:linear-gradient(145deg,#dfe9df,#cad8ca);place-content:center;height:100%;display:grid}.image-placeholder span{letter-spacing:-.07em;font-size:1.3rem;font-weight:850}.image-placeholder small{font-size:.7rem}.property-card.is-dense .property-card-body{padding:14px 15px 15px}.property-card.is-dense .card-price-row strong{font-size:1.09rem}.property-card.is-dense .card-stats{gap:6px 9px}.property-card-skeleton{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.property-card-skeleton .skeleton-image{aspect-ratio:1.56;border-radius:0}.property-card-skeleton .skeleton-body{align-content:start;gap:14px;height:168px;padding:20px 19px;display:grid}.property-card-skeleton .skeleton-line{height:12px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.property-card:hover{transform:translateY(-2px)}.property-card:hover .property-card-image img{transform:scale(1.03)}.card-arrow:hover,.property-card:hover .card-arrow{transform:translate(2px,-2px)}}@media (prefers-reduced-motion:no-preference){.save-button:active{transition-duration:90ms;transform:scale(.94)}}@media (max-width:500px){.card-price-row strong{font-size:1.17rem}}
