/* Scope custom overlay visuals to this portal; Google controls keep their native UI. */
.property-map .google-price-layer { position: absolute; left: 0; top: 0; }
.property-map .google-map-price-pin { position: absolute; transform: translate(-50%, -100%); border: 2px solid #fff; border-radius: 7px; padding: 6px 9px; background: #142d45; color: #fff; min-width: 48px; min-height: 30px; white-space: nowrap; font: 700 11px/1.2 Arial, sans-serif; box-shadow: 0 2px 7px #20354450; cursor: pointer; }
.property-map .google-map-price-pin:hover, .property-map .google-map-price-pin:focus-visible, .property-map .google-map-price-pin.is-highlighted { background: #9d6a2c; outline: 3px solid #d8b47380; z-index: 100; }
.property-map .google-map-price-pin.cluster { border-radius: 18px; }
.property-map .google-map-price-pin.approximate { border-style: dashed; }
.property-map .google-exact-pin { position: absolute; width: 20px; height: 20px; padding: 0; min-width: 20px; min-height: 20px; border: 3px solid #fff; border-radius: 50%; background: #142d45; box-shadow: 0 1px 7px #142d4570; transform: translate(-50%, -50%); }
.property-map .google-map-popup { max-width: 290px; max-height: 310px; overflow: auto; font: 13px/1.5 Arial, sans-serif; }
.property-map .google-map-popup .map-popup-entry + .map-popup-entry { border-top: 1px solid #e0e5e8; margin-top: 12px; padding-top: 12px; }
.property-map .google-map-popup a, .property-map .google-map-popup strong, .property-map .google-map-popup small { display: block; }
.property-map .google-map-popup a { color: #142d45; font-weight: 700; }
.property-map .google-map-popup small { color: #60717d; font-size: 11px; }
.property-map .google-map-popup strong { margin: 5px 0; color: #142d45; }
.property-map .map-fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; min-height: 280px; padding: 25px; text-align: center; background: #eaf0f3; color: #294657; }
.property-map .map-fallback p { margin: 0; }
.property-map .map-fallback a { color: #142d45; text-decoration: underline; font-weight: 700; }
.property-map .gm-style img { max-width: none; }
