FP FormPing Documentation
Open Dashboard

04 — Customization · Themes

Theme it once, ship it everywhere.

The Form Builder's Design tab maps every visual control to a CSS variable on the rendered widget. Change a value, see it live, save when you're happy.

Available variables

These are the variables the widget reads. You set them in the Design tab; they're exposed here so you understand exactly what's being controlled.

.fp-form {
  /* Colors */
  --fp-color-primary:    #7c5cff;   /* buttons, focus rings, active states */
  --fp-color-text:       #14110a;   /* labels and input text */
  --fp-color-muted:      #6b6558;   /* placeholders, helper text */
  --fp-color-bg:         #ffffff;   /* form background */
  --fp-color-input-bg:   #f5f5f7;   /* input field background */
  --fp-color-border:     #e3e3e8;   /* input borders */
  --fp-color-error:      #d63b3b;   /* validation errors */
  --fp-color-success:    #1aa362;   /* success state */

  /* Typography */
  --fp-font:             system-ui, -apple-system, sans-serif;
  --fp-font-size:        16px;

  /* Shape */
  --fp-radius:           8px;
  --fp-radius-button:    8px;
  --fp-spacing:          14px;

  /* Buttons */
  --fp-btn-bg:           var(--fp-color-primary);
  --fp-btn-color:        #ffffff;
  --fp-btn-padding:      12px 22px;
}

Pasting a starter palette

Common starting points for the Design tab. Pick one, tweak the primary colour, ship.

Soft & modern

--fp-color-primary: #5b6cff;
--fp-color-bg: #ffffff;
--fp-color-input-bg: #f7f8fc;
--fp-color-border: #e6e8f0;
--fp-radius: 12px;

Warm editorial

--fp-color-primary: #c7491f;
--fp-color-bg: #faf6ef;
--fp-color-input-bg: #f3ecdc;
--fp-color-border: #d8ceb5;
--fp-radius: 4px;

Dark mode

--fp-color-primary: #c8ff3e;
--fp-color-text: #ede8dd;
--fp-color-bg: #0b0d10;
--fp-color-input-bg: #15191f;
--fp-color-border: #20262e;
--fp-radius: 8px;
i

Themes are saved per token, so you can ship a different look for each form on your site without forking anything.

Want to go further?

When the variables aren't enough, drop down to Custom CSS on a per-field basis.