How it works
Send your Ripio contact the values you want to change. Anything you leave out keeps its default. A minimal theme is small::root, and they inherit into its Shadow DOM.
Theming is an account-level setting. There’s no query parameter or runtime API for it. You can also override tokens yourself at the document level; see Overriding tokens from your page.
Supported tokens
These are the tokens your account theme can set. Any other name is rejected when the theme is loaded, so a theme built on these keeps working as the widget’s internals change. Brand
Setting
--ripio-color-primary alone is enough for a coherent theme: the hover and the tinted backgrounds are derived from it. Set them explicitly only when your brand guide defines them.
Surfaces and text
Status and neutrals
Shapes and spacing
Typography
Accepted values
Each token accepts one kind of value. Anything else is rejected, including CSS functions,url(), @import, comments and anything that isn’t a plain value.
Fonts
The widget ships and serves its own fonts, so you don’t load anything and your page’s CSP doesn’t need a third-party font host.--ripio-font-family accepts one of:
The widget only downloads the family it’s using. If your brand needs a typeface that isn’t on the list, talk to your Ripio contact: fonts are added to the widget, never loaded from your side.
Overriding tokens from your page
You can also set tokens yourself with CSS custom properties on your page’s:root. The order of precedence is:
- The widget’s defaults.
- Your page’s
:root, which overrides the defaults. - Your account theme, which overrides both.
--ripio-btn-*, --ripio-input-*, --ripio-card-*, --ripio-chip-*, --ripio-toast-* and --ripio-overlay-*, and the radius, shadow and type scales. They belong to the design system and may be renamed as it evolves, so prefer the supported tokens where they’re enough.
What not to override
Before and after

