Возможна такая логика:
1) Обрабатываем движение курсора по карте
2) Если курсор попал на карту :
2.1) Проходимся циклом по все path - задаем им прозрачность, 0.7 например
2.2) Тому который под курсорм (event.target) - не задаем, а точнее задаем прозрачность 1
//при наведении указателя
document.querySelector('.map').addEventListener('mousemove', (event) => {
let hoverEffect = document.querySelectorAll('.hover-effect');
for (let i = 0; i < hoverEffect.length; i++) {
hoverEffect[i].style.opacity = '0.5';
}
event.target.style.opacity = '1';
});
//при убирании указателя
document.querySelector('.map').addEventListener('mouseout', () => {
let hoverEffect = document.querySelectorAll('.hover-effect');
for (let i = 0; i < hoverEffect.length; i++) {
hoverEffect[i].style.opacity = '1';
}
});
Совсем чуть чуть поменял ваш код - все работает)