/* A main-area map with a readable, explicitly labelled offline schematic. */
.route-map { width:100%; min-width:0; padding:clamp(1rem,2vw,1.8rem); border:1px solid var(--line,#b8c8ca); border-radius:1rem; background:var(--surface,#fff); }
.route-map .street-map { width:100%; height:clamp(22rem,52vh,38rem); border-radius:.8rem; background:#e9efef; isolation:isolate; z-index:0; }
.route-map .map-schematic[hidden] { display:none; }
.route-map .map-schematic svg { display:block; width:100%; height:clamp(20rem,45vh,34rem); background:#edf3f2; color:#185d73; border:1px dashed #789597; border-radius:.6rem; }
.route-map .map-controls { display:flex; gap:.5rem; flex-wrap:wrap; padding-block:.75rem; }
.route-map .map-controls button { flex:1 1 8rem; overflow-wrap:normal; word-break:normal; }
.route-map .map-markers { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); list-style:none; padding:0; gap:.75rem; }
.route-map .map-markers li { display:grid; gap:.35rem; padding:.8rem; border:1px solid var(--line,#b8c8ca); border-radius:.6rem; overflow-wrap:anywhere; }
.route-map .map-markers button { text-align:left; }
.route-map .map-link { display:inline-block; margin:.35rem .7rem .35rem 0; text-decoration:underline; }
.route-map .map-provider-status { font-weight:600; }
.route-map .leaflet-control-zoom a { color:#182b32; background:#fff; }
.route-map .leaflet-popup-content { color:#182b32; }
.route-map button:focus-visible,.route-map a:focus-visible,.route-map svg:focus-visible,.route-map .street-map:focus-visible { outline:3px solid #b7682b; outline-offset:3px; }
@media(max-width:600px) { .route-map .street-map { height:24rem; } .route-map { padding:1rem; } }
