/* Rana Real Estate — listing cards (filled by rana-listings-sync.php) */
.lc-section h2{text-wrap:balance}
.lc-count{display:inline-block;min-width:1.9em;padding:.1em .5em;margin-left:.35em;border-radius:99px;background:var(--plaster);color:var(--stone);font:500 .9rem/1.6 var(--font);vertical-align:middle;text-align:center}
.lc-grid{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.lc-grid-compact{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.lc{margin:0}
.lc>a{display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--rule);border-radius:6px;overflow:hidden;color:var(--ink);text-decoration:none;transition:box-shadow .2s,transform .2s}
.lc>a:hover,.lc>a:focus-visible{box-shadow:0 10px 31px #0798ff17;transform:translateY(-2px)}
.lc>a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.lc-media{position:relative;aspect-ratio:3/2;background:var(--navy);overflow:hidden}
.lc-media img{width:100%;height:100%;object-fit:cover;display:block}
.lc-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;color:#ffffffd9;font:400 1.35rem/1.2 var(--serif);text-wrap:balance}
.lc-badge{position:absolute;left:.75rem;top:.75rem;padding:.25rem .6rem;border-radius:3px;background:var(--green);color:#fff;font:600 .72rem/1.3 var(--font);letter-spacing:.08em;text-transform:uppercase}
.lc-sold .lc-badge{background:var(--navy)}
.lc-leased .lc-badge{background:var(--saffron);color:var(--black)}
.lc-body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.lc-body p{margin:0}
.lc-price{font:500 1.35rem/1.2 var(--serif);color:var(--navy)}
.lc-price small{font:400 .85rem var(--font);color:var(--stone);margin-left:.15em}
.lc-addr{font-weight:500;line-height:1.35;overflow-wrap:normal;hyphens:none}
.lc-city{display:block;font-weight:400;color:var(--stone)}
.lc-facts{color:var(--ink);font-size:.95rem}
.lc-role{color:var(--green);font-size:.9rem;font-weight:500}
.lc-broker{margin-top:auto!important;padding-top:.4rem;color:var(--stone);font-size:.78rem}
.lc-compact .lc-body{padding:.85rem 1rem}
.lc-compact .lc-price{font-size:1.15rem}
.lc-more{margin-top:2rem}
.lc-more-list{margin-top:1.5rem}
.lc-more-list summary{cursor:pointer;display:inline-block;padding:.7rem 1.3rem;border:1px solid var(--ink);border-radius:3px;font:500 .9375rem/1.2 var(--font)}
.lc-more-list[open] summary{margin-bottom:.5rem}
.lc-empty{color:var(--stone)}
.lc-disclaimer{color:var(--stone);font-size:.8rem;line-height:1.5;max-width:var(--measure)}
@media (prefers-reduced-motion:reduce){.lc>a{transition:none}.lc>a:hover{transform:none}}

/* Listing detail pages (/listings/<address>/) */
.ld-h1-city{display:block;margin-top:.35rem;font:400 clamp(1rem,1.6vw,1.2rem)/1.3 var(--font);color:var(--stone)}
.ld-notice{margin:0 0 1.5rem;padding:1rem 1.25rem;border-left:4px solid var(--saffron);background:var(--plaster)}
.ld-gallery{position:relative;display:grid;gap:.5rem;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:2/1;border-radius:6px;overflow:hidden}
.ld-gallery a{display:block;overflow:hidden;background:var(--navy)}
.ld-gallery a:first-child{grid-row:span 2}
.ld-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ld-gallery a:hover img{transform:scale(1.03)}
.ld-gallery .ld-more-photo{display:none}
.ld-count{position:absolute;right:.75rem;bottom:.75rem;padding:.4rem .75rem;border-radius:3px;background:#000000b3;color:#fff;font:500 .85rem/1.2 var(--font);pointer-events:none}
.ld-head{display:grid;gap:2rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);margin:2rem 0 1rem;align-items:start}
.ld-status{display:flex;gap:.6rem;align-items:center;margin:0 0 .5rem;color:var(--stone)}
.ld-status .lc-badge{position:static}
.ld-price{margin:0 0 1rem;font:400 clamp(2rem,4vw,2.75rem)/1.1 var(--serif);color:var(--navy)}
.ld-keyfacts{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:0}
.ld-keyfacts div{min-width:4.5rem}
.ld-keyfacts dt{color:var(--stone);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.ld-keyfacts dd{margin:0;font:500 1.2rem/1.3 var(--font);white-space:nowrap}
.ld-side{padding:1.25rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}
.ld-open h2{font-size:1.2rem;margin:0 0 .5rem}
.ld-open ul{list-style:none;margin:0 0 1rem;padding:0}
.ld-open li{padding:.35rem 0;border-bottom:1px solid var(--rule)}
.ld-cta{display:flex;flex-wrap:wrap;gap:.75rem}
.ld-block{margin-top:2.5rem;max-width:var(--measure)}
.ld-block h2{text-wrap:balance}
.ld-block p{line-height:1.7}
.ld-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:0 2rem;margin:0}
.ld-details div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.ld-details dt{color:var(--stone)}
.ld-details dd{margin:0;text-align:right;font-weight:500}
.ld .lc-disclaimer{margin-top:2.5rem}
@media (max-width:760px){
  .ld-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;aspect-ratio:auto}
  .ld-gallery a:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:3/2}
  .ld-gallery a:nth-child(n+4){display:none}
  .ld-gallery a:nth-child(2),.ld-gallery a:nth-child(3){aspect-ratio:3/2}
  .ld-head{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ld-gallery img{transition:none}}

/* Listings page header: shorter hero, title + intro + actions in one band */
.lp-shell .banner{height:clamp(160px,20vw,300px)!important;position:relative}
.lp-shell .banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 55%,#00000040)}
.lp-title{padding-block:1.5rem 1.75rem!important;border-bottom:1px solid var(--rule)}
.lp-title-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2.5rem;align-items:end}
.lp-title .page-title{text-wrap:balance}
.lp-lede{margin:.6rem 0 0;max-width:46ch;color:var(--stone);font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.55;text-wrap:pretty}
.lp-cta{margin-top:0!important;flex-wrap:nowrap}
.lp-shell~* #active,#active{padding-top:clamp(1.75rem,3.5vw,2.75rem)}
#sold,#leased{padding-top:clamp(2rem,4vw,3rem)}
@media (max-width:900px){.lp-title-grid{grid-template-columns:1fr;align-items:start}.lp-cta{flex-wrap:wrap}}
/* Detail pages: the photo gallery is the hero, so drop the city banner and search bar */
.ld-shell .banner,.ld-shell .adv-search{display:none}
.ld-shell .title-band{padding-block:1.25rem 1rem}
.ld-shell~* .ld,.ld{padding-top:1rem}

/* Off-market CTA band (listings page, between Active and Sold) */
.lc-offmarket-wrap{padding-block:clamp(1.5rem,3vw,2.5rem)}
.lc-offmarket{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:center;padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:8px;background:var(--navy);color:#fff}
.lc-off-kicker{margin:0 0 .4rem;color:var(--saffron);font:600 .78rem/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase}
.lc-offmarket h2{color:#fff;margin:0 0 .6rem;text-wrap:balance}
.lc-off-text p:last-child{margin:0;color:#ffffffd9;line-height:1.6;max-width:52ch;text-wrap:pretty}
.lc-off-contact{display:flex;flex-direction:column;gap:.75rem}
.lc-off-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;border:1px solid #ffffff40;border-radius:4px;color:#fff;text-decoration:none;font:500 1.05rem/1.3 var(--font);transition:background .2s,border-color .2s}
.lc-off-line:hover,.lc-off-line:focus-visible{background:#ffffff14;border-color:#fff}
.lc-off-label{color:#ffffffb3;font-size:.8rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.lc-off-btn{justify-content:center}
@media (max-width:860px){.lc-offmarket{grid-template-columns:1fr}.lc-off-line{flex-direction:column;align-items:flex-start;gap:.2rem}}
#active{padding-bottom:clamp(.5rem,1.5vw,1rem)}
