кто поставил лучшее решение вашему предложению? ваше решение это худшее что можно предложить. вы меняете стандартный класс во всей системе bootstrap, вместо того чтобы внедрить новый класс, например hover, shadow-hover, box-shadow-hover, ну или как хотите назовите. и меняйте что хотите не трогая основные классы. потом просто там где надо выделять блок дополняете класс .hover
то что он кусок г, я даже не спорю. это даже не кусок, он весь состоит из говнокода. но порог вхождения для нубов разработчиков в опенкарте гораздо ниже. его и не надо знать, достаточно глянуть код и если mvc для тебя не нечто сказочное, то в общем то очень быстро с ним разберешься. честно говоря с новыми версиями ждал маны небесной, но по сути это лишь смена версий бутстрапа, изменения минимальны, сам поглядываю последнее время на ларавел.
но по сути опенкарт это всего лишь код на php и никто не мешает все что задумано на нем реализовать, у него четкая структура mvc, что позволит написать любой нужный функционал, и говорить что на нем нельзя сделать все вышеперечисленное будет неправильным. более того все что вышеперечисленно уже наверняка кем то сделано.