Divi generates a variety of mobile styling that causes issues. Generally speaking, the styling tries to adopt a single column layout, where each of the column widths is set to 100%, effectively making them rows. The row display is set to “block”, so any flex-based styling would loose their effect.

To retain a multi-column layout in mobile view, you have to use a media query to manually set the widths of columns so that they all fit within the display port. Also make sure the row display is set to “flex” so flex-based stylings remain functional.

Divi generates some mobile styling that causes the last column to have a margin-bottom of 0. Best to set all top and bottom margins to 0 and let align-items take care of centering.