.city-suggestions { list-style:none; margin:6px 0 0; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--white,#fff); max-height:260px; overflow:auto; min-width:0; }
.city-suggestions[hidden] { display:none; }
.city-suggestions li { margin:0; }
.city-suggestions button { display:block; width:100%; background:transparent; color:var(--pine); text-align:left; border:0; border-radius:4px; padding:10px 8px; white-space:normal; overflow-wrap:anywhere; font:inherit; cursor:pointer; }
.city-suggestions button:hover,.city-suggestions button:focus,.city-suggestions [aria-selected="true"] { background:var(--soft-green); outline:2px solid var(--pine); outline-offset:-2px; }
.filter-form[data-catalogue-search] { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.filter-form[data-catalogue-search] > .button { grid-column:1/-1; justify-self:end; min-width:160px; }
@media(max-width:900px) { .filter-form[data-catalogue-search] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .filter-form[data-catalogue-search] { grid-template-columns:1fr; } .filter-form[data-catalogue-search] > .button { justify-self:stretch; } }
