Покупатель не видит ваш ORM. Он видит карточку, корзину и то, сжимается ли вёрстка на узком экране. Для магазина на «Битрикс» фронтенд — это шаблон компонента, стили сайта и точечный JS, а не отдельное SPA «как в стартапе».
Копируете шаблон catalog.element — меняйте разметку там. Не тащите в шаблон SQL и не считайте цены в цикле на 200 офферов: это уже данные, их место в модификаторе или в компоненте. В шаблоне оставьте вывод и простые условия.
jQuery на типовых решениях ещё жив. Новый код лучше писать без лишней зависимости, если хватает обычного JS. Сборщики, React на каждую плашку «наверх» — только если это реально отдельное приложение, а не три кнопки в карточке.
Картинки, отложенная загрузка, кеш меню — в кладовке это уже разбирали по отдельности. Имеет смысл не изобретать слайдер третий раз, а сначала посмотреть, что уже есть в шаблоне сайта.
Проверка: откройте карточку на ширине телефона, положите товар в корзину, вернитесь назад. Если ломается только «на моём мониторе в 1920», это ещё не витрина.
