Skip to main content

Theme

The Theme is the look and feel of your whole storefront: colors, fonts, button styles, header layout, branding, and spacing. You set it in the Theme Editor, which shows a live preview so you see every change before it goes live.

Where to find it

Sidebar → STOREFRONT → Storefronts → Theme.

The Theme Editor with a settings panel of tabs on the left and a live storefront preview on the right
The Theme Editor: settings on the left, a live preview that updates instantly on the right.

How it's organized

The editor is two panes. On the left, a settings panel with tabs — Style, Type (typography), Behavior, Nav (navigation), Brand (branding), and Layout. On the right, a full preview of your storefront that re-renders the moment you change anything. There's a lot here — every control is documented in the Editor's theme reference.

What happens — and what doesn't

  • Changes preview live but only go public when you publish — experiment freely.
  • The theme applies to the whole storefront, so a color or font change ripples across every page at once.
  • Each storefront has its own theme; a holiday storefront can look completely different from your everyday one.
  • Presets give you a starting look; from there every value is adjustable.
Does changing my theme affect the live store right away?

No. Theme changes show in the live preview instantly but only reach customers when you publish. You can tweak as much as you like first.

Where do I change fonts and colors?

In the Theme Editor's tabs — Style for colors and surfaces, Type for fonts. Every control is catalogued in the Editor's theme controls reference.

Can two storefronts have different themes?

Yes. Theme is per storefront, so each store version you run can look entirely different.

Every theme control

The theme is your store's look in one place — change something here and it applies to every page at once. These are all 149 controls, grouped the way the editor groups them.

Style

Colours, borders, shadows and corner radius — the surface look of everything.

GroupControlOptionsWhat it does
ThemesTheme: Playful Geometry1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesTheme: Neo-Brutalism1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesTheme: Botanical1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesTheme: Sketch1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesTheme: Neumorphism1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesTheme: Corporate Trust1 of 6 themesA complete preset — colours, fonts, corners and motion in one click. Picking it replaces your current look, and you can adjust anything afterwards.
ThemesApply theme buttonaction (commit selected theme LIVE)Commits the theme you have previewed. Nothing changes for buyers until you apply.
ThemesReset theme buttonaction (clear creator color/font customisations)Returns everything to the theme default, discarding your customisations.
PalettePalettes browser~126 curated palettes (fetchAllPalettes, dynamic count)Ready-made colour sets. Picking one rewrites your primary, accent and background together, so the store stays coherent instead of becoming three unrelated choices.
PaletteMy Palettes groupcreator's saved palettes (theme_variants, tenant-scoped)Palettes you have saved yourself.
PaletteSave as custom palette buttonaction (create theme_variant)Keeps the colours you've landed on as a named set, so you can return to it after experimenting.
ColorsPrimary color wellhex colorYour main brand colour. It drives buttons, links and anything the store wants you to click — so it needs to stand out against your background, not blend into it.
ColorsAccent color wellhex colorA second colour for highlights and badges. Used sparingly; if it competes with the primary, nothing reads as the main action.
ColorsBackground color wellhex colorThe page behind everything. Small shifts here matter more than they look — a warm off-white and a cool grey give the same store two different characters.
ColorsSurface color wellhex colorCards, panels and anything raised off the page background. A slight difference from the background is what makes a card read as a card.
ColorsText color wellhex colorThe colour of body copy. Contrast against the background is what makes a store readable on a phone in daylight.
ColorsText Muted color wellhex colorSecondary text — captions, timestamps, helper lines. Quieter than body copy but still legible.
ColorsBorder color wellhex colorThe lines around cards, inputs and dividers. Lower contrast reads calmer; higher contrast reads more structured.
ColorsSection Bold color wellhex colorThe background for sections you want to stand out from the rest of the page.
BackgroundBackground slot 1slot 1/2/3A background layer — a colour, gradient or image. Layers stack, so a later slot sits over an earlier one.
BackgroundBackground slot 2slot 1/2/3A background layer — a colour, gradient or image. Layers stack, so a later slot sits over an earlier one.
BackgroundBackground slot 3slot 1/2/3A background layer — a colour, gradient or image. Layers stack, so a later slot sits over an earlier one.
BackgroundBackground custom: None8 pattern typesA plain background — just the colour. The safest choice when your products are the visual interest.
BackgroundBackground custom: Solid8 pattern typesA single flat colour.
BackgroundBackground custom: Dot Grid8 pattern typesA faint grid of dots. Adds texture without competing with content.
BackgroundBackground custom: Halftone8 pattern typesA printed-dot pattern. Distinctive, and heavy — best behind a single hero section rather than a whole page.
BackgroundBackground custom: Paper Grain8 pattern typesA subtle paper texture — warms up an otherwise flat page.
BackgroundBackground custom: Ambient Orbs8 pattern typesSoft coloured glows behind the content. Reads modern and can wash out text if the contrast drops.
BackgroundBackground custom: Grid Paper8 pattern typesFaint ruled lines, like graph paper.
BackgroundBackground custom: Animated8 pattern typesA moving background. Costs performance on older phones and pulls the eye away from your products.

30 controls in this group. Generated from the live theme-control matrix.

Layout

Widths, spacing and how content sits on the page.

GroupControlOptionsWhat it does
DensityPage DensitycompactThe overall breathing room. Comfortable gives everything space; compact fits more above the fold — useful for a large catalogue, tiring for a landing page.
DensityPage DensitydefaultThe overall breathing room. Comfortable gives everything space; compact fits more above the fold — useful for a large catalogue, tiring for a landing page.
DensityPage DensityspaciousThe overall breathing room. Comfortable gives everything space; compact fits more above the fold — useful for a large catalogue, tiring for a landing page.
Corner RoundnessBorder Radius (global)noneHow rounded corners are, everywhere at once. Sharp corners read technical and serious; heavy rounding reads friendly and consumer.
Corner RoundnessBorder Radius (global)smHow rounded corners are, everywhere at once. Sharp corners read technical and serious; heavy rounding reads friendly and consumer.
Corner RoundnessBorder Radius (global)mdHow rounded corners are, everywhere at once. Sharp corners read technical and serious; heavy rounding reads friendly and consumer.
Corner RoundnessBorder Radius (global)lgHow rounded corners are, everywhere at once. Sharp corners read technical and serious; heavy rounding reads friendly and consumer.
Corner RoundnessBorder Radius (global)fullHow rounded corners are, everywhere at once. Sharp corners read technical and serious; heavy rounding reads friendly and consumer.
Section SpacingSection SpacingtightThe gap between one section and the next. This is what makes a page feel considered rather than crammed.
Section SpacingSection SpacingdefaultThe gap between one section and the next. This is what makes a page feel considered rather than crammed.
Section SpacingSection SpacinglooseThe gap between one section and the next. This is what makes a page feel considered rather than crammed.
Page WidthPage WidthnarrowHow wide your content runs. Narrow keeps lines short and readable for text-led stores; full-width suits image-heavy catalogues but makes paragraphs hard to track.
Page WidthPage WidthboxedHow wide your content runs. Narrow keeps lines short and readable for text-led stores; full-width suits image-heavy catalogues but makes paragraphs hard to track.
Page WidthPage WidthwideHow wide your content runs. Narrow keeps lines short and readable for text-led stores; full-width suits image-heavy catalogues but makes paragraphs hard to track.
Page WidthPage WidthextraHow wide your content runs. Narrow keeps lines short and readable for text-led stores; full-width suits image-heavy catalogues but makes paragraphs hard to track.
Page WidthPage WidthfullHow wide your content runs. Narrow keeps lines short and readable for text-led stores; full-width suits image-heavy catalogues but makes paragraphs hard to track.
CardsCard PaddingSlider 8–48 px, step 4, default 24Space inside a card, between its border and its contents. Too little and the card feels cramped whatever else you fix.
CardsCard GapSlider 8–40 px, step 4, default 20The gap between cards in a grid. Wider gaps make each card read as its own thing; tighter gaps make them read as one block.
Custom CSSCustom CSSTextarea, sliced to 10000 charsAn escape hatch for anything the controls don't cover. It applies after everything else, so it can override the theme — and can break your storefront if the selectors are wrong. Reach for it last.

19 controls in this group. Generated from the live theme-control matrix.

Typography

Fonts, sizes, weights and line spacing.

GroupControlOptionsWhat it does
FontsHeading font familyfont picker (customFonts + curatedFonts, ~22 curated grouped by category)The font for headlines. This carries most of your store's personality — it's the first thing a visitor reads and the thing they remember.
FontsBody font familyfont picker (customFonts + curatedFonts, ~22)The font for everything people actually read. Choose for legibility at small sizes before character; a beautiful body font that's hard to read costs you sales.
FontsDisplay / accent fontfont picker + "none" = inherit from headingAn optional third font for hero text and pull quotes. Used anywhere else it starts to look busy.
FontsCustom font uploadfile upload .woff2/.woff/.ttf/.otfUpload a licensed font of your own. Check your licence covers web use before you do.
WeightHeading weight300/400/500/600/700/800/900 (7 toggle buttons)How heavy headlines are. Heavier reads more confident and more commercial; lighter reads more editorial.
WeightBody weight300/400/500/600 (4 toggle buttons)The weight of running text. Too heavy tires the eye over a long page.
SpacingHeading letter spacing-0.03em / -0.02em / -0.01em / 0 / 0.02em / 0.04em / 0.06em (7 toggle buttons)The gap between letters in headings. Tightening slightly makes large headlines look deliberate; loosening suits small uppercase labels.
TransformHeading text transformnone / uppercase / capitalize (3 toggle buttons)Whether headings render as typed, ALL CAPS, or Title Case. Caps suit short labels and get shouty over a full sentence.
ScaleType scale ratio1.25 Compact / 1.333 Classic / 1.414 Bold / 1.618 Golden (4 toggle buttons)How much bigger each heading level is than the one below it. A small ratio reads calm and editorial; a large one gives dramatic headlines and can crowd a phone screen.

9 controls in this group. Generated from the live theme-control matrix.

Your store's top bar — its layout, behaviour and contents.

GroupControlOptionsWhat it does
Header MenuHeader Menuselect (menu id, location=header)Which of your menus the header uses. Menus themselves are built under Storefront → Menus.
IdentityShow Logotoggle on/offWhether your logo appears at all. Off suits stores whose name is the wordmark.
IdentityLogo Sizecompact/default/largeHow large the logo renders. Bigger asserts the brand; too big pushes the menu into a cramped second row on mobile.
IdentityLogo Shapenone/rounded/circleWhether the logo is masked to a circle, a rounded square, or left as-is.
IdentityLogo Uploadimage urlYour logo file. Upload it at twice the size you want it displayed so it stays sharp on high-resolution screens.
IdentityShow Brand Nametoggle on/offWhether your store name appears as text beside the logo. Useful when the logo is a symbol nobody would read as your name.
IdentityBrand Namefree-textThe name shown in the header, if it differs from your store name.
IdentityBrand Name Font__heading__ (same as heading) or curatedFontsA font for the brand name specifically, when it should differ from your headings.
IdentityBrand Name Colorhex color (picker + free-text)The brand name colour, when it needs to differ from the header text.
IdentityShow Taglinetoggle on/offA short line under the brand name. Say what you sell — a visitor decides in seconds whether they are in the right place.
IdentityTaglinefree-text (maxLength 160)The tagline text itself.
IdentityFaviconimage urlThe small icon in the browser tab and in bookmarks. It renders at 16px, so anything detailed becomes a smudge — use a mark, not your full logo.
LayoutHeader Layoutlogo-left/logo-center/logo-aboveWhere the logo and menu sit relative to each other. Centred logos read boutique; left-aligned reads conventional and scans faster.
LayoutHeader Elevationflat/soft/strong/floatingWhether the header sits flat on the page or lifts off it with a shadow. Elevation helps when content scrolls underneath.
LayoutSticky Headertoggle on/offKeeps the header visible as people scroll. Useful on long pages; it costs vertical space on a phone.
LayoutHeader Link Styleunderline/color-only/underline-on-hoverHow header links are drawn — plain, underlined, or as buttons.
MenuMenu Alignmentleft/center/rightWhere navigation items sit in the header — beside the logo, or pushed to the far edge.
MenuMenu Densitycompact/normal/spaciousThe spacing between menu items. Tighter fits more links before they collapse into the mobile menu.
MenuMenu Weight400/600 (regular/bold)How bold navigation text is.
MenuMenu Hover Stylecolor-shift/background-fade/underline-slideWhat a menu item does when hovered — underline, highlight, or colour change.
MenuNav Active Indicatorcolor/pill/bold/underlineHow the current page is marked in the menu. Without one, visitors lose track of where they are.
MenuMenu Text Colorhex color (picker + free-text)The colour of navigation text, when it should differ from the header default.
MenuMenu Hover/Active Colorhex color (picker + free-text)The colour a menu item takes when hovered or when it is the current page.
Icons & ActionsShow Account Icontoggle on/offWhether buyers see a sign-in / account entry point in the header. Off makes sense only if you sell nothing that needs an account.
Icons & ActionsAmbient Backgroundtoggle on/offA soft gradient behind the header instead of a flat colour.
Icons & ActionsHeader Background Colorhex color (picker + free-text)The header's own background, when you want it different from the page.
MobileDrawer Sideleft/rightWhich edge the mobile menu slides in from.
MobileMobile Menu Styledrawer/fullscreenHow navigation collapses on a phone — a slide-in drawer, or a full-screen overlay.

