.mobile-map-control{display:none}
.atlas-controls>.all-seoul-button{width:48px;height:48px;flex:0 0 48px;padding:0;border-radius:50%;background:#fff;border-color:var(--control-border);color:var(--ink)}
.atlas-controls>.all-seoul-button>span{display:flex}
.atlas-controls>.all-seoul-button svg{width:20px;height:20px}
.atlas-controls>.all-seoul-button:hover{background:var(--seoul-blue-soft);color:var(--seoul-blue)}
.atlas-controls>.all-seoul-button:focus-visible{outline:2px solid var(--seoul-blue);outline-offset:2px}
@media(max-width:640px){
  .atlas-controls{grid-template-columns:minmax(0,1fr) 44px 44px 44px}
  .atlas-controls>#map-expand{position:static;inset:auto;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;box-shadow:none}
  .atlas-controls>#map-expand>span{display:none}
  .atlas-controls>#map-expand>svg,.atlas-controls>#map-expand>span[data-icon]{display:block;width:20px;height:20px}
  .atlas-controls.is-searching>#map-expand{display:none}
  .atlas-controls>.all-seoul-button{display:none}
  .atlas-controls .mobile-map-control{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--control-border);border-radius:50%;background:#fff;color:var(--ink);box-shadow:none}
  .mobile-map-control>span{display:flex;pointer-events:none}
  .mobile-map-control svg{width:20px;height:20px}
  .atlas-controls .mobile-map-control:hover{background:var(--seoul-blue-soft);color:var(--seoul-blue)}
  .atlas-controls .mobile-map-control:focus-visible{outline:2px solid var(--seoul-blue);outline-offset:2px}
  .atlas-controls .search-box{display:none}
  .atlas-controls.is-searching>.map-level-slot,.atlas-controls.is-searching>.mobile-map-control{display:none}
  .atlas-controls.is-searching .search-box{display:flex;grid-column:1/-1;height:48px;animation:mobile-search-reveal .12s ease-out}
  .atlas-controls .search-box:focus-within{border-color:var(--seoul-blue);box-shadow:0 0 0 3px #14745d15}
  .atlas-controls .search-box>span{display:flex;flex-shrink:0}
  .atlas-controls .mobile-search-close{width:44px;height:44px;flex-basis:44px;margin-right:-15px;border:0;background:transparent}
  .atlas-controls .search-box input::-webkit-search-cancel-button{-webkit-appearance:none}
}
@keyframes mobile-search-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.atlas-controls.is-searching .search-box{animation:none}}

/* Approved map controls: equal circular icon hit areas, separate zoom buttons. */
.atlas-controls>#mobile-map-reset,.atlas-controls>#mobile-search-toggle,
.atlas-controls>#map-expand,.map-canvas>#map-expand,
.map-tools>#map-reset,.map-tools>#map-locate,.zoom-group>button{
  box-sizing:border-box;width:44px;height:44px;min-height:44px;min-width:44px;flex:0 0 44px;
  padding:0;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;
}
.map-canvas>#map-expand>span:not([data-icon]){display:none}
/* Keep the toolbar circles and their SVG viewports independent of native
   button metrics, inline baselines and the expand button's old 17px SVG. */
.atlas-controls>#mobile-map-reset,.atlas-controls>#mobile-search-toggle,
.atlas-controls>#map-expand,.map-canvas>#map-expand{
  appearance:none;-webkit-appearance:none;max-width:44px;max-height:44px;
  gap:0;line-height:1;align-self:center;justify-self:center;
}
:is(#mobile-map-reset,#mobile-search-toggle,#map-expand)>[data-icon]{
  display:grid;place-items:center;width:20px;height:20px;margin:0;padding:0;line-height:0;
}
:is(#mobile-map-reset,#mobile-search-toggle,#map-expand) svg{
  display:block;width:20px;height:20px;margin:0;flex:none;
}
.zoom-group{display:flex;gap:6px;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.zoom-group>button{border:1px solid var(--control-border)!important;background:#fff;box-shadow:0 2px 5px #342d2110}
.map-tools>#map-locate{background:#fff;border:1px solid var(--control-border)}
.map-tools>#map-locate[aria-busy="true"]{opacity:.55}
/* Reset already lives beside the level picker on both screen sizes. */
.map-tools>#map-reset{display:none}
.user-location{pointer-events:none}
.user-location>span{display:block;width:18px;height:18px;border:3px solid white;border-radius:50%;background:#2586ed;box-shadow:0 0 0 1px #2586ed55,0 2px 5px #0003}
#search-form{position:relative;overflow:visible}
.map-search-results{position:absolute;top:calc(100% + 8px);left:-1px;right:-1px;z-index:1200;max-height:min(350px,50svh);overflow:auto;padding:6px;border:1px solid var(--control-border);border-radius:22px;background:#fff;box-shadow:0 10px 28px #28241a20}
.map-search-results[hidden]{display:none}
.map-search-results>button{display:flex;align-items:center;gap:12px;width:100%;padding:12px;text-align:left;border:0;border-radius:16px;background:transparent;color:var(--ink);cursor:pointer}
.map-search-results>button:hover,.map-search-results>button[aria-selected="true"]{background:#f1efe8}
.map-search-results strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
.map-search-results small{display:block;margin-top:3px;color:#76746d;font-size:12px}
.search-result-symbol{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#f0eee8}
.search-result-symbol svg{width:18px;height:18px}
.map-search-results>p{padding:12px;margin:0;font-size:14px;white-space:normal}
@media(min-width:641px){
  .atlas-controls>#mobile-map-reset,.atlas-controls>#mobile-search-toggle{display:none}
}
@media(max-width:640px){
  .atlas-controls{align-items:center}
  .atlas-controls.is-searching>#mobile-map-reset,.atlas-controls.is-searching>#mobile-search-toggle,.atlas-controls.is-searching>#map-expand{display:none}
  .map-search-results{max-height:260px}
}
