position: relative резервирует место в потоке
Обычно для родительского блока используют position: relative, а для внутреннего блока position: absolute.
В данном случае, мне кажется лучше отказаться от абсолютного или относительного позиционирования текста и сверстать например
так.
Еще вариант