подход верный, насколько я знаю, нет способов ограничить блок по кол-ву строк, можно только подобрать max-height. Проcто max-height нужно подбирать не просто так: надо задать тексту line-height, а max-height рассчитать как line-height*N, где N - кол-во строк
значок можно сделать псевдоэлементом, а сам блок с текстом скрыть. но непонятно, зачем это нужно
пример на codepen
обратите внимание на то, что для отображения символа подключается специальный шрифт