/* Local homepage map: actual geographic tiles and the existing school data. */
#neighborhoods .area-controls{align-items:flex-start}
#neighborhoods .area-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;flex:1;min-width:0}
#neighborhoods .area-tabs button{padding:11px 10px;border:1px solid #d5dfd0;border-radius:7px;font-size:13px;line-height:1.55;min-height:44px}
#neighborhoods .area-tabs button:hover{background:#e3ecde}
#neighborhoods .area-tabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
#neighborhoods .stage-select{padding-top:1px}
.area-map{background:#eaf0e9;color:var(--ink);min-height:0;isolation:isolate}
.area-map .map-head{padding:12px 18px;background:#f8faf5;border-bottom:1px solid #d5ded3;gap:12px;min-height:65px}
.map-head>span{font-weight:650;font-size:14px}
#map-overview{background:white;border:1px solid #becdc1;color:#25443f;min-height:44px;padding:0 13px;font:inherit;font-size:12.5px;cursor:pointer}
#map-overview:hover{background:#edf3e7}
#map-overview:disabled{opacity:.5;cursor:default}
.neighborhood-map-wrap{position:relative;flex:1;min-height:430px}
#neighborhood-map{height:100%;min-height:430px;width:100%;background:#e5ece6;font-family:inherit;z-index:0}
#neighborhood-map svg{min-height:0;max-height:none}
#neighborhood-map.is-area-overview .neighborhood-school-marker{display:none}
.area-map:has(.is-area-overview) .map-legend>span:nth-child(2){display:none}
#map-overview[aria-pressed=true]{background:#234f46;border-color:#234f46;color:white}
#map-status{position:absolute;z-index:700;top:14px;left:14px;right:70px;max-width:400px;background:#fffef8;color:#24413a;border:1px solid #d2dccc;padding:12px 14px;font-size:13px;line-height:1.7;pointer-events:none;box-shadow:0 3px 15px #182b3112}
#map-status[hidden]{display:none}
#map-status.is-error{border-color:#c7b07c;background:#fff9eb}
.area-map .map-legend{padding:15px 20px;background:#f8faf5;color:#4b5d54;border-top:1px solid #d5ded3;align-items:center;gap:19px}
.area-map .map-legend>span:last-child{color:#65756a;font-size:12px}
.area-map .map-legend .area-dot{background:#276b66;width:10px;height:10px;box-shadow:0 0 0 3px #dae7dc}
.area-map .map-legend .school-dot{background:#d7ec83;width:20px;height:20px;color:#182b31;font-size:11px;font-style:normal;display:grid;place-items:center;font-weight:700;border:1px solid #91a65b}
.area-map .map-bottom{background:#e1eade;color:#40554b;padding:17px 20px}
.area-map .map-bottom a{color:#234e45;font-weight:650}
#neighborhood-map .leaflet-control-zoom{border:1px solid #c4cec6;box-shadow:0 2px 12px #182b3115}
#neighborhood-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;color:#234e45;background:#fffefb;font-size:23px}
#neighborhood-map .leaflet-control-attribution{font-size:10px;line-height:1.6;background:#fffc;padding:2px 5px;color:#3b4a42}
#neighborhood-map .leaflet-control-attribution a{color:#245b52}
#neighborhood-map .leaflet-control-scale-line{font-size:10px;background:#fffc;color:#3b4a42;border-color:#647568}
.neighborhood-area-marker,.neighborhood-school-marker{background:transparent;border:0;display:grid;place-items:center}
.neighborhood-place{pointer-events:none}
.neighborhood-area-marker .neighborhood-pin{pointer-events:auto}
.neighborhood-place{display:grid;place-items:center;width:44px;height:44px}
.neighborhood-pin{display:block;width:17px;height:17px;background:#66877b;border:3px solid white;border-radius:50%;box-shadow:0 1px 5px #182b3140}
.is-current .neighborhood-pin{width:25px;height:25px;background:#276b66;box-shadow:0 0 0 6px #276b6630,0 2px 6px #182b3130}
.neighborhood-place-label{position:absolute;top:41px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12.5px;line-height:1.4;font-weight:600;background:#fffffff0;border:1px solid #b8c8ba;color:#345346;padding:5px 8px;box-shadow:0 2px 8px #182b3112;pointer-events:none}
.is-current .neighborhood-place-label{background:#234f46;border-color:#234f46;color:#fff}
.neighborhood-area-marker.is-label-hidden .neighborhood-place-label{visibility:hidden}
.neighborhood-area-marker.is-label-hidden:hover .neighborhood-place-label,.neighborhood-area-marker.is-label-hidden:focus-visible .neighborhood-place-label{visibility:visible}
.neighborhood-area-marker:hover,.neighborhood-area-marker:focus-visible{z-index:900!important}
.neighborhood-school-number{display:grid;place-items:center;width:32px;height:32px;background:#d7ec83;border:2px solid #fff;border-radius:50%;font-size:15px;line-height:1;font-weight:750;color:#223b32;box-shadow:0 2px 7px #182b3140}
.neighborhood-school-marker:hover .neighborhood-school-number,.neighborhood-school-marker:focus .neighborhood-school-number{background:#e6f6b1;box-shadow:0 0 0 3px #234f4666}
#neighborhood-map :focus-visible,#map-overview:focus-visible{outline:3px solid #276b66;outline-offset:3px}
.neighborhood-popup .leaflet-popup-content-wrapper{border-radius:4px;background:#fffefb;color:#223c32;box-shadow:0 4px 25px #182b3126}
.neighborhood-popup .leaflet-popup-content{margin:21px 24px 16px 18px;line-height:1.7;font-family:inherit;font-size:13px}
.neighborhood-popup-meta{display:block;font-size:12px;color:#637565;margin-bottom:7px}
.neighborhood-school-popup strong{display:block;font-size:16px;line-height:1.5}
.neighborhood-school-popup p{margin:8px 0 5px!important}
.neighborhood-school-popup a{display:inline-flex;min-height:44px;align-items:center;font-weight:650;color:#276b66!important}
#neighborhood-map .leaflet-popup-close-button{width:32px;height:32px;font-size:23px;line-height:32px}
@media(max-width:850px){
  #neighborhoods .area-tabs{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .neighborhood-map-wrap,#neighborhood-map{min-height:390px;height:390px}
}
@media(max-width:600px){
  #neighborhoods .area-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .neighborhood-map-wrap,#neighborhood-map{min-height:340px;height:340px}
  .area-map .map-head{padding:10px 13px;gap:8px}
  .map-head>span{font-size:13px}
  #map-overview{padding:0 10px}
  .area-map .map-legend{padding:13px 16px;gap:19px}
  .area-map .map-bottom{padding:14px 16px;gap:4px 14px}
  .neighborhood-place-label{font-size:12px;padding:4px 6px}
  #map-status{left:10px;top:10px;right:65px;font-size:12.5px;padding:10px 12px}
}

#map-status .map-preview-link{display:flex;align-items:center;min-height:44px;margin-top:8px;color:#234f46;font-weight:700;text-decoration:underline;pointer-events:auto}
#map-status .map-preview-link:focus-visible{outline:3px solid #276b66;outline-offset:3px}