28 controls in this group. Generated from the live theme-control matrix.

The bottom of every page.

GroupControlOptionsWhat it does
LayoutFooter MenuSelect (menus filtered location=="footer")Which menu the footer shows. Usually the longer one — footers are where policies and secondary links live.
LayoutFooter Columnsnumeric display + navigate button (default 3)How many columns the footer splits into. More columns suit a lot of links; fewer read cleaner.
LayoutMobile Footer Layoutenum: columns | accordion | stack (default columns)Whether footer columns stack or collapse into accordions on a phone.
LayoutFooter Link Styleenum: underline | color-only | underline-on-hoverThe same choice for footer links.
LayoutFooter Background Color (swatch)color input type=color (default surface/#FFFFFF)A footer background different from the page.
LayoutFooter Background Color (hex text)string Input font-monoThe footer background as a hex code.
LayoutFooter Background Color resetbutton (sets undefined)Returns the footer to the theme default.
Brand ColumnShow Footer Logoboolean Switch (default true)Repeats your logo at the bottom of the page.
Brand ColumnShow Footer Taglineboolean Switch (default true)A one-line description under the footer logo.
Brand ColumnShow Footer Emailboolean Switch (default true)Shows a contact email in the footer. Worth having — buyers look for it before they use a form.
Brand ColumnShow Footer Phoneboolean Switch (default true)A phone number in the footer.
Brand ColumnShow Social Footerboolean SwitchYour social links in the footer.
NewsletterShow Newsletter Signupboolean Switch (default on unless false)Puts an email capture in the footer. The lowest-effort way to collect an audience from traffic that isn't ready to buy.
NewsletterNewsletter Headlinestring Input maxLength 120The prompt above the signup field. Say what they get, not "subscribe".
NewsletterNewsletter Subtitlestring Input maxLength 200A supporting line under the headline.
NewsletterNewsletter Button Labelstring Input maxLength 40The signup button wording. "Get the list" converts better than "Submit".
CopyrightCopyright Overridestring Input maxLength 200Replaces the automatic copyright line with your own wording.

17 controls in this group. Generated from the live theme-control matrix.

Announcement bar

The strip above the header, when you're running one.

GroupControlOptionsWhat it does
Enabled toggleboolean Switch (default false)Turns the strip above the header on. Best used for one thing at a time — a sale, a shipping cutoff.
Textstring InputWhat the bar says. Short enough to read at a glance on a phone.
Linkstring (LinkPicker component)Where the bar goes when tapped. A bar that says something is happening but isn't clickable frustrates people.
Background color (swatch)color Input type=color (default #FACC15)Pick the background colour visually.
Background color (hex text)string Input font-monoThe same background colour as a hex code, for matching an exact brand value.
Text color (swatch)color Input type=color (default #000000)Pick the text colour visually.
Text color (hex text)string Input font-monoThe same text colour as a hex code.
Text color resetbutton (sets textColor undefined)Returns text to the theme default, undoing a manual override.
Dismissible toggleboolean Switch (default true)Lets visitors close the announcement bar. Without it, the bar takes space on every page for everyone.

9 controls in this group. Generated from the live theme-control matrix.

Buttons, cards and inputs

The components buyers actually click and type into.

GroupControlOptionsWhat it does
ButtonButton shaperounded (6px) / sharp (0px) / pill (999px)Square, rounded or pill. Pills read consumer and friendly; squares read technical.
ButtonHover effectdarken / lift / scale / wiggle / fill-accentWhat a button or card does when the pointer is over it. On a phone nobody sees this — keep the resting state readable on its own.
ButtonShadownone / soft / soft-diffused / soft-hard / hard-offsetHow much a button lifts off the page.
ButtonText style (text-transform)none / uppercase / capitalizeWhether text renders as typed, uppercase, or title case.
CardCard styleshadow / border / flatWhether cards have a border, a shadow, or neither. Borderless cards need a background difference to read as separate.
CardCard shadownone / soft / soft-diffused / soft-hard / hard-offsetHow much cards lift off the page.
CardHover effectnone / lift / wiggle / rotateWhat a button or card does when the pointer is over it. On a phone nobody sees this — keep the resting state readable on its own.
CardProduct image shape (store-wide)theme / rounded / square / circle / domeSquare, portrait or landscape crops for every product image. Consistency matters more than the choice — mixed shapes make a grid look untidy.
Input Stylebordered/underline/filledHow form fields look — outlined, filled, or underlined. Outlined is the safest for making a field look like a field.
Input Focusborder-color/glow/float-labelWhat happens when someone taps into a field. A clear focus state is an accessibility requirement, not decoration.
Image Hovernone/zoom/fade-overlayWhat product images do on hover — zoom, lift, or nothing.

11 controls in this group. Generated from the live theme-control matrix.

Product page

Controls specific to how a single product is presented.

GroupControlOptionsWhat it does
Frequently BoughtSwitch (default ON)Shows products commonly bought alongside this one.
Co-PurchaseSwitch (default ON)Suggestions based on what other buyers purchased together.
Cross-SellSwitch (default ON)Related products you pick, rather than ones the system infers.
Cross-SellCross-Sell HeadingText input, maxLength 80The wording above cross-sell products. "You might also like" outperforms "Related products".
Recently ViewedSwitch (default ON)Shows products this visitor looked at earlier.
Recently ViewedRecently Viewed HeadingText input, maxLength 80The wording above the recently-viewed row.
Share Button/BarSwitch (default ON)Share controls on product pages.
LightboxSwitch (default ON)Whether tapping a product image opens it full-screen. Useful when detail sells the product.
BreadcrumbSwitch (default ON)Whether pages show a trail back to where they came from. Worth having on deep catalogues.
Product ReviewsSwitch (default ON)Whether reviews appear on the product page.
ReviewsReviews HeadingText input, maxLength 80The wording above customer reviews.

11 controls in this group. Generated from the live theme-control matrix.

Motion and decoration

Animation and the decorative touches on top.

GroupControlOptionsWhat it does
Transition Speedenum: snappy(150ms) | default(250ms) | gentle(400ms)How fast things move. Fast feels responsive; slow feels laboured, especially on repeat visits.
Scroll Animationenum: none | fade-up | slide-in | scale-upWhether sections animate in as you scroll to them. Effective once, tiring on a long page.
Motion PresetAnimation Style6 preset cards: subtle_elegant | energetic_bold | gentle_organic | snappy_modern | playful_bounce | dramatic_revealA preset that sets all motion at once. Subtle is right for most stores; anything stronger draws attention away from the products.
Motion Preset(preset writes) Motion Durationstring ms — from preset.entrance_duration_msSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Motion Easingstring easing — from preset.entrance_easingSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Hover Scalenumber — from preset.hover_scaleSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Hover Durationstring ms — from preset.hover_duration_msSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Stagger Delaystring ms — from preset.stagger_delay_msSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Entrance Distancestring px — from preset.entrance_distance_pxSet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Motion Preset(preset writes) Parallax Intensitynumber — from preset.parallax_intensitySet for you by the animation preset above. Change the preset rather than this value unless you need something specific.
Decorations Enabled (master)SwitchOne switch for all decorative flourishes. Off is a valid choice — decoration should earn its place.
Harmonize neutrals from brandSwitchTints greys toward your brand colour so the neutrals look chosen rather than default.
Paper Grain OpacitySlider 0–1, step 0.05, default 0.20How strong the paper texture is. Past about a third it starts to fight your text for attention.
Reset Decoration OverridesButton (action)Clears decoration changes without touching the rest of the theme.
[removed/moved]n/aNo longer in the editor — kept here only so an old screenshot or link still resolves.

15 controls in this group. Generated from the live theme-control matrix.