:has() — очень удобный инструмент в CSS, который уже можно использовать.
Часто он позволяет убрать JS — например связывая :hover в одной ветке DOM-дерева с реакцией в другой.
Посмотрите, как мы в oklch.com выкинули много JS-кода
https://github.com/evilmartians/oklch-picker/pull/157