That example doesn’t work because it does not have display:table; on the table-cell’s parent.
But it’s not as easy as setting display:table on the parent because the layout has progressed too far along with other elements.
The other thing is that width acts as min-width when used with display:table;
I see the parent expanding when you add display:table; which is wrecking the layout.
Do you mean a solution, as in a way to achieve the layout you want, even if this means starting again from scratch, or do you mean a quick fix?
This seems to be the step that you are missing every time. It also seems you still haven’t grasped the fact that you cannot take CSS from one layout and paste it into a page with a different HTML structure and different layout and expect it to behave in the same way.