.property-card{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:22px;background:var(--white);box-shadow:0 14px 34px rgba(0,0,0,.1);container-type:inline-size;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.property-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,transparent);box-shadow:0 22px 48px rgba(0,0,0,.16);transform:translateY(-5px)}
.property-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--paper);isolation:isolate}
.property-image-link,.property-image-link img,.property-placeholder{display:block;width:100%;height:100%}
.property-image-link::after{position:absolute;z-index:1;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.34));content:"";pointer-events:none}
.property-image-link img{object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.property-placeholder{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 11%,var(--paper)),var(--paper))}
.property-card:hover .property-image-link img{transform:scale(1.045)}
.property-code{position:absolute;z-index:3;top:18px;left:18px;padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(12,18,16,.52);color:#fff;font-size:.72rem;font-weight:750;line-height:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.property-favorite{position:absolute;z-index:3;top:15px;right:15px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(12,18,16,.38);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transition:background-color .2s ease,color .2s ease,transform .2s ease}
.property-favorite:hover,.property-favorite.is-favorite{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast,#fff);transform:scale(1.06)}
.property-favorite.is-favorite .icon{fill:currentColor}.property-favorite .icon{width:20px;height:20px}
.property-media-labels{position:absolute;z-index:2;bottom:15px;left:50%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;width:calc(100% - 30px);transform:translateX(-50%);pointer-events:none}
.property-ribbon,.property-sea-distance{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin:0;padding:5px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem;font-weight:750;line-height:1.2;white-space:nowrap;box-shadow:0 5px 16px rgba(0,0,0,.2)}
.property-ribbon{max-width:min(100%,220px);overflow:hidden;background:var(--property-ribbon-bg,var(--brand));color:var(--property-ribbon-color,#fff);text-overflow:ellipsis}
.property-sea-distance{gap:6px;background:color-mix(in srgb,var(--brand) 88%,#111);color:var(--brand-contrast,#fff)}.property-sea-distance .icon{width:15px;height:15px;flex:0 0 auto}
.property-content{display:flex;flex:1;flex-direction:column;padding:22px 22px 24px}
.property-card-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 9px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.property-card-eyebrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-card-eyebrow span:first-child{color:var(--brand)}
.property-card-heading{min-width:0}
.property-card-heading h3{display:-webkit-box;min-height:calc(1.2em * 3);margin:0;overflow:hidden;font-size:1.28rem;font-weight:650;line-height:1.2;letter-spacing:-.025em;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.property-card-heading h3 a{color:inherit;transition:color .2s ease}.property-card-heading h3 a:hover{color:var(--brand)}
.property-location{display:flex;align-items:center;gap:7px;min-width:0;margin:10px 0 0;color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-location .icon{width:16px;height:16px;flex:0 0 auto;color:var(--brand)}
.property-features-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px;margin:18px 0 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;color:var(--muted);text-align:center}
.property-features-row li{display:grid;justify-items:center;align-content:start;gap:6px;min-width:0;font-size:.72rem;line-height:1.15}.property-features-row .icon{width:20px;height:20px;color:var(--brand)}.property-features-row strong{color:var(--ink);font-weight:700}
.property-card-footer{display:grid;gap:10px;margin-top:auto;padding-top:18px}.property-prices{display:flex;align-items:end;justify-content:flex-start;gap:clamp(18px,2vw,30px);text-align:left}.property-price-item{display:grid;justify-items:start;gap:2px;min-width:0}.property-price-item small{color:var(--muted);font-size:.7rem;text-transform:uppercase}.property-price-item strong{color:var(--brand);font-size:clamp(1.08rem,1.45vw,1.38rem);font-weight:750;letter-spacing:-.02em;white-space:nowrap}
.property-price-item .property-price-promotion{max-width:100%;overflow:hidden;color:var(--muted);font-size:.74rem;font-weight:650;line-height:1.15;text-decoration:line-through;text-decoration-thickness:1px;text-overflow:ellipsis;white-space:nowrap}
[data-theme=dark] .property-card{border-color:var(--line);box-shadow:0 16px 38px rgba(0,0,0,.25)}
@container (max-width:360px){.property-content{padding:19px 17px 21px}.property-card-heading h3{font-size:1.16rem}.property-favorite{width:42px;height:42px}.property-features-row{gap:5px}.property-price-item strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.property-card,.property-image-link img,.property-favorite{transition:none}.property-card:hover{transform:none}.property-card:hover .property-image-link img{transform:none}}
