Обработчик клика по .color-panel__bg--custom
элементу вызывается дважды (раз когда кликаешь по li элементу, второй раз когда срабатывает механика аттрибута for="custom-color"
. Второй раз происходит “клик” по элементу с айдишником “custom-color” и вся логика обработчика выполняется заново.
В самом подходе могли закраться проблемы. Возможно понадобится пересматривать подход, а не просто пытаться заставить работать то что есть. Не бойся изменить подход после того как узнала достаточно про задачу, возможности/ограничения браузера.
И если хочешь улучшить код, то вынеси навешивание обработчиков из вызова обработчиков. Это ненадежное решение с проблемами производительности и понимания.