
.map-hero{padding:5rem max(5vw,24px);background:linear-gradient(115deg,#122c3a,#115b65 70%,#17666c);color:white}.map-hero h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.08;margin:.4rem 0 1rem}.map-hero em{color:#f4b45f}.map-hero p{max-width:680px;font-size:1.1rem}.map-kicker{letter-spacing:.16em;font-size:.78rem;font-weight:700}.map-intro{padding:2.5rem 5vw 1rem}.map-intro h2{font-size:2rem;margin:0 0 .5rem}.map-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}.map-filters button{border:1px solid #cbd5d8;background:white;border-radius:40px;padding:.55rem 1rem;font-weight:700;cursor:pointer;color:#183d46}.map-filters button.active{background:#173e4b;color:white}.map-status{color:#47616b;font-size:.9rem}.map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:1rem;padding:0 5vw 3rem;align-items:start}.map-frame{position:sticky;top:12px;background:#e4f0f1;border-radius:12px;overflow:hidden}.map-frame #business-map{height:min(72vh,690px);min-height:430px;z-index:0}.map-directory{max-height:72vh;min-height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem}.map-entry{background:#fff;border:1px solid #dce6e7;border-radius:10px;padding:1rem}.map-entry h3{margin:0 0 .35rem;font-size:1.12rem}.map-entry p{margin:.3rem 0;color:#50646b;font-size:.91rem}.map-entry .map-cat{color:#b32870;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.map-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.65rem}.map-actions a,.map-actions button{color:#9f1d67;background:none;border:0;padding:0;font:inherit;font-size:.9rem;font-weight:700;text-decoration:underline;cursor:pointer}.map-footnote{padding:0 5vw 3rem;color:#63757b;font-size:.9rem}.map-fallback{padding:1.5rem}.leaflet-popup-content a{color:#a51d68!important}@media(max-width:800px){.map-layout{grid-template-columns:1fr}.map-frame{position:static}.map-frame #business-map{height:420px;min-height:420px}.map-directory{max-height:none}}

.map-editor{max-width:1200px;margin:1rem auto;padding:1.5rem;border:1px solid #d9e1e5;border-radius:12px;background:#f5f9fa}.map-editor h2{margin-top:0}.map-editor-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.map-editor-actions button,.map-editor-actions label{display:inline-block;padding:.7rem 1rem;background:#0e5262;color:white;border:0;border-radius:6px;cursor:pointer}.map-editor-actions input{max-width:230px}#pin-selection{font-weight:600}
