/* RentBuySales v1.8.8 — isolated live map surfaces */
.rbs-map-shell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--sand);isolation:isolate}
.rbs-property-map-canvas{position:relative;z-index:2;width:100%;height:100%;min-height:420px;opacity:0;transition:opacity .18s ease;background:#e8eef2}
.rbs-map-shell.is-ready .rbs-property-map-canvas{opacity:1}
.rbs-map-fallback{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;text-align:center;color:var(--ink-soft);background:var(--sand)}
.rbs-map-fallback strong{color:var(--blue-deep);font-size:17px}
.rbs-map-shell.is-ready .rbs-map-fallback{visibility:hidden;opacity:0;pointer-events:none}
.rbs-map-shell.is-failed .rbs-map-fallback{z-index:4}
.rbs-map-empty-note{position:absolute;z-index:5;left:50%;top:16px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:9px 13px;border:1px solid rgba(11,74,117,.12);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(15,23,42,.12);color:var(--blue-deep);font-size:12px;font-weight:700;text-align:center;pointer-events:none}

/* Hero: current image remains the safety fallback until map tiles are ready. */
.rbs-map-shell--hero{height:100%;min-height:560px;border:0;border-radius:inherit;background:#0b4a75}
.rbs-map-shell--hero .rbs-property-map-canvas{min-height:560px}
.rbs-map-fallback--image{padding:0;background:#0b4a75}
.rbs-map-hero-fallback-image{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3.1}
.rbs-map-hero-controls{position:absolute;z-index:5;left:14px;right:14px;top:14px;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none}
.rbs-map-filter-btn{pointer-events:auto;appearance:none;border:1px solid rgba(11,74,117,.18);border-radius:999px;background:rgba(255,255,255,.95);color:var(--blue-deep);font:600 11px/1 var(--f-body);padding:9px 12px;box-shadow:0 4px 14px rgba(15,23,42,.12);cursor:pointer}
.rbs-map-filter-btn:hover,.rbs-map-filter-btn:focus-visible,.rbs-map-filter-btn.is-active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.rbs-map-filter-btn:disabled{opacity:.48;cursor:not-allowed;background:rgba(255,255,255,.88);color:var(--ink-soft);border-color:rgba(31,41,55,.12)}
/* Bottom-left avoids Leaflet attribution in the bottom-right corner. */
.rbs-map-hero-cta{position:absolute;z-index:5;left:14px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.96);color:var(--blue-deep);font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 5px 18px rgba(15,23,42,.16)}
.rbs-map-hero-cta:hover,.rbs-map-hero-cta:focus-visible{background:var(--gold);color:#172033}

/* Archive */
.rbs-property-map-section{margin:8px 0 34px}
.rbs-property-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.rbs-property-map-heading h2{margin:6px 0 7px;font-size:clamp(22px,2.5vw,30px)}
.rbs-property-map-heading p{margin:0;color:var(--ink-soft);max-width:62ch;font-size:14px}
.rbs-map-filter-sync-note{display:block;margin-top:4px;font-size:12px}
.rbs-property-map-tabs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.rbs-property-map-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);background:#fff;text-decoration:none;font-size:12px;font-weight:700}
.rbs-property-map-tabs a:hover,.rbs-property-map-tabs a.is-active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.rbs-map-shell--archive .rbs-property-map-canvas{min-height:500px}

/* Single property */
.rbs-single-property-map-section{padding-top:30px;padding-bottom:20px}
.rbs-single-property-map-section .section-head{margin-bottom:20px}
.rbs-single-property-map-section .section-head p{color:var(--ink-soft);margin-top:8px}
.rbs-map-shell--single .rbs-property-map-canvas{min-height:430px}

/* Leaflet UI harmonized with RBS; only scoped map elements. */
.rbs-map-shell .leaflet-container{font-family:var(--f-body);color:var(--ink)}
.rbs-map-shell.is-mobile-passive .leaflet-container{touch-action:pan-y}
.rbs-map-shell .leaflet-control-zoom a{color:var(--blue-deep)}
.rbs-map-shell .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.88)}
.rbs-map-pin-shell{background:transparent!important;border:0!important}
.rbs-map-pin{display:block;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--blue-deep);border:3px solid #fff;box-shadow:0 3px 10px rgba(15,23,42,.28);transform:rotate(-45deg);transform-origin:50% 50%}
.rbs-map-pin::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);left:5px;top:5px}
.rbs-map-popup{width:min(230px,calc(100vw - 110px));max-width:230px}
.rbs-map-popup-image{width:100%;height:118px;object-fit:cover;border-radius:8px;display:block;margin-bottom:9px;background:var(--sand)}
.rbs-map-popup-status{display:inline-block;margin-bottom:6px;padding:4px 7px;border-radius:999px;background:var(--blue-pale);color:var(--blue-deep);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.rbs-map-popup h3{font-size:14px;line-height:1.3;margin:0 0 6px;color:var(--ink)}
.rbs-map-popup-area{font-size:11px;color:var(--ink-soft);margin:0 0 5px}
.rbs-map-popup-price{font-family:var(--f-mono);font-size:13px;font-weight:800;color:var(--blue-deep);margin:0 0 7px}
.rbs-map-popup-privacy{font-size:10px;color:var(--ink-soft);margin:0 0 8px}
.rbs-map-popup-link{font-size:11px;font-weight:800;color:var(--blue-deep);text-decoration:none}
.rbs-map-popup-link:hover{text-decoration:underline}

@media(max-width:900px){
  .rbs-map-shell--hero{min-height:440px}.rbs-map-shell--hero .rbs-property-map-canvas{min-height:440px}
  .rbs-property-map-heading{align-items:flex-start;flex-direction:column}.rbs-property-map-tabs{justify-content:flex-start}
  .rbs-map-shell--archive .rbs-property-map-canvas{min-height:430px}
}
@media(max-width:600px){
  .rbs-map-shell--hero{min-height:340px}.rbs-map-shell--hero .rbs-property-map-canvas{min-height:340px}
  .rbs-map-hero-controls{left:10px;right:10px;top:10px;gap:5px;flex-wrap:nowrap}.rbs-map-filter-btn{font-size:10px;padding:8px 9px;white-space:nowrap}
  .rbs-map-hero-cta{left:10px;bottom:10px;right:auto;max-width:calc(100% - 20px);font-size:11px}
  .rbs-map-shell--archive .rbs-property-map-canvas{min-height:360px}.rbs-map-shell--single .rbs-property-map-canvas{min-height:320px}
  .rbs-map-popup{width:min(210px,calc(100vw - 96px));max-width:210px}.rbs-map-popup-image{height:100px}
  .rbs-map-empty-note{top:10px;max-width:calc(100% - 20px);font-size:11px;border-radius:12px}
  .rbs-map-shell .leaflet-control-attribution{max-width:75%;font-size:8px;line-height:1.25}
}


/* v1.8.8 Find / Projects / Contact production polish */
.rbs-map-result-count{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-size:12px;font-weight:700;white-space:nowrap}
.rbs-find-map-switch{display:none;gap:7px;margin:0 0 16px}.rbs-find-map-switch button{appearance:none;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink-soft);padding:9px 13px;font:700 12px/1 var(--f-body);cursor:pointer}.rbs-find-map-switch button.is-active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.rbs-property-map-section--find{margin-top:0}.rbs-map-shell--find .rbs-property-map-canvas{min-height:440px}
.rbs-project-map-section{margin:30px 0 10px}.rbs-project-map-section--preview{margin-top:34px}.rbs-map-shell--project-preview .rbs-property-map-canvas{min-height:360px}.rbs-map-shell--project-archive .rbs-property-map-canvas{min-height:500px}.rbs-map-shell--project-single .rbs-property-map-canvas{min-height:430px}
.rbs-map-pin--project{background:var(--gold-deep)}.rbs-map-pin--project::after{background:#fff}.rbs-map-pin--office{background:var(--green)}.rbs-map-pin--office::after{background:#fff}.rbs-map-popup-meta{font-size:11px;color:var(--ink-soft);margin:0 0 7px;font-weight:600}
.rbs-contact-map-section{padding-top:10px}.rbs-contact-map-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px;align-items:center}.rbs-contact-map-copy p{color:var(--ink-soft);max-width:46ch}.rbs-map-shell--contact .rbs-property-map-canvas{min-height:390px}
@media(max-width:900px){.rbs-contact-map-layout{grid-template-columns:1fr}.rbs-map-shell--project-archive .rbs-property-map-canvas{min-height:430px}}
@media(max-width:700px){.rbs-find-map-switch{display:flex}.rbs-find-property-discovery.is-list-view [data-rbs-find-map-panel]{display:none}.rbs-find-property-discovery.is-map-view [data-rbs-find-list-panel]{display:none}.rbs-map-shell--find .rbs-property-map-canvas{min-height:380px}.rbs-map-shell--project-preview .rbs-property-map-canvas,.rbs-map-shell--project-single .rbs-property-map-canvas,.rbs-map-shell--contact .rbs-property-map-canvas{min-height:320px}}
