Задача явно должна решаться через css. JS здесь не уместен
Можно попробовать решить проблему таким образом
.buy__wrap {
position: relative;
}
.buy__item--text {
position: absolute;
right: 0;
bottom: 0;
top: 0;
}
Тогда правый блок всегда будет по высоте родителя, ни больше ни меньше. Если захочет быть больше, появится скролл. Дальше уже можно плясать с медиа выражениями как душа того пожелает.