.provider-map{min-width:0;text-align:center}
.map-preview{display:grid;gap:10px;width:100%;padding:0;border:0;background:none;color:var(--sea);font-size:.94rem;line-height:1.4;cursor:zoom-in}
.map-preview:disabled{cursor:default}
.map-preview:hover:not(:disabled)>span:last-child{text-decoration:underline}
.map-preview-stage{display:block;position:relative;width:min(100%,225px);margin-inline:auto}
.map-preview-stage>img,.map-stage>img{display:block;width:100%;height:100%;object-fit:fill}
.map-preview-dot{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:23px;height:23px;border:2px solid #fff;border-radius:50%;background:var(--marker-color);color:#fff;font-size:.75rem;font-weight:700}
.map-coverage,.map-load-status{margin:10px 0 0;font-size:.86rem;line-height:1.5;color:var(--muted)}
.map-load-status:empty{display:none}
.map-alternative{margin-top:10px;text-align:left;font-size:.86rem;line-height:1.5}
.map-alternative>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--sea)}
.map-alternative ul{padding-left:18px;margin:8px 0}
.map-alternative li{overflow-wrap:anywhere}
.map-alternative a{display:inline-flex;align-items:center;min-height:44px}
.provider-map-dialog{width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);overflow:auto;text-align:left}
.provider-map-dialog::backdrop{background:#102b40a8}
.map-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:16px}
.map-dialog-header h2{font-size:1.5rem;line-height:1.3;margin:0 0 10px}
.map-dialog-header button,.map-tools button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--sea);padding:8px 12px;font-size:.94rem;transition:color .16s ease,background-color .16s ease}
.map-dialog-header button:hover,.map-tools button:hover:not(:disabled){background:var(--aqua);color:var(--deep)}
.map-dialog-coverage{margin:0 0 12px;color:var(--muted);font-size:.9rem;line-height:1.5}
.map-tools{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.map-tools output{min-width:65px;text-align:center;font-size:.9rem}
.map-dialog-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr);gap:24px;min-width:0}
.map-canvas{height:min(62dvh,600px);overflow:auto;border:1px solid var(--line);background:var(--cream);min-width:0;overscroll-behavior:contain}
.map-stage{position:relative;width:300px;max-width:none;margin:12px auto}
.map-marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:var(--marker-color);color:#fff;font-size:1rem;font-weight:700;padding:0}
.map-marker[aria-pressed="true"]{outline:3px solid var(--ink);outline-offset:3px}
.map-sidebar{min-width:0}
.map-sidebar h3,.map-popup h3{font-size:1.05rem;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere}
.map-location-list{display:grid;gap:6px;margin-bottom:20px}
.map-location-list button{display:flex;align-items:center;gap:10px;text-align:left;min-height:44px;min-width:0;padding:8px 0;border:0;background:none;color:var(--ink);font-size:.9rem;line-height:1.4}
.map-location-list button>span:last-child{min-width:0;overflow-wrap:anywhere}
.map-location-list small{display:block;font-size:.84rem;color:var(--muted);margin-top:3px}
.map-location-list button[aria-pressed="true"]>span:last-child{text-decoration:underline;font-weight:700}
.map-legend-dot{display:grid;place-items:center;flex:none;width:25px;height:25px;background:var(--marker-color);border-radius:50%;color:#fff;font-weight:700;font-size:.8rem}
.map-popup{padding-top:14px;border-top:1px solid var(--line);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
.map-popup p{margin-bottom:10px;font-size:inherit}
.map-qualification{padding:10px 12px;border-left:3px solid #ae8352;background:#faf5eb;color:#614b32;margin-bottom:12px}
.map-qualification p:last-child{margin-bottom:0}
.map-source{color:var(--muted)}
.map-source a,.map-contact-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.map-contact-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.map-keyboard-help{margin:14px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}
.map-location-role{font-size:.83rem;color:var(--muted);margin:0 0 10px}
.map-popup-address{margin:0 0 6px}
.map-contact-actions{display:flex;flex-wrap:wrap;gap:0 18px;margin:4px 0 6px}
.map-contact-action{display:inline-flex;align-items:center;gap:7px;min-width:44px;min-height:44px;text-decoration:none;font-size:.86rem}
.map-contact-action img{flex:none;width:18px;height:18px;opacity:.8}
.map-provider-primary{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none}
.map-source-details,.map-overlap-choice,.map-keyboard-details,.map-coverage-details,.map-location-disclosure{font-size:.85rem;line-height:1.5;text-align:left;min-width:0}
.map-source-details>summary,.map-overlap-choice>summary,.map-keyboard-details>summary,.map-coverage-details>summary,.map-location-disclosure>summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--sea)}
.map-source-details{margin-top:8px;border-top:1px solid var(--line)}
.map-source-details p,.map-keyboard-details p{font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
.map-source-details .map-qualification{background:none;border:0;padding:0;color:var(--muted)}
.map-overlap-choice button{display:block;min-height:44px;max-width:100%;padding:8px 0;border:0;background:none;color:var(--sea);text-align:left;white-space:normal;overflow-wrap:anywhere}
.map-marker small{display:block;font-size:.65rem;line-height:1.1}
.provider-map a:focus-visible,.provider-map button:focus-visible,.provider-map summary:focus-visible{outline:3px solid var(--sea);outline-offset:3px}
@media(max-width:1000px){.map-preview-stage{width:min(100%,165px)}}
@media(max-width:700px){.map-preview-stage{width:105px}.provider-map-dialog{padding:16px}.map-dialog-body{grid-template-columns:minmax(0,1fr);gap:18px}.map-canvas{height:340px}.map-dialog-header h2{font-size:1.2rem}.map-dialog-header button{flex:none}.map-coverage{max-width:340px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.provider-map *{transition:none!important;scroll-behavior:auto!important}}
.map-pin-layer{position:absolute;inset:0}
.map-location-option{overflow-wrap:anywhere;white-space:normal}
.map-scope-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .7rem}
.map-scope-actions button{min-height:44px}
.finder-map{margin-block:1.5rem;max-width:760px}
.map-no-points{font-size:.9rem;line-height:1.5}

/* Launch map: geographic viewport, local Leaflet, explicit external-tile activation. */
.provider-map-dialog .map-geography{height:auto;overflow:visible;background:#f4f7f5}
.map-geography-gate{padding:24px;text-align:left}
.map-geography-gate h3{margin:0 0 12px;color:var(--sea);font-size:1.25rem}
.map-geography-gate p{font-size:.92rem;line-height:1.55;margin:0 0 12px}
.map-geography-actions,.map-geography-active{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.map-geography button{min-height:44px;border:1px solid var(--line);border-radius:5px;padding:9px 12px;background:var(--paper);color:var(--sea);font:inherit;cursor:pointer}
.map-geography-actions>button{flex:1 1 180px}
.map-geography-actions>button:first-child{background:var(--sea);color:#fff}
.map-geography-active{justify-content:space-between;padding:10px 12px;font-size:.8rem;line-height:1.45;background:#fff}
.map-geography-active>span{flex:1 1 200px}
.map-geography-viewport{height:clamp(320px,52dvh,540px);min-width:0;z-index:0;background:#e6efea;isolation:isolate}
.map-geography-feedback{margin:0;padding:10px 12px;font-size:.83rem;line-height:1.45;text-align:left}
.map-geography-feedback:empty{display:none}
.map-geography [hidden]{display:none!important}
.map-geography .leaflet-container{font-family:inherit}
.map-geography .leaflet-control-attribution{font-size:11px;line-height:1.6;background:#ffffffed;color:#183948;max-width:100%}
.map-geography .leaflet-control-attribution a{color:#165375;text-decoration:underline}
.map-geography .leaflet-popup-content{margin:14px;line-height:1.45}
.map-geography .leaflet-popup-content p{margin:8px 0;font-size:.85rem}
.map-geography .leaflet-popup-content button{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:.85rem;margin-top:6px}
.map-geography .map-geography-pin{display:grid;place-items:center;border-radius:50%;background:#15526d;color:#fff;border:3px solid #fff;box-shadow:0 2px 7px #17374255;font-size:15px;font-weight:700}
.map-geography-pin-label{display:block;text-align:center}
.map-geography-pin-label small{display:block;font-size:10px;line-height:1.1}
.map-geography .map-geography-pin.is-selected{outline:3px solid #173742;outline-offset:3px;background:#91491e}
.map-geography .leaflet-marker-icon:focus-visible,.map-geography-viewport:focus-visible{outline:3px solid #91491e;outline-offset:2px}
@media(max-width:700px){.provider-map-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px}.map-geography-gate{padding:16px}.map-geography-viewport{height:360px}.map-geography-active{gap:6px}.map-geography-active>span{flex-basis:100%}.map-geography .leaflet-popup-content{max-width:230px}}
