Ok, so the issue here is the Envira Gallery cannot get width from its parent div whether it's a text element or content element.
Now, even if the text element is set to 100% width, there is nothing to base the
100% because the Container has no width as well, its flex-basis turns to be the
height because the bar's flex layout is set to column. I understand this is a bit confusing, but it will be clear when do you the solution below.
To resolve this, first set your bar's flex layout to ROW and turn on the Wrap Children option.
Then set all those 3 container's Flex basis to 100% this is so the containers will be stacked to each other and have an actual width.
Lastly, set the Text element's (where the Envira gallery shortcode is) width to 100%, this is where your envira gallery width will be base now, so if you want it not too big, so can set it somewhere 600px-300px.
See the "test 2" footer that I created for your reference.
Regarding the links, please navigate to lightbox tab of your gallery and enable links
Hope it helps,