.dolly-listing-card{cursor:pointer;background-color:var(--color-white);border:1px solid var(--color-gray-border);border-radius:var(--radius-card);flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.dolly-listing-card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-primary);transform:translateY(-2px)}.dolly-listing-card--highlighted{transform:translateY(-2px);border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary), var(--shadow-hover)!important}.dolly-card-image-wrap{aspect-ratio:16/10;background-color:var(--color-gray);width:100%;position:relative;overflow:hidden}.dolly-card-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.dolly-listing-card:hover .dolly-card-image{transform:scale(1.02)}.dolly-card-carousel-controls{pointer-events:none;justify-content:space-between;align-items:center;padding:0 .5rem;display:flex;position:absolute;inset:0}.dolly-carousel-arrow{pointer-events:auto;width:30px;height:30px;color:var(--color-dark);opacity:0;background-color:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,background-color .2s,transform .1s;display:flex;box-shadow:0 2px 6px #00000026}.dolly-listing-card:hover .dolly-carousel-arrow,.dolly-carousel-arrow:focus-visible{opacity:1}.dolly-carousel-arrow:hover{background-color:var(--color-white);transform:scale(1.08)}.dolly-carousel-dots{pointer-events:none;justify-content:center;gap:.35rem;display:flex;position:absolute;bottom:.5rem;left:0;right:0}.dolly-carousel-dot{background-color:#fff9;border-radius:50%;width:6px;height:6px;transition:background-color .2s,transform .2s;box-shadow:0 1px 2px #0000004d}.dolly-carousel-dot.active{background-color:var(--color-white);transform:scale(1.2)}.dolly-card-badges{z-index:2;pointer-events:none;flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex;position:absolute;top:.75rem;left:.75rem}.dolly-status-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-pill);color:var(--color-dark);white-space:nowrap;background-color:#fffffff2;flex-shrink:0;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #0b1f441f}.dolly-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-forSale .dolly-status-dot{background-color:var(--color-primary)}.status-forRent .dolly-status-dot{background-color:var(--color-light)}.status-sold .dolly-status-dot{background-color:var(--color-dark)}.dolly-chip-new{background-color:var(--color-accent);color:var(--color-dark);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #0b1f441f}.dolly-card-heart{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:34px;height:34px;color:var(--color-text-muted);background-color:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 2px 6px #0b1f4426}.dolly-card-heart:hover{background-color:var(--color-white);color:#ef4444;transform:scale(1.1)}.dolly-card-heart.is-saved{color:#ef4444;background-color:var(--color-white)}.dolly-card-content{flex-direction:column;gap:.35rem;padding:1rem;display:flex}.dolly-card-price-row{justify-content:space-between;align-items:baseline;display:flex}.dolly-card-price{color:var(--color-dark);font-size:1.35rem;font-weight:700;line-height:1.2}.dolly-card-specs{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.88rem;font-weight:500;display:flex}.dolly-specs-sep{color:var(--color-gray-border);font-weight:300}.dolly-card-address{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.85rem;overflow:hidden}.dolly-card-realty{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.35rem;font-size:.75rem;font-weight:500}
