Generally, over my years of using Moodle, whenever I wanted to set up a Moodle page to have a particular look or layout using any of the Moodle editors, I have done it by using tables with various rows and columns with some cells merged to get the look I want. It was always a pain in the backside. However, using tables this way in snippets makes this VERY easy to do.
BUT, if you do any research, it is NOT recommended to use tables for layout like that as it make for some pretty complicated HTML. Instead, it is recommended to use all the new HTML5 stuff, such as flexboxes,etc. Unfortunately, I've discovered that the style stuff that makes the HTML5 look right, gets ignored when used in a snippet as soon as you save the page you are creating.
I've discovered four options. One - the style info has to be placed in the Custom CSS of the theme you are using. If you are like me, and let people pick the theme to use, then to keep things from breaking, the style info has to be added to EVERY theme. Not a good option as in my case, I currently have 20 themes installed.
Option Two - Snippet does contain a styles.css file. If the style info is placed there, then purge all caches, the styling takes effect in every theme. Also not really a good option as any page created with a snippet will break as soon as/if you upgrade the Snippet plugin.
Option three and four - Generico Filter templates and PoodLL Filter Widget templates both have a Custom CSS field setting that when used, makes the styles show up in any theme used. This makes all the new HTML5 stuff usable/doable.
Sooooo - I guess the point of this rambling discourse is - can you think of any way to make the CSS style stuff work in a Snippet? Is it possible to add a Custom CSS field to each snippet or, probably better, as an optional spot on the Snippet settings page?