.directory-map-panel{margin:22px 0 28px;border:1px solid #cddce7;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 5px 22px #18374b09}
.directory-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}
.directory-map-heading h2{font-size:20px;line-height:1.3;margin:0}
.directory-map-heading button{font-size:14px;padding:8px 12px;white-space:nowrap;margin:0}
#directoryMap{height:380px;width:100%;background:#e8eff1;z-index:0}
#directoryMap .leaflet-control-attribution{font-size:11px;line-height:1.4;background:#fffffff2}
#directoryMap .leaflet-control-zoom a{color:#213f51}
.directory-map-note{font-size:14px;line-height:1.5;color:#567084;margin:0;padding:12px 20px}
#directoryMapTileError{color:#79531c;background:#fff7e7}
@media(max-width:600px){#directoryMap{height:260px}.directory-map-heading{padding:12px 14px}.directory-map-heading h2{font-size:18px}.directory-map-note{padding:10px 14px;font-size:13px}}

.directory-map-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.directory-map-heading{flex-wrap:wrap}}

/* Keep the city agent lookup action separate from its input. */
body[data-city] #cityAgentQuery + button{margin-top:20px;}

.city-census-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.city-census-facts dt{font-size:15px;color:#567084}.city-census-facts dd{font-size:28px;font-weight:700;margin:6px 0 0}@media(max-width:600px){.city-census-facts{grid-template-columns:1fr;gap:16px}}
