/* Public "For Sale / For Rent" listing layer (data: listings_public.json – no owner details) */
.fs-ctl{border:0!important;box-shadow:0 1px 5px rgba(0,0,0,.4)!important;border-radius:6px!important;overflow:hidden;background:#03241a}
.fs-ctl a.fs-btn{width:44px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(160deg,#03241a,#064e3b);color:#e0c06a;cursor:pointer;text-decoration:none;font:700 9.5px/1 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;border:1.5px solid #c9a24a;box-sizing:border-box}
.fs-ctl a.fs-btn:first-child{border-radius:6px 6px 0 0;border-bottom-width:.75px}.fs-ctl a.fs-btn:last-child{border-radius:0 0 6px 6px;border-top-width:.75px}
.fs-ctl a.fs-btn .ic{font-size:15px;line-height:1;opacity:.55;filter:grayscale(1)}
.fs-ctl a.fs-btn.on{background:#0b5d45;color:#fff1c2;box-shadow:0 0 0 2px #e0c06a inset}.fs-ctl a.fs-btn.on .ic{opacity:1;filter:none}
.fs-ctl a.fs-btn.soon{opacity:.6;cursor:default}
.fs-ctl a.fs-btn b{font-size:8.5px;color:#f3e6c4;font-weight:700}
.fs-pin{position:relative;display:inline-flex;align-items:center;gap:3px;transform:translate(-50%,-100%);margin-top:-6px;white-space:nowrap;background:linear-gradient(160deg,#03241a,#0a4a33);color:#f0cf74;border:1.5px solid #e0c06a;border-radius:12px;padding:3px 7px 3px 6px;font:800 11px/1.1 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-shadow:0 2px 7px rgba(0,0,0,.45);cursor:pointer}
.fs-pin:after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-6px;border:6px solid transparent;border-top-color:#e0c06a;border-bottom:0}
.fs-pin small{font-weight:700;color:#fff1c2;font-size:10.5px}
.fs-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#e0c06a;border:2px solid #03241a;box-shadow:0 0 0 3px rgba(224,192,106,.35)}
.fs-popup .leaflet-popup-content-wrapper{background:linear-gradient(160deg,#03241a 0%,#0a4a33 100%);color:#f3e6c4;border:1.5px solid #c9a24a;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.45)}
.fs-popup .leaflet-popup-tip{background:#0a4a33;border:1.5px solid #c9a24a}
.fs-popup .leaflet-popup-content{margin:11px 13px 12px;font:13px/1.45 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.fs-popup a.leaflet-popup-close-button{color:#e0c06a!important;font-size:20px!important;width:26px!important;height:26px!important;top:3px!important;right:3px!important}
.fs-card .fs-k{display:inline-block;background:#e0c06a;color:#03241a;font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:2px 7px;margin-bottom:6px}
.fs-card .fs-t{font-weight:700;color:#fff;font-size:14px;line-height:1.35}
.fs-card .fs-p{margin:5px 0 9px;color:#f0cf74;font-weight:800;font-size:16px}
.fs-card a.fs-wa{display:flex;align-items:center;justify-content:center;gap:6px;background:#25d366;color:#fff!important;text-decoration:none;font-weight:700;font-size:13.5px;padding:8px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.25)}
.fs-card .fs-n{margin-top:7px;font-size:11px;color:#cdbb8a}
.ps-badge.fs-tag{background:#03241a!important;color:#f0cf74!important;border:1px solid #c9a24a!important}
/* label below the point (used where two listed plots are adjacent, e.g. I-328 under I-329) */
.fs-pin.fs-dn{transform:translate(-50%,0);margin-top:6px}
.fs-pin.fs-dn:after{bottom:auto;top:-7px;border-top:0;border-bottom:6px solid #e0c06a}
.fs-card .fs-g{margin:-3px 0 9px;font-size:12px;color:#f3e6c4;line-height:1.4}

/* listing photo gallery + lightbox */
.fs-gal{margin:-2px -2px 8px}
.fs-gal .fs-gm{position:relative;display:block;width:100%;padding:0;border:1.5px solid #c9a24a;border-radius:9px;overflow:hidden;background:#03241a;cursor:pointer}
.fs-gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.fs-gal .fs-gc{position:absolute;right:6px;bottom:6px;background:rgba(3,36,26,.85);color:#f0cf74;border:1px solid #c9a24a;border-radius:12px;padding:3px 8px;font:700 11.5px/1.2 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.fs-lb{position:fixed;inset:0;z-index:100000;background:rgba(2,20,14,.96);display:flex;align-items:center;justify-content:center}
.fs-lb img{max-width:100vw;max-height:84vh;object-fit:contain;border-top:2px solid #c9a24a;border-bottom:2px solid #c9a24a}
.fs-lb button{position:absolute;background:#03241a;color:#f0cf74;border:1.5px solid #c9a24a;border-radius:50%;width:46px;height:46px;font:700 28px/1 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fs-lb .fs-lx{top:12px;right:12px}.fs-lb .fs-lp{left:8px;top:50%;margin-top:-23px}.fs-lb .fs-ln{right:8px;top:50%;margin-top:-23px}
.fs-lb .fs-lc{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#f3e6c4;font:600 13px/1.3 Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;padding:0 10px}

.fs-ct{display:flex;gap:6px;margin:6px 0}.fs-ct a{flex:1;text-align:center;padding:8px 4px;border-radius:8px;background:#0a3a28;color:#f5d36b;font-weight:700;text-decoration:none;font-size:13px}
.fs-ct.fs-rv{display:block}.fs-show{width:100%;padding:8px;border:0;border-radius:8px;background:#0a3a28;color:#f5d36b;font-weight:700;font-size:13px;cursor:pointer}.fs-rvd{flex-wrap:wrap}.fs-num{flex:0 0 100%;text-align:center;font-weight:800;font-size:16px;color:#0a3a28;direction:ltr}

/* G4: Filter chip + sheet (phones: bottom sheet, desktop: side panel) */
.leaflet-control.fs-ctl a.fs-btn.fs-fbtn{border-top-width:.75px;background:linear-gradient(160deg,#03241a,#064e3b);color:#f0cf74}
.leaflet-control.fs-ctl a.fs-btn.fs-fbtn:hover{background:#0b5d45}
.fs-ctl a.fs-btn.fs-fbtn .ff-ic{opacity:1;filter:none;color:#e0c06a;display:block;height:15px}
.leaflet-control.fs-ctl a.fs-btn.fs-fbtn.on{background:#c9a24a;color:#03241a;box-shadow:none}.fs-ctl a.fs-btn.fs-fbtn.on .ff-ic{color:#03241a}
.fs-ctl a.fs-btn .fs-fn:empty{display:none}.fs-ctl a.fs-btn.fs-fbtn.on b{color:#03241a}
.fs-pin.fs-hit,.fs-hit .fs-pin{box-shadow:0 0 0 3px rgba(240,207,116,.55),0 2px 10px rgba(0,0,0,.5);animation:ffpulse 1.6s ease-out 2}
@keyframes ffpulse{0%{box-shadow:0 0 0 0 rgba(240,207,116,.9),0 2px 10px rgba(0,0,0,.5)}100%{box-shadow:0 0 0 12px rgba(240,207,116,0),0 2px 10px rgba(0,0,0,.5)}}
.ff-wrap{display:none;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.ff-wrap.open{display:block}
.ff-bg{position:fixed;inset:0;z-index:2490;background:rgba(2,20,14,.45)}
.ff-sheet{position:fixed;left:0;right:0;bottom:0;z-index:2500;max-height:min(82vh,640px);display:flex;flex-direction:column;box-sizing:border-box;
 background:linear-gradient(165deg,#03241a 0%,#064e3b 100%);color:#f3e6c4;border:1.5px solid #c9a24a;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.5);padding:4px 14px calc(10px + env(safe-area-inset-bottom))}
.ff-grab{width:42px;height:4px;border-radius:3px;background:rgba(224,192,106,.55);margin:6px auto 2px}
.ff-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 6px;border-bottom:1px solid rgba(201,162,74,.35)}
.ff-hd h2{margin:0;font-size:17px;font-weight:700;color:#fff;display:flex;align-items:baseline;gap:8px;min-width:0}
.ff-ur{font:400 14px/1.6 "Noto Nastaliq Urdu","Jameel Noori Nastaleeq","Noto Naskh Arabic",system-ui,serif;color:#e0c06a}
.ff-x{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:1.5px solid #c9a24a;background:rgba(2,27,19,.6);color:#e0c06a;font:700 22px/1 Poppins,system-ui,sans-serif;cursor:pointer}
.ff-body{overflow-y:auto;overscroll-behavior:contain;padding:8px 0 4px;min-height:0;flex:1 1 auto}
.ff-row{margin:0 0 10px}
.ff-l{display:block;font-size:12px;font-weight:600;color:#e0c06a;letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px}
.ff-sel{width:100%;box-sizing:border-box;font:500 15px/1.2 Poppins,system-ui,sans-serif;padding:9px 10px;border-radius:10px;border:1px solid #c9a24a;background:#fffaf0;color:#03241a}
.ff-chips{display:flex;flex-wrap:wrap;gap:6px}
.ff-chip{font:600 13px/1 Poppins,system-ui,sans-serif;padding:8px 11px;border-radius:18px;border:1px solid rgba(201,162,74,.75);background:rgba(2,27,19,.45);color:#f3e6c4;cursor:pointer;white-space:nowrap;min-height:34px}
.ff-chip.on{background:linear-gradient(180deg,#e0c06a,#c9a24a);color:#03241a;border-color:#b08a2e}
.ff-note{font-size:11.5px;color:#cdbb8a;margin:2px 0 0;line-height:1.45}
.ff-ft{border-top:1px solid rgba(201,162,74,.35);padding-top:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ff-cnt{flex:1 1 120px;font-size:13px;color:#f3e6c4;min-width:0}.ff-cnt b{color:#f0cf74;font-size:16px}
.ff-btns{display:flex;gap:8px;flex:0 0 auto}
.ff-clr,.ff-show{font:700 14px/1 Poppins,system-ui,sans-serif;border-radius:11px;padding:11px 16px;min-height:42px;cursor:pointer}
.ff-clr{background:transparent;color:#f3e6c4;border:1px solid #c9a24a}
.ff-show{background:linear-gradient(180deg,#e0c06a,#c9a24a);color:#03241a;border:1px solid #b08a2e;min-width:92px}
.ff-show:disabled{opacity:.5;cursor:default}
.ff-res{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ff-it{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 11px;border-radius:11px;border:1px solid rgba(201,162,74,.55);background:rgba(2,27,19,.45);color:#f3e6c4;cursor:pointer;font-family:inherit}
.ff-it:hover{background:rgba(201,162,74,.16)}
.ff-it-t{font-weight:700;font-size:14px;color:#fff;min-width:0;overflow-wrap:anywhere}
.ff-it-p{grid-row:1/3;grid-column:2;align-self:center;font-weight:800;color:#f0cf74;font-size:14px;white-space:nowrap}
.ff-it-m{font-size:12px;color:#cdbb8a;min-width:0;overflow-wrap:anywhere}
.ff-empty{font-size:14px;color:#e8d9ae;margin:10px 0}
.ff-wrap[data-view=results] .ff-sheet{max-height:min(48vh,460px)}
.ff-wrap[data-view=results] .ff-bg{display:none}
.ff-wrap.mini .ff-body,.ff-wrap.mini .ff-ft{display:none}.ff-wrap.mini .ff-hd{cursor:pointer;border-bottom:0}
.ff-wrap.mini .ff-hd h2:after{content:"▲ results";font-size:12px;color:#e0c06a;font-weight:600;margin-left:4px}
body.ff-open .wa-float,body.ff-open .list-pill,body.ff-open .ad-pill{display:none}
/* Gulberg Greens: premium gold trim */
body.ff-g .ff-sheet{border-color:#e0c06a;background:linear-gradient(165deg,#021b13 0%,#0a4a33 60%,#0b5d45 100%);box-shadow:0 -8px 28px rgba(0,0,0,.55),inset 0 1px 0 rgba(240,207,116,.35)}
body.ff-g .ff-hd h2{color:#f0cf74;letter-spacing:.02em}
@media (min-width:768px){
 .ff-bg{display:none}
 .ff-sheet{left:auto;right:12px;top:var(--fftop,110px);bottom:auto;width:350px;max-height:calc(100vh - var(--fftop,110px) - 16px);border-bottom:1.5px solid #c9a24a;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.5)}
 body.ff-g .ff-sheet{border-bottom-color:#e0c06a}
 .ff-grab{display:none}
 .ff-wrap[data-view=results] .ff-sheet{max-height:calc(100vh - var(--fftop,110px) - 16px)}
 body.ff-open .wa-float,body.ff-open .list-pill,body.ff-open .ad-pill{display:flex}
}
@media (max-width:374px){.ff-chip{padding:7px 9px;font-size:12.5px}.ff-clr,.ff-show{padding:10px 12px}}

.leaflet-control.fs-ctl a.fs-btn.fs-fbtn .ff-ic svg{width:15px;height:15px;fill:currentColor;stroke:none}

.fs-pin.fs-rent{background:linear-gradient(160deg,#0b2a5b,#1d4f9c);color:#fff;border-color:#8fb8ff}
.fs-pin.fs-rent:after{border-top-color:#8fb8ff}.fs-pin.fs-rent.fs-dn:after{border-bottom-color:#8fb8ff}
.fs-pin.fs-rent small{color:#dbe8ff}.fs-pin.fs-rent .fs-dot{background:#8fb8ff}
.fs-kr{background:#1d4f9c!important;color:#fff!important}
.fs-rc .fs-p small{font-weight:600;opacity:.75}
.fs-exb{background:#fff4d6;border:1px dashed #c99a2e;color:#6b4e00;font:700 11px/1.3 Poppins,system-ui,sans-serif;padding:4px 7px;border-radius:6px;margin:0 0 6px;text-align:center}
.fs-btn.fs-rbtn.on{background:#e8f0ff;color:#1d4f9c}
.fs-acall,.fs-card a.fs-acall,.fs-card a.fs-acall:visited{display:block;text-align:center;margin-top:6px;padding:7px;border:1px solid #e0c06a;border-radius:8px;color:#f0cf74!important;font-weight:700;text-decoration:none}
.fs-btn.fs-act{box-shadow:inset 0 0 0 2px #e0c06a;background:#fff8e1!important}.fs-btn.fs-rbtn.fs-act{box-shadow:inset 0 0 0 2px #1d4f9c;background:#e8f0ff!important}
.fs-toast{position:fixed;left:50%;bottom:178px;transform:translateX(-50%);z-index:100000;width:min(340px,calc(100% - 90px));background:linear-gradient(160deg,#03241a,#0a4a33);color:#fff;border:1.5px solid #e0c06a;border-radius:14px;padding:12px 30px 12px 14px;box-shadow:0 6px 20px rgba(0,0,0,.45);font:500 13px/1.35 Poppins,system-ui,sans-serif;display:flex;flex-direction:column;gap:6px}
.fs-toast b{color:#f0cf74;font-size:15px}.fs-toast .fs-tadd{align-self:flex-start;background:#e0c06a;color:#03241a;border:0;border-radius:9px;padding:7px 12px;font:700 13px Poppins,system-ui,sans-serif;cursor:pointer}
.fs-toast .fs-tx{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(224,192,106,.15);border:1px solid #e0c06a;border-radius:50%;color:#f0cf74;font-size:15px;font-weight:700;line-height:1;cursor:pointer;padding:0}
.fs-toast{padding-right:42px!important}

/* LC1 compact listing card */
.lc-bp{display:block;font-weight:600;font-size:11px;opacity:.85}
.lc-pop .leaflet-popup-content-wrapper{background:#fff;color:#1f2937;border:0;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.lc-pop .leaflet-popup-tip{background:#fff;border:0}
.lc-pop a.leaflet-popup-close-button{color:#111!important;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.25);top:6px!important;right:6px!important}
.lc{min-width:220px;padding-top:2px}
.lc-t{font-weight:600;font-size:15px;color:#1f2937;margin:2px 26px 4px 0}
.lc-p{font-size:13px;color:#374151;margin-bottom:6px}.lc-p b{font-size:21px;font-weight:800;color:#111827}.lc-pa{font-weight:700;color:#111827}
.lc-chip{display:inline-block;background:#eef2f7;color:#111827;border-radius:8px;padding:3px 9px;font-weight:600;font-size:13px;margin-bottom:6px}
.lc-l{color:#6b7280;font-size:13px;padding-bottom:9px;border-bottom:1px solid #e5e7eb;margin-bottom:9px}
.lc-a{display:flex;gap:8px;margin-bottom:9px}
.lc-b{width:44px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;text-decoration:none;border:0;cursor:pointer}
.lc-call{background:#fde2e2;color:#dc2626}.lc-wa{background:#25d366}.lc-sh{background:#eef2f7;color:#374151}
.lc-d{width:100%;background:#2563eb;color:#fff;border:0;border-radius:10px;padding:11px;font-weight:700;font-size:14px;cursor:pointer}
.lc-pop .fs-card{color:#1f2937}

.lc-br{display:flex;align-items:center;gap:10px;margin:-2px 28px 10px 0;padding-bottom:10px;border-bottom:1px solid #e5e7eb}
.lc-br img{height:42px;max-width:120px;object-fit:contain;border-radius:6px}
.lc-bi{flex:0 0 42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;letter-spacing:.03em}
.lc-bn{font-weight:800;font-size:15px;color:#1e3a8a;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}
