.rv-section{max-width:1100px;margin:32px auto;padding:0 40px}.rv-title{color:var(--deep);margin:0 0 16px;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700}.rv-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.rv-card-wrap{flex-direction:column;display:flex;position:relative}.rv-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:14px;flex-direction:column;flex:1;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.rv-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0f23181a}.rv-card-img{aspect-ratio:16/10;background:var(--sand);flex-shrink:0;position:relative;overflow:hidden}.rv-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.rv-card:hover .rv-card-img img{transform:scale(1.04)}.rv-card-placeholder{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:2.5rem;display:flex}.rv-card-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 18px;display:flex}.rv-card-title{color:var(--deep);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Playfair Display,serif;font-size:.95rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.rv-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.rv-card-loc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-size:.8rem;display:flex;overflow:hidden}.rv-card-loc svg{opacity:.6;flex-shrink:0}.rv-card-price{color:var(--deep);margin-top:2px;font-family:Playfair Display,serif;font-size:1rem;font-weight:700}@media (width<=768px){.rv-section{padding:0 20px}.rv-grid{grid-template-columns:1fr}}
