56. CSS Customization | Form Forge - Build Forms with AI in Seconds
Download Log in

56. CSS Customization

Developer Guide

Form Forge uses BEM-inspired naming with formforge- and ff- prefixes.

Key CSS Classes

ClassElement
.formforge-wrapOutermost form container
.formforge-formThe element
.formforge-fieldField wrapper div
.formforge-field--{type}Type-specific modifier
.formforge-labelField label
.formforge-inputText/email/number inputs
.formforge-textareaTextarea fields
.formforge-selectDropdown selects
.formforge-submit-btnSubmit button
.formforge-messageSuccess/error message
.formforge-stepMulti-step page container
.formforge-progressProgress bar container
.ff-conversationalConversational mode wrapper
.ff-conv-stepConversational step

CSS Custom Properties

css
#formforge-42 {
    --ff-accent: #3B82F6;
    --ff-accent-hover: #2563EB;
    --ff-radius: 10px;
    --ff-border-color: #e2e8f0;
    --ff-text-color: #1e293b;
    --ff-label-color: #334155;
    --ff-error-color: #ef4444;
    --ff-bg: #ffffff;
    --ff-input-bg: #f8fafc;
}

Builder Style Config

The no-code builder stores style choices in JSON and renders them as sanitized inline declarations. This is intentional: it lets a form created on one theme keep its exact previewed design when embedded on another page.

Field-level style shape:

json
{
  "styles": {
    "wrapper": { "background_color": "#fff7ed", "border_radius": 14, "padding": 18 },
    "label": { "font_size": 18, "text_color": "#7c2d12", "font_weight": "700" },
    "control": { "border_color": "#2563eb", "border_radius": 12, "custom_css": "letter-spacing: 1px;" },
    "description": { "text_color": "#047857" }
  }
}

Form-level style shape:

json
{
  "settings": {
    "styles": {
      "form": { "background_color": "#f1f5f9", "border_radius": 20, "padding": 28 },
      "submit": { "background_color": "#1d4ed8", "text_color": "#ffffff", "custom_css": "text-transform: uppercase;" },
      "message": { "background_color": "#d1fae5", "text_color": "#065f46" }
    }
  }
}

Custom CSS is declarations-only. Accepted declaration properties are letter-spacing, line-height, text-transform, text-align, and border-style. Values containing braces, HTML, @ rules, url(), expression(), javascript:, data:, or old IE behavior are discarded.

Responsive Override

css
@media (max-width: 640px) {
    .formforge-submit-btn {
        width: 100%;
    }
    .formforge-step-nav {
        flex-direction: column;
        gap: 8px;
    }
}

Forge AI Assistant Online

Hi! I'm the Form Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs