.silhar-interactive-map{isolation:isolate;position:relative;width:100%;height:100%;min-height:260px;background:#fff;font-family:"DM Sans","IBM Plex Sans",sans-serif;cursor:grab}
.silhar-interactive-map:focus-visible{outline:2px solid #0d9488;outline-offset:-3px}
.silhar-interactive-map .leaflet-pane{z-index:300}
.silhar-interactive-map .leaflet-tile-pane{z-index:200}
.silhar-interactive-map .leaflet-popup-pane{z-index:700}
.silhar-interactive-map .leaflet-tooltip-pane{z-index:650}
.silhar-interactive-map .leaflet-tile{filter:grayscale(1) brightness(1.06) contrast(.9)}
.silhar-interactive-map .leaflet-tile-pane{opacity:.75}
.silhar-interactive-map img.leaflet-tile{max-width:none!important;max-height:none!important;width:256px!important;height:256px!important;object-fit:fill;pointer-events:none}
.silhar-interactive-map .leaflet-control-container{font-family:inherit}
.silhar-interactive-map .leaflet-control-attribution{font:10px/1.4 "DM Sans","IBM Plex Sans",sans-serif;color:#57534e;background:rgba(255,255,255,.92);max-width:calc(100vw - 20px)}
.silhar-interactive-map .leaflet-control-attribution a{color:#57534e;text-decoration:underline}
.silhar-interactive-map .leaflet-control-scale{margin-bottom:10px;margin-left:12px}
.silhar-interactive-map .leaflet-control-scale-line{font:10px/1.2 "DM Sans",sans-serif;border-color:#57534e;background:rgba(255,255,255,.8);box-sizing:content-box}
.silhar-map-legend{position:absolute;left:12px;bottom:67px;z-index:600;width:188px;max-width:calc(100% - 24px);max-height:260px;overflow:auto;padding:10px 12px;border:1px solid #e7e5e4;border-radius:6px;background:rgba(255,255,255,.96);color:#57534e;box-shadow:0 1px 3px #1c19171a;font-size:10px;line-height:1.4}
.silhar-map-legend strong{display:block;font-weight:500;font-size:11px;margin-bottom:7px;color:#57534e}
.silhar-map-legend p{font-size:9px;line-height:1.4;margin:5px 0 7px;color:#78716c}
.silhar-map-color-scale{height:7px;border-radius:4px;margin-top:5px;display:flex;overflow:hidden;background:#e7e5e4}
.silhar-map-color-scale i{display:block;flex:1;height:100%}
.silhar-map-scale-values{display:flex;justify-content:space-between;font-size:9px;margin-top:3px}
.silhar-map-legend-row{display:flex;align-items:center;gap:7px;margin-top:5px}
.silhar-map-legend-row i{width:8px;height:8px;display:block;border-radius:50%;flex:0 0 8px}
.silhar-map-base-note{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:600;max-width:calc(100% - 200px);border:1px solid #e7e5e4;border-radius:5px;background:rgba(255,255,255,.94);padding:5px 9px;color:#57534e;font-size:10px;line-height:1.3;text-align:center;pointer-events:none}
.silhar-interactive-map .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 2px 9px #1c191726;font-family:"DM Sans","IBM Plex Sans",sans-serif}
.silhar-interactive-map .leaflet-popup-content{font-size:12px;line-height:1.5;margin:15px 18px;max-height:330px;overflow:auto;overflow-wrap:anywhere}
.silhar-map-popup strong{font-size:14px;font-weight:600;display:block;margin-bottom:8px}
.silhar-map-popup p{margin:5px 0!important}
.silhar-map-popup .silhar-map-source{font-size:10px;color:#78716c}
.silhar-map-popup .silhar-map-kind{font-size:10px;color:#0f766e}
/* Google Maps competitor card (asked live, never saved with the study) */
.silhar-google-popup strong{margin:0 18px 2px 0!important;font-size:15px}
.silhar-google-popup .silhar-google-kind{margin:0 0 8px!important;color:#0f766e;font-size:13px}
.silhar-google-popup .silhar-google-address{color:#57534e;font-size:12.5px;line-height:1.45}
.silhar-google-popup .silhar-google-rating{color:#b7791f;font-size:13px;font-weight:500}
.silhar-google-popup .silhar-google-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:8px!important}
.silhar-google-popup .silhar-google-distance{color:#2563eb;font-size:14px;font-weight:500}
.silhar-google-popup .silhar-google-foot a{color:#0f766e;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}
.silhar-google-popup .silhar-google-attribution{color:#78716c;font-size:11px;margin-left:auto}
.silhar-map-popup details{margin:9px 0}
.silhar-map-popup summary{font-size:11px;cursor:pointer}
.silhar-map-dark{background:#202825}
.silhar-map-dark .leaflet-tile{filter:grayscale(1) invert(1) hue-rotate(180deg) brightness(.8) contrast(.92)}
.silhar-map-dark .silhar-map-legend,.silhar-map-dark .silhar-map-base-note{background:rgba(28,37,33,.96);color:#e7e5e4;border-color:#435149}
.silhar-map-dark .silhar-map-legend strong,.silhar-map-dark .silhar-map-legend p{color:#d6d3d1}
.silhar-map-dark .leaflet-control-scale-line{background:rgba(28,37,33,.85);border-color:#e7e5e4;color:#e7e5e4;text-shadow:none}
@media(max-width:600px){.silhar-map-legend{width:155px;font-size:9px;max-height:160px;bottom:50px;padding:8px}.silhar-map-legend strong{font-size:10px}.silhar-map-legend p{font-size:8px}.silhar-map-base-note{max-width:calc(100% - 30px);width:190px;top:70px;bottom:auto;left:auto;right:12px;transform:none;font-size:9px}.silhar-interactive-map .leaflet-control-scale{margin-bottom:12px}.silhar-interactive-map .leaflet-control-attribution{font-size:9px}}
@media(prefers-reduced-motion:reduce){.silhar-interactive-map .leaflet-zoom-animated{transition:none!important}}
/* MapLibre vector renderer. The old Leaflet rules above remain for rollback only. */
.silhar-interactive-map .maplibregl-canvas-container{cursor:grab}
.silhar-interactive-map .maplibregl-canvas-container:active{cursor:grabbing}
.silhar-interactive-map .maplibregl-control-container{font-family:inherit}
.silhar-interactive-map .maplibregl-ctrl-attrib{font:10px/1.4 "DM Sans","IBM Plex Sans",sans-serif;color:#57534e;background:rgba(255,255,255,.92);max-width:calc(100vw - 20px)}
.silhar-interactive-map .maplibregl-ctrl-attrib a{color:#57534e;text-decoration:underline}
.silhar-interactive-map .maplibregl-ctrl-scale{margin-bottom:10px;margin-left:12px;font:10px/1.2 "DM Sans",sans-serif;border-color:#57534e;background:rgba(255,255,255,.8)}
.silhar-interactive-map .maplibregl-popup-content{border-radius:8px;box-shadow:0 2px 9px #1c191726;font:12px/1.5 "DM Sans","IBM Plex Sans",sans-serif;max-height:330px;overflow:auto;overflow-wrap:anywhere;padding:15px 18px}
.silhar-interactive-map .maplibregl-popup-content p{margin:5px 0}
.silhar-interactive-map .maplibregl-popup-close-button{font-size:18px;padding:2px 8px}
.silhar-interactive-map .silhar-sector-card .maplibregl-popup-content{padding:12px 14px;max-height:min(330px,60vh);border:1px solid #e7e5e4;border-radius:10px;box-shadow:0 6px 22px #1c19172b}
.silhar-interactive-map .silhar-sector-card{z-index:10}
.silhar-interactive-map .silhar-sector-card .silhar-map-popup>strong{font-size:13px;line-height:1.3;margin:0 16px 8px 0;color:#292524}
.silhar-interactive-map .silhar-sector-card .silhar-sector-location{font-size:10px;line-height:1.3;color:#78716c;margin:-5px 0 8px!important}
.silhar-sector-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:3px 0;font-size:11px;line-height:1.35}
.silhar-sector-row span{color:#78716c}
.silhar-sector-row strong{display:inline;margin:0;text-align:right;font-size:11px;line-height:1.35;font-weight:600;color:#292524;white-space:normal}
.silhar-sector-popup .silhar-map-source{border-top:1px solid #e7e5e4;padding-top:7px;margin-top:8px!important;font-size:9px;line-height:1.35}
.silhar-sector-details{border-top:1px solid #e7e5e4;margin-top:7px;padding-top:5px;font-size:10px}
.silhar-sector-details summary{color:#0f766e;cursor:pointer;font-weight:600}
.silhar-sector-details p{font-size:10px;line-height:1.4}
.silhar-interactive-map .silhar-sector-hover{pointer-events:none}
.silhar-interactive-map .silhar-sector-hover .maplibregl-popup-content{padding:9px 12px;max-height:none}
.silhar-interactive-map .silhar-sector-hover .silhar-map-source{display:none}
.silhar-map-dark .maplibregl-ctrl-attrib,.silhar-map-dark .maplibregl-ctrl-scale{background:rgba(28,37,33,.85);color:#e7e5e4;border-color:#e7e5e4}
.silhar-map-dark .maplibregl-ctrl-attrib a{color:#e7e5e4}
@media(max-width:600px){.silhar-interactive-map .maplibregl-ctrl-attrib{font-size:9px}.silhar-interactive-map .maplibregl-ctrl-scale{margin-bottom:12px}}
