html body .search{min-width:140px}
html body .search:focus-within{border-color:#8ba38f;box-shadow:0 0 0 3px #28564312}
html body .search-results{position:fixed;top:76px;left:auto;right:20px;width:min(610px,calc(100% - 40px));max-height:calc(100dvh - 110px);padding:12px;background:#fffdf6;border:1px solid #dce0d2;border-radius:18px;z-index:50;overscroll-behavior:contain}
.city-search-top{display:flex;align-items:center;justify-content:space-between;padding:0 2px 8px 10px;color:#7a8577;font-size:12px}
html body .city-search-top button{width:36px;min-height:36px;padding:0;justify-content:center;font-size:23px}
html body .search-results .search-heading{font-size:10px;letter-spacing:.08em;font-weight:600;padding:12px 10px 7px}
.city-search-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid #edf0e6}
html body .city-search-place{flex:1;min-width:0;min-height:66px;gap:10px;padding:10px}
.city-search-symbol{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #c5b88d;border-radius:10px;background:#edf1e5;color:#285643;font-size:23px}
.city-search-copy{min-width:0;display:grid;gap:5px}
.city-search-copy b{font-size:14px;font-weight:650;overflow-wrap:anywhere}
.city-search-copy small,.city-search-product small{display:block;font-size:11px;line-height:1.5;color:#758171;overflow-wrap:anywhere}
html body .city-search-enter{width:auto;flex:0 0 auto;min-height:42px;padding:10px 12px;color:#285643;background:#eff3e9;font-weight:600;white-space:nowrap}
html body .city-search-more{justify-content:center;border:1px solid #cfd8c6;color:#285643;min-height:42px;margin:9px 0}
html body .city-search-status{font-size:12px;line-height:1.5;color:#758171;padding:12px 10px}
html body .city-search-product{min-height:60px}
.search-results button:focus-visible{outline:2px solid #8b784a;outline-offset:-2px}
@media(max-width:760px),(max-width:1024px) and (max-height:600px),(pointer:coarse) and (max-height:600px){
 html body:not(.in-shop) .search{display:flex;position:absolute;top:52px;left:12px;right:12px;max-width:none;width:auto;height:44px;padding:7px 12px;margin:0;z-index:45;background:#fffdf8;box-shadow:0 4px 18px #24453620}
 html body .search input{font-size:16px}
 html body .search kbd{display:none}
 html body .search-results{top:104px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 124px);padding:8px;border-radius:14px}
 html body #map-view .maplibregl-ctrl-top-right{top:60px!important}
 html body .city-search-enter{font-size:11px;padding:9px}
 .city-search-symbol{flex-basis:28px;height:30px;font-size:20px}
 .city-search-copy b{font-size:13px}
 html body .city-search-place{padding:8px;gap:8px}
}
@media(orientation:landscape) and (max-height:600px){
 html body:not(.in-shop) .search{left:245px;right:116px;top:52px}
 html body .search-results{left:245px;right:12px;max-height:calc(100dvh - 114px)}
}

html body .search-results{overflow-y:auto}
.city-search-service-points>summary{padding:12px 10px;color:#285643;font-size:13px;cursor:pointer;min-height:44px;box-sizing:border-box}
.city-search-service-points>summary:focus-visible{outline:2px solid #8b784a;outline-offset:-2px}
