/* ============================================================
   Listing detail — gallery, prose, sticky contact card
   ============================================================ */
.ld-crumb{padding:18px 0 0}
.ld-crumb a{color:var(--gray);font-size:14px;font-weight:600}
.ld-crumb a:hover{color:var(--black)}

.ld-title{padding:18px 0 22px;max-width:860px}
.ld-title h1{font-size:clamp(27px,3.6vw,40px)}
.ld-loc{color:var(--gray);font-size:15px;font-weight:600;margin-top:8px}
.ld-badge{display:inline-block;background:var(--orange);color:#fff;font-size:10px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;padding:4px 8px;border-radius:5px;margin-bottom:12px}

/* gallery */
.ld-gal{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:8px}
.ld-gal .main{grid-row:span 2;height:424px;border-radius:14px 0 0 14px}
.ld-gal .thumb{height:207px}
.ld-gal .thumb:nth-of-type(2){border-radius:0 14px 0 0}
.ld-gal .thumb:nth-of-type(3){border-radius:0 0 14px 0}
.ld-gal figure{margin:0;background:var(--light) center/cover no-repeat;cursor:zoom-in;
  position:relative;transition:.15s}
.ld-gal figure:hover{opacity:.92}
.ld-gal .rest{position:absolute;inset:0;background:rgba(20,22,24,.58);color:#fff;display:grid;
  place-items:center;font-weight:800;font-size:17px;border-radius:0 0 14px 0}
.ld-onephoto{height:420px;border-radius:14px;background:var(--light) center/cover no-repeat;
  cursor:zoom-in;margin-bottom:8px}

/* prose */
.ld-body{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(290px,1fr);gap:40px;
  align-items:start;padding-bottom:70px}
.ld-prose h2{font-size:20px;margin-bottom:12px}
.ld-prose p{font-size:16px;line-height:1.72;margin-bottom:14px}
.ld-facts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.ld-facts span{background:var(--light);border-radius:8px;padding:8px 12px;font-size:13.5px;
  font-weight:700;color:var(--charcoal)}
.ld-facts span b{color:var(--black)}
.ld-src{margin-top:22px;font-size:13.5px;color:var(--gray)}
.ld-src a{color:var(--orange-d);font-weight:700}

/* contact card */
.ld-contact{position:sticky;top:92px;background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:22px}
.ld-contact .price{font-size:24px;font-weight:800;color:var(--black);letter-spacing:-.02em}
.ld-contact .plabel{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gray);margin-bottom:4px}
.ld-who{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.ld-who .nm{font-weight:800;color:var(--black);font-size:16px}
.ld-who .co{color:var(--gray);font-size:13.5px;margin-top:2px}
.ld-who a.line{display:flex;align-items:center;gap:9px;margin-top:10px;font-weight:700;
  font-size:14.5px;color:var(--ink);word-break:break-word}
.ld-who a.line:hover{color:var(--orange-d)}
.ld-who .ic{width:26px;height:26px;border-radius:7px;background:var(--light);display:grid;
  place-items:center;font-size:13px;flex:none}
.ld-actions{margin-top:18px;display:grid;gap:9px}
.ld-extra{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;color:var(--gray);
  font-size:12.5px;line-height:1.55;white-space:pre-line}
.ld-note{color:var(--gray);font-size:12px;margin-top:14px;line-height:1.5}

/* more listings */
.ld-more{background:var(--light);padding:56px 0}
.ld-more h2{font-size:22px;margin-bottom:20px}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(14,16,18,.94);display:flex;
  align-items:center;justify-content:center}
.lb[hidden]{display:none!important}
.lb img{max-width:92vw;max-height:86vh;border-radius:8px;object-fit:contain}
.lb-close{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:36px;
  line-height:1;cursor:pointer;opacity:.8}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);
  border:0;color:#fff;font-size:34px;width:54px;height:54px;border-radius:50%;cursor:pointer}
.lb-nav:hover{background:rgba(255,255,255,.24)}
.lb-nav.prev{left:18px} .lb-nav.next{right:18px}
.lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#c9cbcd;
  font-size:13.5px;font-weight:600}

@media(max-width:900px){
  .ld-body{grid-template-columns:1fr;gap:26px}
  .ld-contact{position:static}
  .ld-gal{grid-template-columns:1fr}
  .ld-gal .main{grid-row:auto;height:300px;border-radius:14px}
  .ld-gal .thumb{display:none}
  .lb-nav{width:44px;height:44px;font-size:28px}
}
