Картинка будет растянута на всю высоту/ширину блока, текст с отступом сверху, он везде будет одинаково смотреться. Если это первый экран и он подразумевает высоту/ширину в 100%, то прибейте кнопку абсолютом с отступом снизу. head не забудьте position: relative прописать в таком случае
Сергей: сейчас высота before 30px что соответсует чуть больше чем высота одной строки, как только строк становится >2, они не упираются в before и свободно обтекают его.
Пока самый приемлимый вариант такой: https://jsfiddle.net/pvsxyaxp/6/
Но это дикий костыль, я потом карму не очищу
да, это решило бы проблему, но тут моя вина, некорректно составил пример. Длина элемента списка железно будет больше одной строки, а нумерация должна быть именно вынесена влево. не хотелось бы в li городить вложенности с разбиением на колонки, но пока не вижу другого выхода
можно попробовать повесить событие пересчета высоты на события свайпа или клика по переключалкам, код будет длиннее, но работать будет, добавил пример кода в ответе