.syfal-directory-map {border:1px solid #d7e3e8;border-radius:10px;background:#fff;padding:14px;margin:20px 0;color:#234553}
.syfal-map-toolbar {display:flex;flex-wrap:wrap;gap:8px}
.syfal-map-toolbar button,.syfal-map-locate {border:1px solid #0c7188;background:#fff;color:#08647b;border-radius:6px;min-width:44px;min-height:44px;padding:8px 12px;font:inherit;cursor:pointer}
.syfal-map-toolbar button:hover,.syfal-map-locate:hover {background:#e9f6f8}
.syfal-map-toolbar button:focus-visible,.syfal-map-locate:focus-visible {outline:3px solid #e39724;outline-offset:2px}
.syfal-map-toolbar button:disabled {opacity:.45;cursor:default}
.syfal-map-toolbar [data-map-action="in"],.syfal-map-toolbar [data-map-action="out"] {font-size:24px;line-height:1}
.syfal-map-status,.syfal-map-help {font-size:14px;line-height:1.5;margin:12px 0}
.syfal-directory-map .syfal-map-canvas {height:480px!important;margin:0!important;border-radius:6px;background:#edf3f5}
.syfal-directory-map [hidden] {display:none!important}
.syfal-directory-card {transition:background .15s}
.syfal-directory-card:has(.syfal-map-locate) {cursor:pointer}
.syfal-directory-card:hover,.syfal-directory-card.is-map-selected {background:#edf8fb!important}
.syfal-directory-card.is-map-selected {box-shadow:inset 4px 0 #0c7188}
.syfal-map-locate {min-width:30px;padding:4px;font-size:24px}
.syfal-map-unavailable {color:#6e7d84}
.syfal-map-popup {max-width:280px;color:#234553;font-size:14px;line-height:1.5;padding:4px}
.syfal-map-popup h3 {font-size:18px;margin:0 0 8px}
.syfal-map-popup p {margin:4px 0}
.syfal-search-reset {margin-left:8px}
@media(max-width:767px) {.syfal-directory-map .syfal-map-canvas {height:350px!important}.syfal-directory-map {padding:10px}.syfal-map-toolbar [data-map-action="reset"] {flex:1}}

.syfal-directory-layout > .row {margin-left:0;margin-right:0}
.syfal-location-search {box-sizing:border-box;width:100%;max-width:100%;min-height:40px}
.syfal-location-help {display:block;font-size:13px;line-height:1.4;margin-top:6px}

.syfal-directory-search .jsn_search_module {display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;align-items:start}
.syfal-directory-search .control-group {min-width:0}
.syfal-directory-search .syfal-search-reset {margin-left:0}
@media(max-width:767px) {.syfal-directory-search .jsn_search_module {grid-template-columns:1fr}.syfal-directory-search .jsn_search_btn {width:100%}}
