.opv-homes-wrap{max-width:1200px;margin:25px auto;padding:0 18px}.opv-homes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.opv-card{background:#fff;border:1px solid #e1e6ec;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(9,30,53,.07);color:#15304b}.opv-card-image{display:block;aspect-ratio:16/10;background:#e5ebec;overflow:hidden}.opv-card-image img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .2s}.opv-card-image:hover img{transform:scale(1.025)}.opv-image-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:#526579}.opv-card-content{padding:21px}.opv-card-top{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.opv-community{font-size:13px;color:#667b8d}.opv-status{display:inline-block;font-weight:650;border-radius:20px;padding:4px 10px;background:#edf5f1;color:#25634a;font-size:12px}.opv-pending{background:#fff4dc;color:#785a0e}.opv-sold{background:#f1f1f1;color:#555}.opv-card h3{margin:12px 0 8px;font-size:22px;line-height:1.25}.opv-card h3 a{text-decoration:none;color:#102d4a}.opv-price{font-size:23px;font-weight:800;color:#123b69;margin:8px 0}.opv-features,.opv-address{color:#52667b;margin:7px 0;font-size:14px}.opv-link{display:inline-block;color:#123b69;font-weight:700;margin-top:14px;text-underline-offset:4px}.opv-empty{background:#f7f9fb;padding:24px;border-radius:10px;color:#33475b}.opv-home-detail{border:1px solid #e0e6ed;border-radius:12px;background:#f8fafc;padding:24px;margin:20px 0}.opv-home-detail p{margin:0 0 10px}.opv-detail-price{font-size:25px;color:#123b69}.opv-detail-button{background:#102f51;color:#fff!important;padding:12px 18px;border-radius:6px;display:inline-block;text-decoration:none;font-weight:700}@media(max-width:960px){.opv-homes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.opv-homes-grid{grid-template-columns:1fr}}

/* Version 2: individual property pages */
.opv-property{max-width:1100px;margin:32px auto 38px;color:#112f4b}
.opv-property-gallery{margin-bottom:26px}
.opv-gallery-main{overflow:hidden;border-radius:17px;background:#edf1f4;aspect-ratio:16/9}
.opv-gallery-main img{width:100%;height:100%;display:block;object-fit:cover}
.opv-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px}
.opv-gallery-thumb{flex:0 0 104px;height:78px;overflow:hidden;padding:0;border:3px solid transparent;border-radius:10px;background:#f1f3f5;cursor:pointer}
.opv-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.opv-gallery-thumb.is-active{border-color:#d9a12e}
.opv-gallery-thumb:focus-visible{outline:3px solid #123b69;outline-offset:2px}
.opv-property-summary{background:#f8fafc;border:1px solid #e1e7ed;border-radius:16px;padding:30px}
.opv-property-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:700;font-size:14px}
.opv-property-price{font-size:clamp(28px,4vw,42px);font-weight:800;color:#123b69;line-height:1.2;margin:15px 0 8px}
.opv-property-address{font-size:16px;color:#465d73;margin:0 0 24px}
.opv-property-facts{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.opv-property-facts>div{min-width:126px;background:#fff;border:1px solid #dce5ed;border-radius:11px;padding:13px 18px;display:flex;flex-direction:column;gap:3px}
.opv-property-facts strong{font-size:24px;color:#122f4b}
.opv-property-facts span{font-size:12px;color:#587087}
.opv-property .opv-detail-button{border-radius:8px;padding:14px 20px}
.opv-property + p{margin-top:18px}
@media(max-width:650px){.opv-property{margin:18px auto}.opv-property-summary{padding:20px}.opv-gallery-main{aspect-ratio:4/3}.opv-gallery-thumb{flex-basis:80px;height:64px}.opv-property-facts>div{min-width:95px;padding:10px 12px}}
