/* Single-property listing pages | loaded after site.css */
.crumbs{background:var(--black);color:#c9c4b8;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding-top:1.25rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:#6d6862}
.crumbs a{color:var(--cream);text-decoration:none}
.crumbs a:hover{text-decoration:underline;text-decoration-color:var(--red-bright)}

.l-hero{background:var(--black);color:var(--cream);overflow:hidden}
.l-hero .wrap{display:grid;gap:2rem;padding-block:1.75rem 3rem;grid-template-columns:minmax(0,1fr)}
.l-hero .wrap>*{min-width:0}
.status{display:inline-block;background:var(--red-bright);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .7rem;margin-right:.6rem;vertical-align:middle}
.l-hero h1{color:var(--cream);font-size:clamp(2rem,6.5vw,3.3rem);margin:.9rem 0 .35rem}
.l-hero .city{color:#d8d3c6;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin:0 0 1.25rem}
.price{font-family:var(--serif);font-size:clamp(2.2rem,7vw,3rem);font-weight:700;color:#fff;margin:0 0 1.25rem;line-height:1}
.facts{list-style:none;padding:0;margin:0 0 1.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#333;border:1px solid #333}
.facts li{background:#1b1b1b;padding:.8rem 1rem}
.facts strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--cream);line-height:1.2}
.facts span{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b9b3a6}
.l-hero .tagline{margin-bottom:1.5rem}
.l-photo{position:relative;align-self:center}
.l-photo::before{content:"";position:absolute;inset:10% -6% -6% 14%;background:var(--red);z-index:0}
.l-photo img{position:relative;z-index:1;width:100%;aspect-ratio:3/2;object-fit:cover;border:6px solid var(--cream)}
.l-photo figcaption{position:relative;z-index:1;font-size:.75rem;color:#c9c4b8;margin-top:.6rem}

.l-grid{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
.l-grid>*{min-width:0}
.desc p{font-size:1.05rem}
.desc .sign{font-family:var(--serif);font-size:1.3rem;color:var(--red);margin-top:1.5rem}
.details{background:#fff;border-top:4px solid var(--red);padding:1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.06);align-self:start}
.details h2{font-size:1.5rem}
.details dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:.92rem}
.details dt{font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:.2rem}
.details dd{margin:0;font-weight:600;color:var(--black)}
.details .fine{font-size:.78rem;color:var(--muted);margin:1rem 0 0}

.feature-cols{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
.feature-cols .card h3{font-size:1.2rem}
.feature-cols .checklist{margin:0}
.feature-cols .fine{font-size:.8rem;color:var(--muted);margin:1rem 0 0}

.gallery{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery a{display:block;position:relative;overflow:hidden;background:#222}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .35s,opacity .2s}
.gallery a:hover img{transform:scale(1.04);opacity:.9}
.gallery li:first-child{grid-column:span 2}
.gallery .cap{position:absolute;left:0;bottom:0;right:0;padding:.35rem .6rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.gallery-note{font-size:.82rem;color:#b9b3a6;margin-top:1rem}

.lightbox{display:none;position:fixed;inset:0;z-index:200;background:rgba(10,10,10,.95);padding:3.5rem 1rem 1rem}
.lightbox:target{display:grid;place-items:center}
.lightbox figure{margin:0;max-width:min(1400px,100%);text-align:center}
.lightbox img{max-height:calc(100vh - 8rem);width:auto;margin:0 auto;border:4px solid var(--cream)}
.lightbox figcaption{color:var(--cream);font-size:.85rem;margin-top:.6rem}
.lb-btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--red-bright);color:#fff;text-decoration:none;font-size:1.6rem;line-height:1;font-weight:700}
.lb-btn:hover{background:var(--red);color:#fff}
.lb-close{top:.75rem;right:.75rem}
.lb-prev{left:.75rem;top:50%;transform:translateY(-50%)}
.lb-next{right:.75rem;top:50%;transform:translateY(-50%)}

.showing{background:var(--red);color:var(--cream);text-align:center}
.showing h2{color:var(--cream)}
.showing .lead{max-width:640px;margin:0 auto 1.75rem}
.showing .btn-row{justify-content:center}
.showing .btn-light{background:var(--cream);color:var(--black)}
.showing .btn-light:hover{background:#fff;color:var(--red)}
.showing .mls{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:1.75rem 0 0;color:#f0c9cd}

.map-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.map-row address{font-style:normal;font-weight:600;font-size:1.05rem}

.eho-note{display:flex;gap:1rem;align-items:flex-start;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem}
.eho-note svg{flex:0 0 44px;width:44px;fill:var(--black)}

@media (min-width:720px){
  .facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gallery li:first-child{grid-row:span 2}
  .feature-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lb-prev{left:1.5rem}.lb-next{right:1.5rem}
}
@media (min-width:900px){
  .l-hero .wrap{grid-template-columns:1fr 1.05fr;align-items:center;padding-block:2rem 4rem}
  .l-grid{grid-template-columns:1.35fr .9fr}
}
