.search-city-picker, .search-city-input { min-width: 0; }
.search-city-input { position: relative; }
.search-city-picker [hidden] { display: none !important; }
.search-city-picker input, .search-city-picker select { min-width: 0; max-width: 100%; }
.search-city-help { margin: .45rem 0 .25rem; font-size: .8rem; line-height: 1.4; }
.search-city-help span { display: block; }
.search-city-status { margin: .3rem 0 0; font-size: .85rem; line-height: 1.4; overflow-wrap: anywhere; }
.search-city-status:empty { display: none; }
.search-city-options { position: absolute; top: 100%; left: 0; right: 0; z-index: 30; list-style: none; padding: 0; margin: .25rem 0 0; max-height: 18rem; overflow-y: auto; border: 1px solid var(--panel-border); border-radius: 10px; background: var(--surface); box-shadow: 0 12px 28px #0008; }
.search-city-options li { margin: 0; padding: 0; }
.public-shell .search-city-options button { display: block; width: 100%; min-height: 44px; padding: .7rem .8rem; border: 0; border-radius: 0; background: var(--surface); color: inherit; font: inherit; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.search-city-options li + li { border-top: 1px solid var(--panel-border); }
.search-city-options li[aria-selected="true"] button, .public-shell .search-city-options button:hover, .public-shell .search-city-options button:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
