
A theme should decide how a site is put together. It should not decide what you are allowed to change. Most themes get that backwards: the layout is fixed, the type scale is baked into a stylesheet, and the only way to move a margin is to open a file and hope nothing downstream depended on it.
The Darkside theme keeps every one of those decisions in the admin, written as custom properties the stylesheet reads at render time. Nothing is regenerated when a setting changes, and a site with the plugin switched off still renders, because every value in the stylesheet is a fallback rather than the only copy.
The page, before anything is on it
Layout comes first. Content width, the gutter either side, and the space above and below the content are three numbers that decide how a page breathes, and they belong together rather than scattered through a dozen rules.
Layout
Breakpoints sit next to them. A theme that hard codes 768px has made a decision about somebody else’s content, so the widths at which the layout changes are yours to set.
Breakpoints
Space between things
Row spacing is the single most common reason a site looks amateur. Too little and everything crowds. Too much and nothing relates to anything. One figure governs the space between rows across the whole site, and one governs the gap between columns standing side by side.
Rows
The details that date a site
Link styling, shadows and borders are where themes usually stop asking and start insisting. Underlines can be on, off, or drawn on hover. Shadows have a soft and a deep setting rather than a single opinion. Borders carry their own radius, and the field is named for the CSS property it writes, so what you set is what the browser gets.
Hyperlinks
Box shadows
Borders
None of this is a page builder feature. It is the theme, and it applies to every page, post and product on the site at once. Change the row spacing and the shop follows. Change the link style and the blog follows. That is what a theme is for.