1. Разобраться в CSS
2.
display: inline-block;
вот это нахер.
3. Либо родителю добавить
display:flex;flex-direction:column;
→ иметь дело с последствиями.
UPD: после дополнения вопроса словами
речь про нормальный перенос > и >>
Псевдоэлементы должны быть смещены влево и быть не
:before
, а
:after
.