/* open-house property page (oh_homes.py). Loaded after oh.css. */
body.home-pg{display:block;background:var(--cream)}
.top-agent{display:flex;align-items:center;gap:10px}
.top-agent img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--sage-l)}
.top-agent b{display:block;font-size:.9rem;font-weight:600;line-height:1.1}.top-agent small{font-size:.62rem;color:var(--muted);letter-spacing:.04em}
.btn.sm{min-height:40px;width:auto;padding:0 18px;font-size:.88rem}
@media(max-width:560px){.top-agent>span{display:none}}
.hero{position:relative;height:56vh;min-height:300px;max-height:620px;overflow:hidden;background:var(--sage-l)}
.hero img{width:100%;height:100%;object-fit:cover;display:block}
.hero-in{position:absolute;left:0;right:0;bottom:0;padding:70px 24px 26px;background:linear-gradient(transparent,rgba(20,20,18,.72));color:#fff}
.hero-in h1{font-size:2.5rem;max-width:1080px;margin:0 auto}.hero-in p{max-width:1080px;margin:4px auto 0;font-size:1.05rem;opacity:.92}
@media(min-width:700px){.hero-in h1{font-size:3.4rem}}
.badge{display:block;max-width:1080px;margin:0 auto 8px;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
main.hm{max-width:1120px;padding-top:26px}
.hm-grid{display:grid;gap:22px}
@media(min-width:940px){.hm-grid{grid-template-columns:1fr 320px;gap:30px;align-items:start}.hm-side{position:sticky;top:20px}}
.hm-main>.card{margin-bottom:22px}
.card h2{font-size:2rem;margin-bottom:14px}.card h2 em{font-style:italic;color:var(--sage-d)}.card h2 small{font-family:var(--sans);font-size:.8rem;color:var(--muted)}
.price{font-family:var(--serif);font-size:2.6rem;line-height:1}
.facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin:16px 0 20px}
.facts div{display:flex;flex-direction:column}.facts b{font-size:1.3rem;font-weight:600}.facts span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cta-row{display:grid;gap:10px}@media(min-width:600px){.cta-row{grid-template-columns:1fr 1fr}}
.btn.ghost{background:transparent;color:var(--char);border:1.5px solid rgba(42,42,39,.25)}
.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:700px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery .ph{border:0;padding:0;background:var(--sage-l);border-radius:10px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery .ph:hover img{transform:scale(1.03)}
.desc p{margin-bottom:12px;color:#3c3b37}
.feats{display:grid;gap:18px}@media(min-width:700px){.feats{grid-template-columns:1fr 1fr}}
.fg h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-d);margin-bottom:6px;font-weight:600}
.fg ul{list-style:none}.fg li{font-size:.92rem;padding:3px 0;border-bottom:1px solid rgba(42,42,39,.06)}
.opt{color:var(--muted);font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sent{display:none;margin-top:14px;color:var(--sage-d);font-weight:500}
.fine{font-size:.74rem;color:var(--muted);line-height:1.5;margin:6px 4px 10px}
.agentcard{flex-direction:column;text-align:center;padding:28px 22px}
.agentcard img{width:140px;height:140px}
.agentcard .role{font-size:.8rem;color:var(--muted);margin-bottom:8px}
.agentcard .ph,.agentcard .em{display:block;font-size:.95rem;font-weight:500;text-decoration:none;word-break:break-word;margin-top:2px}
.side-cta{display:grid;gap:10px;margin-top:16px}.side-cta .btn{min-height:52px;font-size:.95rem}
.lb{position:fixed;inset:0;background:rgba(15,15,14,.94);z-index:50;display:flex;align-items:center;justify-content:center}
.lb img{max-width:94vw;max-height:86vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:10px 18px;line-height:1}
.lb-x{top:8px;right:8px}.lb-p{left:4px}.lb-n{right:4px}.lb-c{position:absolute;bottom:14px;color:#ddd;font-size:.85rem}
.foot{text-align:center;font-size:.74rem;color:var(--muted);padding:24px 20px 34px;line-height:1.7}
.hero.nophoto{height:auto;min-height:0;max-height:none}.hero.nophoto .hero-in{position:static;padding:60px 24px 30px;background:var(--sage-d)}
.courtesy-top{font-size:.8rem;color:var(--muted);margin-bottom:10px;letter-spacing:.02em}.example-flag{background:#fbe9c6;color:#6b4a12;border-radius:10px;padding:10px 12px;font-size:.85rem;font-weight:600;margin-bottom:14px}.verbatim{white-space:pre-line}

/* non-APRE open house: date/time line under the courtesy line */
.oh-when{margin:6px 0 0;font-size:.92rem;font-weight:600;color:var(--sage,#4e5b49);letter-spacing:.01em}
