Для изменения одного объекта при наведении на другой с помощью CSS псевдокласса :hover необходимо использовать комбинацию селекторов. Например:
```css
.button:hover .icon {
color: red;
}
```
Этот код изменит цвет иконки внутри кнопки при наведении на саму кнопку.
Чтобы реализовать смену цвета фона и текста при наведении на ссылку в меню и чтобы предыдущая ссылка прекращала светиться, можно использовать следующий CSS:
```css
.menu-link {
color: black;
background-color: white;
transition: all 0.3s; /* добавляем плавный переход */
}
.menu-link:hover {
color: white;
background-color: black;
}
.menu-link:hover ~ .menu-link {
color: black;
background-color: white;
}
```
Этот код задаст цвет фона и текста для ссылок в меню, а также установит плавный переход при изменении цвета. При наведении на одну из ссылок, она поменяет цвета на противоположные, а предыдущая ссылка вернется к изначальным цветам.