/* Liberty Homes NW - single listing page */
.lhnw-single{margin:0;background:#fff;color:#111;font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.7}
.lhnw-single *{box-sizing:border-box}
.lhnw-single a{color:inherit;text-decoration:none}
.lhnw-single h1,.lhnw-single h2,.lhnw-single h3{margin:0;color:#111;font-family:Montserrat,Arial,sans-serif}

/* header */
.lhnw-hd{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 36px;background:#111;color:#fff}
.admin-bar .lhnw-hd{top:32px}
.lhnw-single .lhnw-hd a{color:#fff}
.lhnw-logo{display:flex;align-items:center;gap:11px;white-space:nowrap;font-weight:700;letter-spacing:.28em;font-size:15px}
.lhnw-logo svg{width:28px;height:28px;flex:none}
.lhnw-logo b{color:#b08d57}
.lhnw-hd nav{display:flex;gap:28px}
.lhnw-hd nav a{white-space:nowrap;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;opacity:.85}
.lhnw-hd nav a:hover{opacity:1;color:#b08d57}

/* photo mosaic */
.lhnw-mosaic{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;height:min(62vh,560px);background:#eee;max-width:1400px;margin:0 auto}
.lhnw-mosaic.n1{grid-template-columns:1fr}
.lhnw-nophoto{background:linear-gradient(160deg,#cfc7b8,#8d8577)}
.lhnw-m{border:0;padding:0;background-size:cover;background-position:center;cursor:pointer;transition:filter .2s}
.lhnw-m:hover{filter:brightness(.92)}
.lhnw-m-side{display:grid;gap:6px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:0}
.n2 .lhnw-m-side{grid-template-columns:1fr;grid-template-rows:1fr}
.n3 .lhnw-m-side{grid-template-columns:1fr}
.n4 .lhnw-m-side>:first-child{grid-column:span 2}
.lhnw-all{position:absolute;right:16px;bottom:16px;border:0;background:#fff;color:#111;font:600 12px/1 Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;border-radius:6px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.lhnw-all:hover{background:#f3f3f3}

/* layout */
.lhnw-body{max-width:1180px;margin:0 auto;padding:36px 24px 90px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:50px;align-items:start}
.lhnw-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.lhnw-status span{width:10px;height:10px;border-radius:50%;background:#2e9d5b}
.lhnw-st-coming span{background:#e0a100}
.lhnw-st-sold span{background:#b3261e}
.lhnw-pricebox{margin-top:10px}
.lhnw-bigprice{font-size:clamp(34px,5vw,46px);font-weight:700;line-height:1.1}
.lhnw-pricelabel{font-size:13px;color:#777;margin-top:4px}
.lhnw-stats{display:flex;gap:30px;flex-wrap:wrap;margin:18px 0 6px}
.lhnw-stats div{display:flex;flex-direction:column;line-height:1.2}
.lhnw-stats b{font-size:22px;font-weight:700}
.lhnw-stats span{font-size:12px;color:#777;margin-top:3px}
.lhnw-single .lhnw-addr{font-size:18px;font-weight:500;line-height:1.4;margin-top:14px}
.lhnw-addr small{display:block;font-size:15px;color:#777;font-weight:400}

.lhnw-sec{margin-top:44px;padding-top:30px;border-top:1px solid #e6e6e6}
.lhnw-single .lhnw-sec h2{font-size:26px;font-weight:700;margin-bottom:16px}
.lhnw-about{font-size:16px;line-height:1.75;max-height:9.6em;overflow:hidden;position:relative}
.lhnw-about.open{max-height:none}
.lhnw-about p{margin:0 0 14px}
.lhnw-more{margin-top:14px;border:0;background:none;padding:0;color:#2f6f7a;font:600 16px Montserrat,Arial,sans-serif;cursor:pointer}
.lhnw-more:hover{text-decoration:underline}

.lhnw-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.lhnw-fact{display:flex;align-items:center;gap:14px;background:#faf9f7;border-radius:10px;padding:18px}
.lhnw-fact svg{width:30px;height:30px;flex:none;color:#111}
.lhnw-fact div{display:flex;flex-direction:column;line-height:1.3}
.lhnw-fact b{font-size:17px;font-weight:500}
.lhnw-fact span{font-size:13px;color:#777}
.lhnw-meta{margin-top:26px;font-size:14px;color:#444;line-height:1.9}

/* contact card */
.lhnw-side-card{position:sticky;top:90px}
.admin-bar .lhnw-side-card{top:122px}
.lhnw-card-box{border:1px solid #e1e1e1;border-radius:12px;padding:26px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.lhnw-single .lhnw-card-box h3{font-size:20px;font-weight:700;margin-bottom:6px}
.lhnw-card-box p{margin:0 0 18px;color:#666;font-size:14px}
.lhnw-btn{display:block;text-align:center;padding:15px 20px;background:#b08d57;color:#fff!important;border:1px solid #b08d57;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;transition:.2s}
.lhnw-btn:hover{background:#111;border-color:#111}
.lhnw-btn-o{background:#fff;color:#111!important;border-color:#111}
.lhnw-btn-o:hover{background:#111;color:#fff!important}
.lhnw-phone{display:block;text-align:center;margin-top:14px;font-size:16px;font-weight:600}
.lhnw-back{display:block;margin-top:18px;font-size:13px;color:#555}
.lhnw-back:hover{color:#b08d57}

/* footer */
.lhnw-ft{background:#0d0d0d;color:#bbb;font-size:13px;padding:30px 24px}
.lhnw-ft-in{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lhnw-single .lhnw-ft a{color:#bbb}
.lhnw-ft a:hover{color:#b08d57}

/* lightbox */
.lhnw-lb{position:fixed;inset:0;z-index:9999;background:rgba(10,10,10,.96);display:flex;align-items:center;justify-content:center}
.lhnw-lb[hidden]{display:none}
.lhnw-lb img{max-width:90vw;max-height:84vh;object-fit:contain}
.lhnw-lb button{position:absolute;border:0;background:none;color:#fff;cursor:pointer;line-height:1}
.lhnw-lb-x{top:18px;right:26px;font-size:44px}
.lhnw-lb-p,.lhnw-lb-n{top:50%;transform:translateY(-50%);font-size:64px;padding:10px 20px}
.lhnw-lb-p{left:10px}
.lhnw-lb-n{right:10px}
.lhnw-lb-c{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#ddd;font-size:13px;letter-spacing:.1em}

@media(max-width:900px){
  .lhnw-hd{padding:12px 18px}
  .lhnw-hd nav{display:none}
  .lhnw-mosaic{height:46vh;grid-template-columns:1fr}
  .lhnw-m-side{display:none}
  .lhnw-body{grid-template-columns:1fr;gap:30px;padding-top:26px}
  .lhnw-side-card{position:static}
  .lhnw-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.lhnw-facts{grid-template-columns:1fr}.admin-bar .lhnw-hd{top:46px}}
