.catalog-filter-city { display: grid; min-width: 0; gap: .75rem; }
.filter-city-field, .filter-city-control { min-width: 0; }
.filter-city-control > input { width: 100%; }
.filter-city-status { margin: .375rem 0 0; font-size: .75rem; line-height: 1.4; color: var(--color-text-secondary); overflow-wrap: anywhere; }
.filter-city-status:empty { display: none; }
.filter-city-results { list-style: none; padding: 0; margin: .75rem 0 0; border: 1px solid var(--color-border); border-radius: .75rem; background: var(--color-surface); }
.filter-city-results[hidden] { display: none; }
[data-filter-city-ready] [data-filter-city-results] { position: fixed; inset: auto; left: var(--filter-city-left); top: var(--filter-city-top); width: var(--filter-city-width); max-width: none; max-height: var(--filter-city-height, 16rem); margin: 0; overflow-y: auto; overscroll-behavior: contain; z-index: 80; box-sizing: border-box; box-shadow: 0 .5rem 1.5rem #00000014; }
[data-filter-city-ready] .filter-city-choice { gap: .125rem; padding: .625rem .75rem; border-radius: 0; font-size: .875rem; line-height: 1.4; }
[data-filter-city-ready] .filter-city-choice > span { font-size: .75rem; }
.filter-city-results li + li { border-top: 1px solid var(--color-border); }
.filter-city-choice { display: grid; gap: .25rem; width: 100%; min-width: 0; padding: .75rem; text-align: left; overflow-wrap: anywhere; cursor: pointer; border-radius: .625rem; }
.filter-city-choice > span { font-size: .875rem; color: var(--color-text-secondary); }
.filter-city-choice .filter-city-action { color: var(--color-action); }
.filter-city-choice:hover { background: var(--color-primary-light); }
.filter-city-choice[aria-selected="true"] { background: var(--color-primary-light); }
.filter-city-choice:focus-visible { outline: 2px solid var(--color-action); outline-offset: 2px; }
