Simple, elegant and solves just loads of pain. Thanks Domagoj!
Those worried about cross browser support (which is actually very good) can check out the support at caniuse here...
https://caniuse.com/flexbox-gap
The other responses made me think more widely about whether we're actually doing users a favour by working hard to display websites well in old browsers. In general, I'm forced to assume that those users are subject to massive vulnerabilities - as well as inconvenienced (without realising why) because of people like me who only support the last couple of major versions... perhaps the best thing to do is flash "Content may not display well in very old browsers, please consider upgrading" to help those users understand why they need to allow browser updates.