Design & Theming

Re-theme one region. Not one rule.

A Domma theme is a set of design tokens scoped to a class. Point a CSS selector at a theme and everything inside it adopts that theme, including components rendered later.

28 site themes9 admin themesDay and night

Hand-written overrides always lose.

You want the sidebar darker than the page. So you write CSS. Then a card inside it renders with its own background and you write more CSS. Then a component you did not write appears and you are in a specificity war you cannot win, because you are fighting rules that ship with the framework.

The reason is that you were overriding appearance. The theme sets tokens, and everything downstream reads them.

Override the tokens instead.

An override is a CSS selector plus either a whole theme to adopt, or individual token values. It compiles server side into one style block, injected ahead of your own content/custom.css.

Adopt a theme wholesale on any selector
Or set individual tokens by hand
Covers components rendered after page load
Your hand-written CSS still wins, by design
The Element Overrides tab: an override bound to a CSS selector adopting another theme, reporting that it changes 74 of 137 tokens with before and after swatches, plus individual token overrides and a custom CSS escape hatch

An override names a region, adopts a theme, and tells you exactly how many tokens that moves.


The editor tells you what will actually change.

Picking a theme for a region reports:

How many of its tokens actually move here
The first few, as before and after swatches
A warning when both themes share a surface colour

That last one matters. Adopt one light theme onto a region inside another and you change its accent and its text, and the fill stays exactly as it was, because most light themes paint on white. That reads as a broken feature when it is doing precisely what it says.

Token pickers are generated from the shipped stylesheet, so an override cannot name a token that does not exist. A var() on an undefined token silently resolves to nothing, which is how a popup ends up with no background at all.

Values that could close their own declaration are refused rather than escaped, and a selector broad enough to re-theme the whole document is refused too.

Generated pickers Validated values


Everything else in Content > Theme.

28 site themes

Fourteen palettes, each a matching light and dark pair: charcoal, christmas, corporate, dreamy, forest, grayve, lemon, mint, ocean, royal, silver, sunset, unicorn and wedding. Plus nine themes for the admin itself.

Automatic day and night

Nominate a day theme and a night theme and the site switches at the times you set, in each visitor's own time zone. The built-in theme switcher lets visitors pick for themselves.

Typography

Google Fonts set once and applied site wide, with the family pickers grouped so you are choosing from a shortlist rather than a phone book.