848ba48484
OnlineBoard, Schedule and FlightsMap each inlined their own swap-cities wrapper — three different class names and, in FlightsMap's case, a different inline SVG. Angular keeps logic separate per filter (Schedule/FlightsMap clear validation on swap, OnlineBoard doesn't) but its DOM is identical across the three. Mirror that: ship a shared <SwapCityButton> that owns the `.change-container > .button-change > .svg--change-city` markup and CSS, keep each caller's onClick local. Also align filter visuals: FlightsMapFilter row gap $space-m → $space-l to match OnlineBoard/Schedule, and CityAutocomplete label gutter $space-s2 → $space-m to match Angular's city-autocomplete.component.scss.