{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://canvasly.pro/schema/sidcraft-document-2.8.schema.json",
 "title": "Sidcraft Page Builder document",
 "description": "One page layout, stored as JSON in the _sidsyn_document_data post meta. Saved templates use _sidsyn_template_data with the same format. Documentation: https://canvasly.pro/document-format.html",
 "x-version": "2.8",
 "x-plugin": "0.15.0",
 "x-storage": {
  "document": "_sidsyn_document_data",
  "hash": "_sidsyn_document_hash",
  "css_cache": "_sidsyn_css_cache",
  "autosave": "_sidsyn_autosave_data",
  "fallback_copy": "post_content (core blocks)",
  "original_backup": "_sidsyn_original_content"
 },
 "type": [
  "object",
  "array"
 ],
 "maxItems": 0,
 "required": [
  "version",
  "root"
 ],
 "properties": {
  "version": {
   "type": "string",
   "description": "Format version. Older documents are migrated on read; save() always writes the current one.",
   "examples": [
    "2.8"
   ]
  },
  "root": {
   "type": "array",
   "description": "The page body, top to bottom.",
   "items": {
    "$ref": "#/$defs/node"
   }
  },
  "header": {
   "type": "array",
   "description": "Page-specific header. Ignored while the theme provides its own header and footer.",
   "items": {
    "$ref": "#/$defs/node"
   }
  },
  "footer": {
   "type": "array",
   "description": "Page-specific footer. Same rule as header.",
   "items": {
    "$ref": "#/$defs/node"
   }
  },
  "settings": {
   "$ref": "#/$defs/page_settings"
  },
  "atomic": {
   "type": "boolean",
   "description": "Legacy flag kept by older documents."
  }
 },
 "additionalProperties": false,
 "$defs": {
  "shared_settings": {
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "description": "Settings every unit accepts (Style and Advanced tabs).",
   "properties": {
    "items_direction": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Direction"
    },
    "items_justify": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Justify Content"
    },
    "items_align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Align Items"
    },
    "items_gap": {
     "x-control": "gaps",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Gaps"
    },
    "items_flex_wrap": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Wrap"
    },
    "width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "%",
        "px",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "%",
         "px",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem",
        "auto"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem",
         "auto"
        ]
       }
      }
     ],
     "title": "Height"
    },
    "min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "margin": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Margin"
    },
    "padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "position": {
     "type": "string",
     "x-options": [
      "",
      "relative",
      "absolute",
      "fixed",
      "sticky"
     ],
     "x-control": "select",
     "title": "Position"
    },
    "top": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "em",
      "vh"
     ],
     "x-control": "slider",
     "title": "Top"
    },
    "right": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "em",
      "vw"
     ],
     "x-control": "slider",
     "title": "Right"
    },
    "bottom": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "em",
      "vh"
     ],
     "x-control": "slider",
     "title": "Bottom"
    },
    "left": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "em",
      "vw"
     ],
     "x-control": "slider",
     "title": "Left"
    },
    "z_index": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 9999,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Z-Index"
    },
    "overflow": {
     "type": "string",
     "x-options": [
      "",
      "visible",
      "hidden",
      "auto",
      "scroll"
     ],
     "x-control": "select",
     "title": "Overflow"
    },
    "display": {
     "type": "string",
     "x-options": [
      "",
      "block",
      "inline-block",
      "flex",
      "grid",
      "none"
     ],
     "x-control": "select",
     "title": "Display"
    },
    "visibility": {
     "type": "string",
     "x-options": [
      "",
      "visible",
      "hidden"
     ],
     "x-control": "select",
     "title": "Visibility"
    },
    "order": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Order"
    },
    "flex_grow": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 10,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Flex Grow"
    },
    "flex_shrink": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 10,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Flex Shrink"
    },
    "flex_basis": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Flex Basis"
    },
    "align_self": {
     "type": "string",
     "x-options": [
      "",
      "auto",
      "stretch",
      "flex-start",
      "center",
      "flex-end",
      "baseline"
     ],
     "x-control": "select",
     "title": "Align Self"
    },
    "justify_self": {
     "type": "string",
     "x-options": [
      "",
      "auto",
      "stretch",
      "start",
      "center",
      "end"
     ],
     "x-control": "select",
     "title": "Justify Self"
    },
    "grid_column_start": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 24,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Column Start"
    },
    "grid_column_span": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 24,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Column Span"
    },
    "grid_row_start": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 24,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Row Start"
    },
    "grid_row_span": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 24,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Row Span"
    },
    "hide_desktop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Desktop"
    },
    "hide_laptop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Laptop"
    },
    "hide_tablet_extra": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Tablet Extra"
    },
    "hide_tablet": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Tablet"
    },
    "hide_mobile_extra": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Mobile Extra"
    },
    "hide_mobile": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Mobile"
    },
    "hide_widescreen": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide On Widescreen"
    },
    "interaction": {
     "type": "string",
     "x-options": [
      "",
      "fade",
      "slide-up",
      "scale"
     ],
     "x-control": "select",
     "title": "Entrance Animation"
    },
    "interaction_trigger": {
     "type": "string",
     "x-options": [
      "viewport",
      "load",
      "hover",
      "click",
      "scroll",
      "focus"
     ],
     "x-control": "select",
     "title": "Trigger"
    },
    "interaction_duration": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 30,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Duration (s)"
    },
    "interaction_delay": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 30,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Delay (s)"
    },
    "interaction_easing": {
     "type": "string",
     "x-options": [
      "ease",
      "ease-in",
      "ease-out",
      "ease-in-out",
      "linear"
     ],
     "x-control": "select",
     "title": "Easing"
    },
    "interaction_threshold": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 1,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Viewport Threshold"
    },
    "interaction_repeat": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Repeat"
    },
    "opacity": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Opacity"
    },
    "transform": {
     "description": "Control type \"transform\". Stored as the control saves it (often an object).",
     "x-control": "transform",
     "title": "Transform"
    },
    "transition": {
     "description": "Control type \"transition\". Stored as the control saves it (often an object).",
     "x-control": "transition",
     "title": "Transition"
    },
    "filter": {
     "description": "Control type \"css_filter\". Stored as the control saves it (often an object).",
     "x-control": "css_filter",
     "title": "CSS Filter"
    },
    "mix_blend_mode": {
     "type": "string",
     "x-options": [
      "",
      "multiply",
      "screen",
      "overlay",
      "darken",
      "lighten",
      "color-dodge",
      "color-burn",
      "hard-light",
      "soft-light",
      "difference",
      "exclusion"
     ],
     "x-control": "select",
     "title": "Blend Mode"
    },
    "mask_shape": {
     "type": "string",
     "x-options": [
      "",
      "circle",
      "ellipse",
      "hexagon",
      "triangle",
      "diamond",
      "pill"
     ],
     "x-control": "select",
     "title": "Mask"
    },
    "cursor": {
     "type": "string",
     "x-options": [
      "",
      "default",
      "pointer",
      "move",
      "text",
      "not-allowed"
     ],
     "x-control": "select",
     "title": "Cursor"
    },
    "background": {
     "description": "Control type \"background\". Stored as the control saves it (often an object).",
     "x-control": "background",
     "title": "Background"
    },
    "background_image": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Background Image"
    },
    "background_size": {
     "type": "string",
     "x-options": [
      "",
      "cover",
      "contain",
      "auto"
     ],
     "x-control": "select",
     "title": "Background Size"
    },
    "background_position": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Background Position"
    },
    "background_repeat": {
     "type": "string",
     "x-options": [
      "",
      "no-repeat",
      "repeat",
      "repeat-x",
      "repeat-y"
     ],
     "x-control": "select",
     "title": "Background Repeat"
    },
    "background_overlay": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background Overlay"
    },
    "background_gradient": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Background Gradient"
    },
    "background_clip": {
     "type": "string",
     "x-options": [
      "",
      "border-box",
      "padding-box",
      "text"
     ],
     "x-control": "select",
     "title": "Background Clip"
    },
    "border_style": {
     "type": "string",
     "x-options": [
      "",
      "solid",
      "dashed",
      "dotted",
      "double"
     ],
     "x-control": "select",
     "title": "Border Style"
    },
    "border_width": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Width"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "border_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "button_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Button Radius"
    },
    "shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Box Shadow"
    },
    "css_id": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "CSS ID"
    },
    "css_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "CSS Classes"
    },
    "global_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Global Classes"
    },
    "aria_label": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "ARIA Label"
    },
    "xe_classes": {
     "description": "Control type \"xe_classes\". Stored as the control saves it (often an object).",
     "x-control": "xe_classes",
     "title": "Xe Classes"
    },
    "role": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Role"
    },
    "html_attributes": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Custom Attributes"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "font_family": {
     "description": "Control type \"font\". Stored as the control saves it (often an object).",
     "x-control": "font",
     "title": "Font Family"
    },
    "font_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Font Size"
    },
    "font_weight": {
     "type": "string",
     "x-options": [
      "",
      "100",
      "200",
      "300",
      "400",
      "500",
      "600",
      "700",
      "800",
      "900"
     ],
     "x-control": "select",
     "title": "Weight"
    },
    "font_style": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "italic",
      "oblique"
     ],
     "x-control": "select",
     "title": "Style"
    },
    "text_transform": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "uppercase",
      "lowercase",
      "capitalize"
     ],
     "x-control": "select",
     "title": "Transform"
    },
    "text_decoration": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "underline",
      "overline",
      "line-through"
     ],
     "x-control": "select",
     "title": "Decoration"
    },
    "line_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Line Height"
    },
    "letter_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Letter Spacing"
    },
    "text_shadow": {
     "description": "Control type \"text_shadow\". Stored as the control saves it (often an object).",
     "x-control": "text_shadow",
     "title": "Text Shadow"
    },
    "class_mode": {
     "type": "string",
     "x-options": [
      "inline",
      "class-first"
     ],
     "x-control": "select",
     "title": "Class Mode"
    },
    "variable_ref": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Variable Ref"
    },
    "typography_global": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Typography Global"
    },
    "border_top_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Top Width"
    },
    "border_right_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Right Width"
    },
    "border_bottom_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Bottom Width"
    },
    "border_left_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Left Width"
    },
    "border_top_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Top Color"
    },
    "border_right_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Right Color"
    },
    "border_bottom_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Bottom Color"
    },
    "border_left_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Left Color"
    },
    "border_top_style": {
     "type": "string",
     "x-control": "select",
     "title": "Border Top Style"
    },
    "border_right_style": {
     "type": "string",
     "x-control": "select",
     "title": "Border Right Style"
    },
    "border_bottom_style": {
     "type": "string",
     "x-control": "select",
     "title": "Border Bottom Style"
    },
    "border_left_style": {
     "type": "string",
     "x-control": "select",
     "title": "Border Left Style"
    },
    "box_shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Box Shadow"
    },
    "object_fit": {
     "type": "string",
     "x-control": "select",
     "title": "Object Fit"
    },
    "object_position": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Object Position"
    },
    "dynamic_source": {
     "type": "string",
     "x-control": "select",
     "title": "Dynamic Source"
    },
    "dynamic_key": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Dynamic Key"
    },
    "dynamic_meta_key": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Dynamic Meta Key"
    }
   },
   "additionalProperties": true
  },
  "page_settings": {
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "properties": {
    "title": {
     "type": "string"
    },
    "template": {
     "type": "string",
     "enum": [
      "default",
      "full_width",
      "canvas"
     ]
    },
    "body_class": {
     "type": "string"
    },
    "page_width": {
     "type": "string",
     "description": "CSS length, e.g. 1140px."
    }
   },
   "additionalProperties": {
    "type": [
     "boolean",
     "number"
    ]
   },
   "description": "Other keys must be booleans or numbers."
  },
  "editor_settings": {
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "description": "Editor-only state. Never affects what visitors see.",
   "properties": {
    "label": {
     "type": "string",
     "maxLength": 80,
     "description": "Name shown in the Navigator."
    },
    "hidden": {
     "type": "boolean",
     "description": "Hidden on the editor canvas only."
    },
    "locked": {
     "type": "boolean",
     "description": "Locked in the editor (with everything inside it)."
    }
   },
   "additionalProperties": {
    "type": [
     "boolean",
     "number",
     "string"
    ]
   }
  },
  "interaction": {
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "description": "Motion: entrance/exit/hover/scroll effect.",
   "properties": {
    "id": {
     "type": "string"
    },
    "kind": {
     "type": "string"
    },
    "trigger": {
     "type": "string"
    },
    "effect": {
     "type": "string"
    },
    "duration": {
     "type": "number",
     "minimum": 0,
     "maximum": 30
    },
    "delay": {
     "type": "number",
     "minimum": 0,
     "maximum": 30
    },
    "easing": {
     "type": "string"
    },
    "iteration": {
     "type": "integer",
     "minimum": 1,
     "maximum": 20
    },
    "repeat": {
     "type": "boolean"
    },
    "threshold": {
     "type": "number",
     "minimum": 0,
     "maximum": 1
    }
   },
   "additionalProperties": true
  },
  "node": {
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "required": [
    "type"
   ],
   "properties": {
    "id": {
     "type": "string",
     "pattern": "^[A-Za-z0-9_-]{1,40}$",
     "description": "Stable ID, unique in the document. Generated when missing. Used for CSS (#lb-node-{id}) and anchors."
    },
    "type": {
     "type": "string",
     "enum": [
      "accordion",
      "alert",
      "audio",
      "button",
      "carousel",
      "code",
      "collection_loop",
      "component",
      "container",
      "counter",
      "divider",
      "embed",
      "flip_box",
      "form",
      "gallery",
      "google_maps",
      "grid",
      "heading",
      "html",
      "icon",
      "icon_box",
      "icon_list",
      "image",
      "image_box",
      "inner_section",
      "link_in_bio",
      "login",
      "menu_anchor",
      "nested_accordion",
      "nested_tabs",
      "nested_toggle",
      "price_table",
      "progress",
      "rating",
      "read_more",
      "shortcode",
      "sidebar",
      "site_nav",
      "social",
      "soundcloud",
      "spacer",
      "star_rating",
      "tabs",
      "template",
      "testimonial",
      "text",
      "text_path",
      "tinymce_text_editor",
      "toggle",
      "turnstile",
      "video",
      "wordpress_widget",
      "xe_button",
      "xe_div_block",
      "xe_flexbox",
      "xe_grid",
      "xe_heading",
      "xe_image",
      "xe_loop",
      "xe_loop_item",
      "xe_loop_layout",
      "xe_paragraph"
     ],
     "description": "Registered unit type. Nodes of unknown types are dropped on save."
    },
    "atomic": {
     "type": "boolean",
     "description": "XEditor element (prints one HTML element, styled by classes)."
    },
    "settings": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Control values. See $defs/settings_{type}."
    },
    "styles": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "properties": {
      "base": {
       "type": [
        "object",
        "array"
       ],
       "maxItems": 0,
       "description": "CSS property => value for this state (XEditor style layer).",
       "additionalProperties": true
      },
      "hover": {
       "type": [
        "object",
        "array"
       ],
       "maxItems": 0,
       "description": "CSS property => value for this state (XEditor style layer).",
       "additionalProperties": true
      },
      "focus": {
       "type": [
        "object",
        "array"
       ],
       "maxItems": 0,
       "description": "CSS property => value for this state (XEditor style layer).",
       "additionalProperties": true
      },
      "active": {
       "type": [
        "object",
        "array"
       ],
       "maxItems": 0,
       "description": "CSS property => value for this state (XEditor style layer).",
       "additionalProperties": true
      },
      "focus_visible": {
       "type": [
        "object",
        "array"
       ],
       "maxItems": 0,
       "description": "CSS property => value for this state (XEditor style layer).",
       "additionalProperties": true
      }
     },
     "additionalProperties": false
    },
    "interactions": {
     "type": "array",
     "items": {
      "$ref": "#/$defs/interaction"
     }
    },
    "editor_settings": {
     "$ref": "#/$defs/editor_settings"
    },
    "children": {
     "type": "array",
     "description": "Only for types with x-children true.",
     "items": {
      "$ref": "#/$defs/node"
     }
    },
    "slot": {
     "type": "string",
     "description": "For children of slotted units (Nested Tabs, Nested Accordion): the repeater row _id this child belongs to."
    },
    "exposed": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "description": "Component instances: settings exposed for overrides."
    }
   },
   "allOf": [
    {
     "if": {
      "properties": {
       "type": {
        "const": "container"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_container"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "inner_section"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_inner_section"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "grid"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_grid"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "heading"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_heading"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "text"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_text"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "image"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_image"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "button"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_button"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "divider"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_divider"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "spacer"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_spacer"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "icon"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_icon"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "icon_list"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_icon_list"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "image_box"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_image_box"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "progress"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_progress"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "counter"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_counter"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "alert"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_alert"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "html"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_html"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "embed"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_embed"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "shortcode"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_shortcode"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "video"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_video"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "accordion"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_accordion"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "toggle"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_toggle"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "tabs"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_tabs"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "nested_tabs"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_nested_tabs"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "nested_accordion"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_nested_accordion"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "nested_toggle"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_nested_toggle"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "social"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_social"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "gallery"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_gallery"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "carousel"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_carousel"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "star_rating"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_star_rating"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "testimonial"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_testimonial"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "menu_anchor"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_menu_anchor"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "site_nav"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_site_nav"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "read_more"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_read_more"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "soundcloud"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_soundcloud"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "audio"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_audio"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "google_maps"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_google_maps"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "sidebar"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_sidebar"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "wordpress_widget"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_wordpress_widget"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "link_in_bio"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_link_in_bio"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "rating"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_rating"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "icon_box"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_icon_box"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "text_path"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_text_path"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "code"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_code"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "price_table"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_price_table"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "flip_box"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_flip_box"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "login"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_login"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "collection_loop"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_collection_loop"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "template"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_template"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "component"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_component"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "form"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_form"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "tinymce_text_editor"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_tinymce_text_editor"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_div_block"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_div_block"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_flexbox"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_flexbox"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_grid"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_grid"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_heading"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_heading"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_paragraph"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_paragraph"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_image"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_image"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_button"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_button"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_loop"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_loop"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_loop_layout"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_loop_layout"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "xe_loop_item"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_xe_loop_item"
       }
      }
     }
    },
    {
     "if": {
      "properties": {
       "type": {
        "const": "turnstile"
       }
      },
      "required": [
       "type"
      ]
     },
     "then": {
      "properties": {
       "settings": {
        "$ref": "#/$defs/settings_turnstile"
       }
      }
     }
    }
   ],
   "additionalProperties": false
  },
  "settings_container": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Container",
   "properties": {
    "gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Gap"
    },
    "gaps": {
     "description": "Control type \"gaps\". Stored as the control saves it (often an object).",
     "x-control": "gaps",
     "title": "Gaps"
    },
    "column_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "row_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Row Gap"
    },
    "direction": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Direction"
    },
    "justify": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Justify Content"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Align Items"
    },
    "items_gap": {
     "x-control": "gaps",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Gaps"
    },
    "wrap": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Wrap"
    },
    "items_direction": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Direction"
    },
    "items_justify": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Justify"
    },
    "items_align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Align"
    },
    "items_flex_wrap": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Flex Wrap"
    },
    "layout": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Layout"
    },
    "columns": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 12,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Columns"
    },
    "overflow": {
     "type": "string",
     "x-options": [
      "",
      "visible",
      "hidden",
      "auto",
      "scroll"
     ],
     "x-control": "select",
     "title": "Overflow"
    },
    "html_tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "header",
      "footer",
      "main",
      "article",
      "aside",
      "nav"
     ],
     "x-control": "select",
     "title": "HTML Tag"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "%",
        "px",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "%",
         "px",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "background": {
     "description": "Control type \"background\". Stored as the control saves it (often an object).",
     "x-control": "background",
     "title": "Background"
    },
    "padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "margin": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Margin"
    },
    "overlay_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Overlay Color"
    },
    "overlay_opacity": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Overlay Opacity"
    },
    "overlay_blend_mode": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "multiply",
      "screen",
      "overlay",
      "darken",
      "lighten",
      "color-dodge",
      "color-burn",
      "hard-light",
      "soft-light",
      "difference",
      "exclusion",
      "hue",
      "saturation",
      "color",
      "luminosity"
     ],
     "x-control": "select",
     "title": "Blend Mode"
    },
    "background_video": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Background Video"
    },
    "background_video_start": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 36000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Video Start"
    },
    "background_video_end": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 36000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Video End"
    },
    "background_video_poster": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Video Poster"
    },
    "background_video_loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Loop Video"
    },
    "background_video_mobile": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Play Video on Mobile"
    },
    "shape_top": {
     "type": "string",
     "x-options": [
      "",
      "wave",
      "tilt",
      "triangle",
      "curve",
      "arrow",
      "zigzag",
      "mountains"
     ],
     "x-control": "select",
     "title": "Top Shape"
    },
    "shape_top_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Top Shape Color"
    },
    "shape_top_height": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "vh",
      "%"
     ],
     "x-control": "slider",
     "title": "Top Shape Height"
    },
    "shape_top_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Top Shape Width"
    },
    "shape_top_flip": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Flip Top Shape"
    },
    "shape_top_front": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Bring Top Shape Front"
    },
    "shape_bottom": {
     "type": "string",
     "x-options": [
      "",
      "wave",
      "tilt",
      "triangle",
      "curve",
      "arrow",
      "zigzag",
      "mountains"
     ],
     "x-control": "select",
     "title": "Bottom Shape"
    },
    "shape_bottom_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Bottom Shape Color"
    },
    "shape_bottom_height": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "vh",
      "%"
     ],
     "x-control": "slider",
     "title": "Bottom Shape Height"
    },
    "shape_bottom_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Bottom Shape Width"
    },
    "shape_bottom_flip": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Flip Bottom Shape"
    },
    "shape_bottom_front": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Bring Bottom Shape Front"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_inner_section": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Inner Section",
   "properties": {
    "gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Gap"
    },
    "gaps": {
     "description": "Control type \"gaps\". Stored as the control saves it (often an object).",
     "x-control": "gaps",
     "title": "Gaps"
    },
    "column_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "row_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Row Gap"
    },
    "direction": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Direction"
    },
    "justify": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Justify Content"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Align Items"
    },
    "items_gap": {
     "x-control": "gaps",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"gaps\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Gaps"
    },
    "wrap": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Wrap"
    },
    "items_direction": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Direction"
    },
    "items_justify": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Justify"
    },
    "items_align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Align"
    },
    "items_flex_wrap": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Items Flex Wrap"
    },
    "layout": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Layout"
    },
    "columns": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 12,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Columns"
    },
    "overflow": {
     "type": "string",
     "x-options": [
      "",
      "visible",
      "hidden",
      "auto",
      "scroll"
     ],
     "x-control": "select",
     "title": "Overflow"
    },
    "html_tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "header",
      "footer",
      "main",
      "article",
      "aside",
      "nav"
     ],
     "x-control": "select",
     "title": "HTML Tag"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "%",
        "px",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "%",
         "px",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "background": {
     "description": "Control type \"background\". Stored as the control saves it (often an object).",
     "x-control": "background",
     "title": "Background"
    },
    "padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "margin": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Margin"
    },
    "overlay_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Overlay Color"
    },
    "overlay_opacity": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Overlay Opacity"
    },
    "overlay_blend_mode": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "multiply",
      "screen",
      "overlay",
      "darken",
      "lighten",
      "color-dodge",
      "color-burn",
      "hard-light",
      "soft-light",
      "difference",
      "exclusion",
      "hue",
      "saturation",
      "color",
      "luminosity"
     ],
     "x-control": "select",
     "title": "Blend Mode"
    },
    "background_video": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Background Video"
    },
    "background_video_start": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 36000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Video Start"
    },
    "background_video_end": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 36000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Video End"
    },
    "background_video_poster": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Video Poster"
    },
    "background_video_loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Loop Video"
    },
    "background_video_mobile": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Play Video on Mobile"
    },
    "shape_top": {
     "type": "string",
     "x-options": [
      "",
      "wave",
      "tilt",
      "triangle",
      "curve",
      "arrow",
      "zigzag",
      "mountains"
     ],
     "x-control": "select",
     "title": "Top Shape"
    },
    "shape_top_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Top Shape Color"
    },
    "shape_top_height": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "vh",
      "%"
     ],
     "x-control": "slider",
     "title": "Top Shape Height"
    },
    "shape_top_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Top Shape Width"
    },
    "shape_top_flip": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Flip Top Shape"
    },
    "shape_top_front": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Bring Top Shape Front"
    },
    "shape_bottom": {
     "type": "string",
     "x-options": [
      "",
      "wave",
      "tilt",
      "triangle",
      "curve",
      "arrow",
      "zigzag",
      "mountains"
     ],
     "x-control": "select",
     "title": "Bottom Shape"
    },
    "shape_bottom_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Bottom Shape Color"
    },
    "shape_bottom_height": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "vh",
      "%"
     ],
     "x-control": "slider",
     "title": "Bottom Shape Height"
    },
    "shape_bottom_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Bottom Shape Width"
    },
    "shape_bottom_flip": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Flip Bottom Shape"
    },
    "shape_bottom_front": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Bring Bottom Shape Front"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_grid": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Grid",
   "properties": {
    "columns": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Columns"
    },
    "rows": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Rows"
    },
    "grid_template_columns": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Grid Template Columns"
    },
    "grid_template_rows": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Grid Template Rows"
    },
    "column_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Column Gap"
    },
    "row_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Row Gap"
    },
    "auto_flow": {
     "type": "string",
     "x-control": "select",
     "title": "Auto Flow"
    },
    "align": {
     "type": "string",
     "x-control": "select",
     "title": "Align"
    },
    "justify": {
     "type": "string",
     "x-control": "select",
     "title": "Justify"
    },
    "min_column": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Min Column"
    },
    "min_row": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Min Row"
    },
    "min_height": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Min Height"
    },
    "grid_auto_columns": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Grid Auto Columns"
    },
    "grid_auto_rows": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Grid Auto Rows"
    },
    "show_outline": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Outline"
    },
    "width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Width"
    },
    "grid_auto_flow": {
     "type": "string",
     "x-control": "select",
     "title": "Grid Auto Flow"
    },
    "grid_auto_flow_dense": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Grid Auto Flow Dense"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_heading": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Heading",
   "properties": {
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Title"
    },
    "tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "HTML Tag"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "size_preset": {
     "type": "string",
     "x-options": [
      "default",
      "small",
      "medium",
      "large",
      "xl",
      "xxl"
     ],
     "x-control": "select",
     "title": "Size"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "font_family": {
     "description": "Control type \"font\". Stored as the control saves it (often an object).",
     "x-control": "font",
     "title": "Font Family"
    },
    "size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "weight": {
     "type": "string",
     "x-options": [
      "",
      "100",
      "200",
      "300",
      "400",
      "500",
      "600",
      "700",
      "800",
      "900"
     ],
     "x-control": "select",
     "title": "Weight"
    },
    "font_style": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "italic",
      "oblique"
     ],
     "x-control": "select",
     "title": "Style"
    },
    "text_transform": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "uppercase",
      "lowercase",
      "capitalize"
     ],
     "x-control": "select",
     "title": "Transform"
    },
    "text_decoration": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "underline",
      "overline",
      "line-through"
     ],
     "x-control": "select",
     "title": "Decoration"
    },
    "line_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Line Height"
    },
    "letter_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Letter Spacing"
    },
    "text_shadow": {
     "description": "Control type \"text_shadow\". Stored as the control saves it (often an object).",
     "x-control": "text_shadow",
     "title": "Text Shadow"
    },
    "mix_blend_mode": {
     "type": "string",
     "x-options": [
      "",
      "multiply",
      "screen",
      "overlay",
      "darken",
      "lighten",
      "color-dodge",
      "color-burn",
      "difference"
     ],
     "x-control": "select",
     "title": "Blend Mode"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "hover_text_shadow": {
     "description": "Control type \"text_shadow\". Stored as the control saves it (often an object).",
     "x-control": "text_shadow",
     "title": "Text Shadow"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_text": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Text Editor",
   "properties": {
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Text"
    },
    "drop_cap": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Drop Cap"
    },
    "drop_cap_view": {
     "type": "string",
     "x-options": [
      "default",
      "stacked",
      "framed"
     ],
     "x-control": "select",
     "title": "View"
    },
    "text_columns": {
     "type": "string",
     "x-options": [
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "10"
     ],
     "x-control": "select",
     "title": "Columns"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "font_family": {
     "description": "Control type \"font\". Stored as the control saves it (often an object).",
     "x-control": "font",
     "title": "Font Family"
    },
    "font_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "weight": {
     "type": "string",
     "x-options": [
      "",
      "100",
      "200",
      "300",
      "400",
      "500",
      "600",
      "700",
      "800",
      "900"
     ],
     "x-control": "select",
     "title": "Weight"
    },
    "font_style": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "italic",
      "oblique"
     ],
     "x-control": "select",
     "title": "Style"
    },
    "text_transform": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "uppercase",
      "lowercase",
      "capitalize"
     ],
     "x-control": "select",
     "title": "Transform"
    },
    "text_decoration": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "underline",
      "overline",
      "line-through"
     ],
     "x-control": "select",
     "title": "Decoration"
    },
    "line_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Line Height"
    },
    "letter_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Letter Spacing"
    },
    "text_shadow": {
     "description": "Control type \"text_shadow\". Stored as the control saves it (often an object).",
     "x-control": "text_shadow",
     "title": "Text Shadow"
    },
    "paragraph_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Paragraph Spacing"
    },
    "column_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "link_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Link Color"
    },
    "link_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Link Hover Color"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "hover_text_shadow": {
     "description": "Control type \"text_shadow\". Stored as the control saves it (often an object).",
     "x-control": "text_shadow",
     "title": "Text Shadow"
    },
    "drop_cap_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Primary Color"
    },
    "drop_cap_secondary_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Secondary Color"
    },
    "drop_cap_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "drop_cap_space": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Spacing"
    },
    "drop_cap_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Radius"
    },
    "drop_cap_border_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Border Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_image": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Image",
   "properties": {
    "image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Choose Image"
    },
    "image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Image URL"
    },
    "image_size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "medium_large",
      "large",
      "1536x1536",
      "2048x2048",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "link_to": {
     "type": "string",
     "x-options": [
      "none",
      "file",
      "custom"
     ],
     "x-control": "select",
     "title": "Link"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Custom URL"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "lightbox": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lightbox"
    },
    "caption_type": {
     "type": "string",
     "x-options": [
      "none",
      "custom",
      "attachment"
     ],
     "x-control": "select",
     "title": "Caption"
    },
    "caption": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Caption Text"
    },
    "alt": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Alt Text"
    },
    "loading": {
     "type": "string",
     "x-options": [
      "lazy",
      "eager",
      "auto"
     ],
     "x-control": "select",
     "title": "Lazy Load"
    },
    "decoding": {
     "type": "string",
     "x-options": [
      "async",
      "sync",
      "auto"
     ],
     "x-control": "select",
     "title": "Decoding"
    },
    "fetchpriority": {
     "type": "string",
     "x-options": [
      "auto",
      "high",
      "low"
     ],
     "x-control": "select",
     "title": "Fetch Priority"
    },
    "alignment": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "align_self": {
     "type": "string",
     "x-options": [
      "start",
      "center",
      "end",
      "stretch"
     ],
     "x-control": "select",
     "title": "Vertical Align"
    },
    "width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "%",
        "px",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "%",
         "px",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem",
        "auto"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem",
         "auto"
        ]
       }
      }
     ],
     "title": "Height"
    },
    "object_fit": {
     "type": "string",
     "x-options": [
      "cover",
      "contain",
      "fill",
      "none",
      "scale-down"
     ],
     "x-control": "select",
     "title": "Object Fit"
    },
    "object_position": {
     "type": "string",
     "x-options": [
      "center",
      "top",
      "right",
      "bottom",
      "left",
      "top left",
      "top right",
      "bottom left",
      "bottom right"
     ],
     "x-control": "select",
     "title": "Object Position"
    },
    "opacity": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Opacity"
    },
    "filter": {
     "description": "Control type \"css_filter\". Stored as the control saves it (often an object).",
     "x-control": "css_filter",
     "title": "CSS Filter"
    },
    "image_hover_opacity": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Opacity"
    },
    "hover_filter": {
     "description": "Control type \"css_filter\". Stored as the control saves it (often an object).",
     "x-control": "css_filter",
     "title": "CSS Filter"
    },
    "hover_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "hover_shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "hover_animation": {
     "type": "string",
     "x-options": [
      "",
      "zoom",
      "grow",
      "shrink",
      "lift",
      "sink",
      "fade",
      "rotate",
      "float",
      "pulse",
      "skew",
      "wobble",
      "buzz"
     ],
     "x-control": "select",
     "title": "Hover Animation"
    },
    "hover_transition": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "s",
      "ms"
     ],
     "x-control": "slider",
     "title": "Transition Duration"
    },
    "border_style": {
     "type": "string",
     "x-options": [
      "",
      "solid",
      "dashed",
      "dotted",
      "double"
     ],
     "x-control": "select",
     "title": "Border Style"
    },
    "border_width": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Width"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "border_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Radius"
    },
    "shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "caption_align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "caption_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "caption_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "caption_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Spacing"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_button": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Button",
   "properties": {
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Text"
    },
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Open In"
    },
    "button_type": {
     "type": "string",
     "x-options": [
      "default",
      "info",
      "success",
      "warning",
      "danger"
     ],
     "x-control": "select",
     "title": "Type"
    },
    "size": {
     "type": "string",
     "x-options": [
      "xs",
      "small",
      "medium",
      "large",
      "xl"
     ],
     "x-control": "select",
     "title": "Size"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "icon_placement": {
     "type": "string",
     "x-options": [
      "before",
      "after"
     ],
     "x-control": "select",
     "title": "Icon Position"
    },
    "button_id": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Button ID"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background Color"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "icon_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Icon Spacing"
    },
    "icon_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Icon Size"
    },
    "padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "radius": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em"
        ]
       }
      }
     ],
     "title": "Border Radius"
    },
    "border_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Border Width"
    },
    "border_style": {
     "type": "string",
     "x-options": [
      "",
      "solid",
      "dashed",
      "dotted",
      "double"
     ],
     "x-control": "select",
     "title": "Border Style"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background Color"
    },
    "hover_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "hover_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "hover_shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "hover_animation": {
     "type": "string",
     "x-options": [
      "",
      "zoom",
      "grow",
      "shrink",
      "lift",
      "sink",
      "fade",
      "rotate",
      "float",
      "pulse",
      "skew",
      "wobble",
      "buzz"
     ],
     "x-control": "select",
     "title": "Hover Animation"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_divider": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Divider",
   "properties": {
    "style": {
     "type": "string",
     "x-control": "select",
     "title": "Style"
    },
    "divider_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Divider Width"
    },
    "align": {
     "type": "string",
     "x-control": "select",
     "title": "Align"
    },
    "thickness": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Thickness"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "divider_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Divider Gap"
    },
    "pattern_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Pattern Size"
    },
    "look": {
     "type": "string",
     "x-control": "select",
     "title": "Look"
    },
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Text"
    },
    "text_tag": {
     "type": "string",
     "x-control": "select",
     "title": "Text Tag"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "unit_align": {
     "type": "string",
     "x-control": "select",
     "title": "Unit Align"
    },
    "unit_spacing": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Unit Spacing"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "icon_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Size"
    },
    "icon_view": {
     "type": "string",
     "x-control": "select",
     "title": "Icon View"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_spacer": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Spacer",
   "properties": {
    "height": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Height"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_icon": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Icon",
   "properties": {
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "icon_view": {
     "type": "string",
     "x-options": [
      "default",
      "stacked",
      "framed"
     ],
     "x-control": "select",
     "title": "View"
    },
    "shape": {
     "type": "string",
     "x-options": [
      "circle",
      "rounded",
      "square"
     ],
     "x-control": "select",
     "title": "Shape"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Primary Color"
    },
    "secondary_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Secondary Color"
    },
    "rotate": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "deg"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "deg"
        ]
       }
      }
     ],
     "title": "Rotate"
    },
    "icon_padding": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Icon Padding"
    },
    "icon_border_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px"
        ]
       }
      }
     ],
     "title": "Icon Border"
    },
    "icon_radius": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%"
        ]
       }
      }
     ],
     "title": "Icon Radius"
    },
    "shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Primary Color"
    },
    "hover_secondary_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Secondary Color"
    },
    "hover_shadow": {
     "description": "Control type \"box_shadow\". Stored as the control saves it (often an object).",
     "x-control": "box_shadow",
     "title": "Shadow"
    },
    "hover_animation": {
     "type": "string",
     "x-options": [
      "",
      "zoom",
      "grow",
      "shrink",
      "lift",
      "sink",
      "fade",
      "rotate",
      "float",
      "pulse",
      "skew",
      "wobble",
      "buzz"
     ],
     "x-control": "select",
     "title": "Hover Animation"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_icon_list": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Icon List",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "text": {
        "type": "string",
        "contentMediaType": "text/html",
        "description": "HTML limited to what wp_kses_post() allows.",
        "x-control": "wysiwyg",
        "title": "Text"
       },
       "icon": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "icon",
        "title": "Icon"
       },
       "url": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "Link"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Items"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Default Icon"
    },
    "list_layout": {
     "type": "string",
     "x-options": [
      "traditional",
      "inline"
     ],
     "x-control": "select",
     "title": "Layout"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "icon_align": {
     "type": "string",
     "x-options": [
      "left",
      "center",
      "right"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "divider": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Divider"
    },
    "space_between": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Space Between"
    },
    "icon_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Size"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "icon_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Hover"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "text_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Hover"
    },
    "text_indent": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Text Indent"
    },
    "divider_style": {
     "type": "string",
     "x-options": [
      "solid",
      "double",
      "dotted",
      "dashed"
     ],
     "x-control": "select",
     "title": "Style"
    },
    "divider_weight": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Weight"
    },
    "divider_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "divider_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_image_box": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Image Box",
   "properties": {
    "image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Image Id"
    },
    "image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Image Url"
    },
    "image_size": {
     "type": "string",
     "x-control": "select",
     "title": "Image Size"
    },
    "alt": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Alt"
    },
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "title_tag": {
     "type": "string",
     "x-control": "select",
     "title": "Title Tag"
    },
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Text"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-control": "select",
     "title": "Link Target"
    },
    "box_layout": {
     "type": "string",
     "x-control": "select",
     "title": "Box Layout"
    },
    "content_align": {
     "type": "string",
     "x-control": "select",
     "title": "Content Align"
    },
    "vertical_align": {
     "type": "string",
     "x-control": "select",
     "title": "Vertical Align"
    },
    "image_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Image Width"
    },
    "image_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Image Space"
    },
    "title_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Title Space"
    },
    "image_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Image Radius"
    },
    "image_opacity": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Image Opacity"
    },
    "image_hover_opacity": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Image Hover Opacity"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "title_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Hover Color"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "hover_animation": {
     "type": "string",
     "x-control": "select",
     "title": "Hover Animation"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_progress": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Progress Bar",
   "properties": {
    "label": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Label"
    },
    "title_tag": {
     "type": "string",
     "x-control": "select",
     "title": "Title Tag"
    },
    "value": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Value"
    },
    "bar_style": {
     "type": "string",
     "x-control": "select",
     "title": "Bar Style"
    },
    "show_percentage": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Percentage"
    },
    "inner_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Inner Text"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "bar_height": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Bar Height"
    },
    "bar_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Bar Radius"
    },
    "inner_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Inner Color"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_counter": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Counter",
   "properties": {
    "start": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Start"
    },
    "number": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Number"
    },
    "prefix": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Prefix"
    },
    "suffix": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Suffix"
    },
    "duration": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Duration"
    },
    "thousand_separator": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Thousand Separator"
    },
    "separator_char": {
     "type": "string",
     "x-control": "select",
     "title": "Separator Char"
    },
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "title_tag": {
     "type": "string",
     "x-control": "select",
     "title": "Title Tag"
    },
    "title_position": {
     "type": "string",
     "x-control": "select",
     "title": "Title Position"
    },
    "align": {
     "type": "string",
     "x-control": "select",
     "title": "Align"
    },
    "number_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Number Color"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "number_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Number Size"
    },
    "title_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Title Gap"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_alert": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Alert",
   "properties": {
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Text"
    },
    "type": {
     "type": "string",
     "x-control": "select",
     "title": "Type"
    },
    "dismissible": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Dismissible"
    },
    "dismiss_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Dismiss Icon"
    },
    "background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "dismiss_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Dismiss Color"
    },
    "dismiss_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Dismiss Size"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_html": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "HTML",
   "properties": {
    "html": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "code",
     "title": "Html"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_embed": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Embed",
   "properties": {
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "URL"
    },
    "aspect_ratio": {
     "type": "string",
     "x-options": [
      "",
      "16:9",
      "21:9",
      "4:3",
      "1:1",
      "9:16"
     ],
     "x-control": "select",
     "title": "Aspect Ratio"
    },
    "max_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "vw"
     ],
     "x-control": "slider",
     "title": "Max Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_shortcode": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Shortcode",
   "properties": {
    "shortcode": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Shortcode"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_video": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Video",
   "properties": {
    "source": {
     "type": "string",
     "x-control": "select",
     "title": "Source"
    },
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Url"
    },
    "start": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Start"
    },
    "end": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "End"
    },
    "autoplay": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Autoplay"
    },
    "play_on_mobile": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Play On Mobile"
    },
    "mute": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Mute"
    },
    "loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Loop"
    },
    "controls": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Controls"
    },
    "show_related": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Related"
    },
    "privacy_mode": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Privacy Mode"
    },
    "lazy_load": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lazy Load"
    },
    "preload": {
     "type": "string",
     "x-control": "select",
     "title": "Preload"
    },
    "download_button": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Download Button"
    },
    "poster_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Poster Id"
    },
    "poster_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Poster Url"
    },
    "show_overlay": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Overlay"
    },
    "overlay_image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Overlay Image Id"
    },
    "overlay_image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Overlay Image Url"
    },
    "show_play_icon": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Play Icon"
    },
    "play_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Play Icon"
    },
    "play_icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Play Icon Color"
    },
    "play_icon_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Play Icon Size"
    },
    "lightbox": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lightbox"
    },
    "aspect_ratio": {
     "type": "string",
     "x-control": "select",
     "title": "Aspect Ratio"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_accordion": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Accordion",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "content": {
        "type": "string",
        "contentMediaType": "text/html",
        "description": "HTML limited to what wp_kses_post() allows.",
        "x-control": "wysiwyg",
        "title": "Content"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Items"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "active_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Active Icon"
    },
    "icon_position": {
     "type": "string",
     "x-options": [
      "left",
      "right"
     ],
     "x-control": "select",
     "title": "Icon Position"
    },
    "first_open": {
     "type": "boolean",
     "x-control": "switch",
     "title": "First Item Opened"
    },
    "faq_schema": {
     "type": "boolean",
     "x-control": "switch",
     "title": "FAQ Schema"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "title_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "title_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "icon_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "icon_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Spacing"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Width"
    },
    "space_between": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Space Between"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_toggle": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Toggle",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "content": {
        "type": "string",
        "contentMediaType": "text/html",
        "description": "HTML limited to what wp_kses_post() allows.",
        "x-control": "wysiwyg",
        "title": "Content"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Items"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "active_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Active Icon"
    },
    "icon_position": {
     "type": "string",
     "x-options": [
      "left",
      "right"
     ],
     "x-control": "select",
     "title": "Icon Position"
    },
    "first_open": {
     "type": "boolean",
     "x-control": "switch",
     "title": "First Item Opened"
    },
    "faq_schema": {
     "type": "boolean",
     "x-control": "switch",
     "title": "FAQ Schema"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "title_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "title_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "icon_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "icon_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Spacing"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Width"
    },
    "space_between": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Space Between"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_tabs": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Tabs",
   "properties": {
    "tabs": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "content": {
        "type": "string",
        "contentMediaType": "text/html",
        "description": "HTML limited to what wp_kses_post() allows.",
        "x-control": "wysiwyg",
        "title": "Content"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Tabs"
    },
    "active": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 20,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Active Tab"
    },
    "orientation": {
     "type": "string",
     "x-options": [
      "horizontal",
      "vertical"
     ],
     "x-control": "select",
     "title": "Orientation"
    },
    "tabs_align": {
     "type": "string",
     "x-options": [
      "start",
      "center",
      "end",
      "stretch"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "nav_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Navigation Width"
    },
    "tab_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "tab_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "tab_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "tab_active_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Background"
    },
    "tab_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_nested_tabs": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Nested Tabs",
   "properties": {
    "tabs": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Tabs"
    },
    "active": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 20,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Active Tab"
    },
    "orientation": {
     "type": "string",
     "x-options": [
      "horizontal",
      "vertical"
     ],
     "x-control": "select",
     "title": "Orientation"
    },
    "tabs_align": {
     "type": "string",
     "x-options": [
      "start",
      "center",
      "end",
      "stretch"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "nav_width": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Navigation Width"
    },
    "tab_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "tab_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "tab_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "tab_active_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Background"
    },
    "tab_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_nested_accordion": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Nested Accordion",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Items"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "active_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Active Icon"
    },
    "icon_position": {
     "type": "string",
     "x-options": [
      "left",
      "right"
     ],
     "x-control": "select",
     "title": "Icon Position"
    },
    "first_open": {
     "type": "boolean",
     "x-control": "switch",
     "title": "First Item Opened"
    },
    "faq_schema": {
     "type": "boolean",
     "x-control": "switch",
     "title": "FAQ Schema"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "title_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "title_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "icon_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "icon_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Spacing"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Width"
    },
    "space_between": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Space Between"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_nested_toggle": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Nested Toggle",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "title": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Items"
    },
    "title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "active_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Active Icon"
    },
    "icon_position": {
     "type": "string",
     "x-options": [
      "left",
      "right"
     ],
     "x-control": "select",
     "title": "Icon Position"
    },
    "first_open": {
     "type": "boolean",
     "x-control": "switch",
     "title": "First Item Opened"
    },
    "faq_schema": {
     "type": "boolean",
     "x-control": "switch",
     "title": "FAQ Schema"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "title_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "title_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "content_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "content_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "content_padding": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Padding"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "icon_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "icon_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Spacing"
    },
    "border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Width"
    },
    "space_between": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Space Between"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_social": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Social Icons",
   "properties": {
    "links": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "network": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Network"
       },
       "url": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "URL"
       },
       "icon": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "icon",
        "title": "Icon"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Icons"
    },
    "target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Open In"
    },
    "shape": {
     "type": "string",
     "x-options": [
      "square",
      "rounded",
      "circle"
     ],
     "x-control": "select",
     "title": "Shape"
    },
    "color_scheme": {
     "type": "string",
     "x-options": [
      "official",
      "custom"
     ],
     "x-control": "select",
     "title": "Color"
    },
    "align": {
     "type": "string",
     "x-options": [
      "left",
      "center",
      "right"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "columns": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 12,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Columns"
    },
    "hover_animation": {
     "type": "string",
     "x-options": [
      "",
      "zoom",
      "grow",
      "shrink",
      "lift",
      "sink",
      "fade",
      "rotate",
      "float",
      "pulse",
      "skew",
      "wobble",
      "buzz"
     ],
     "x-control": "select",
     "title": "Hover Animation"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "hover_icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Icon Color"
    },
    "size": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Size"
    },
    "icon_padding": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Padding"
    },
    "gap": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Spacing"
    },
    "row_gap": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Rows Gap"
    },
    "icon_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%",
      "em"
     ],
     "x-control": "slider",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_gallery": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Gallery",
   "properties": {
    "mode": {
     "type": "string",
     "x-control": "select",
     "title": "Mode"
    },
    "ids": {
     "type": "string",
     "pattern": "^[0-9,\\s]*$",
     "description": "Comma-separated attachment IDs.",
     "x-control": "gallery",
     "title": "Ids"
    },
    "collections": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Collections"
    },
    "media_urls": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Keyed by attachment ID.",
     "additionalProperties": {
      "type": "string"
     },
     "x-control": "url_map",
     "title": "Media Urls"
    },
    "media_ratios": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Keyed by attachment ID.",
     "additionalProperties": {
      "type": "number"
     },
     "x-control": "number_map",
     "title": "Media Ratios"
    },
    "order_by": {
     "type": "string",
     "x-control": "select",
     "title": "Order By"
    },
    "show_all": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show All"
    },
    "all_label": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "All Label"
    },
    "lazy_load": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lazy Load"
    },
    "gallery_layout": {
     "type": "string",
     "x-control": "select",
     "title": "Gallery Layout"
    },
    "row_height": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Row Height"
    },
    "last_row": {
     "type": "string",
     "x-control": "select",
     "title": "Last Row"
    },
    "columns": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Columns"
    },
    "gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Gap"
    },
    "image_ratio": {
     "type": "string",
     "x-control": "select",
     "title": "Image Ratio"
    },
    "link": {
     "type": "string",
     "x-control": "select",
     "title": "Link"
    },
    "size": {
     "type": "string",
     "x-control": "select",
     "title": "Size"
    },
    "lightbox": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lightbox"
    },
    "caption": {
     "type": "string",
     "x-control": "select",
     "title": "Caption"
    },
    "image_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Image Radius"
    },
    "hover_animation": {
     "type": "string",
     "x-control": "select",
     "title": "Hover Animation"
    },
    "caption_align": {
     "type": "string",
     "x-control": "select",
     "title": "Caption Align"
    },
    "caption_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Caption Color"
    },
    "caption_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Caption Size"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_carousel": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Image Carousel",
   "properties": {
    "slides": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "image_id": {
        "type": "integer",
        "minimum": 0,
        "description": "Media Library attachment ID.",
        "x-control": "media",
        "title": "Image"
       },
       "image_url": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "Image URL"
       },
       "caption": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Caption"
       },
       "alt": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Alt Text"
       },
       "link": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "Link"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Slides"
    },
    "ids": {
     "type": "string",
     "pattern": "^[0-9,\\s]*$",
     "description": "Comma-separated attachment IDs.",
     "x-control": "gallery",
     "title": "Images"
    },
    "custom_urls": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Custom URLs"
    },
    "image_size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "medium_large",
      "large",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "slides_to_show": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 10,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Slides to Show"
    },
    "slides_to_scroll": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 10,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Slides to Scroll"
    },
    "image_stretch": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Image Stretch"
    },
    "navigation": {
     "type": "string",
     "x-options": [
      "both",
      "arrows",
      "dots",
      "none"
     ],
     "x-control": "select",
     "title": "Navigation"
    },
    "link": {
     "type": "string",
     "x-options": [
      "none",
      "file",
      "custom"
     ],
     "x-control": "select",
     "title": "Link"
    },
    "lightbox": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lightbox"
    },
    "caption": {
     "type": "string",
     "x-options": [
      "none",
      "title",
      "caption",
      "description"
     ],
     "x-control": "select",
     "title": "Caption"
    },
    "lazyload": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Lazy Load"
    },
    "autoplay": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Autoplay"
    },
    "pause_on_hover": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Pause on Hover"
    },
    "pause_on_interaction": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Pause on Interaction"
    },
    "interval": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 500,
     "maximum": 15000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Autoplay Speed"
    },
    "loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Infinite Loop"
    },
    "effect": {
     "type": "string",
     "x-options": [
      "slide",
      "fade"
     ],
     "x-control": "select",
     "title": "Effect"
    },
    "speed": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 100,
     "maximum": 3000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Animation Speed"
    },
    "slide_direction": {
     "type": "string",
     "x-options": [
      "ltr",
      "rtl"
     ],
     "x-control": "select",
     "title": "Direction"
    },
    "height": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Height"
    },
    "image_spacing": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Spacing"
    },
    "image_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Border Radius"
    },
    "arrows_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Size"
    },
    "arrows_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "dots_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Size"
    },
    "dots_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "caption_align": {
     "type": "string",
     "x-options": [
      "left",
      "center",
      "right"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "caption_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_star_rating": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Star Rating",
   "properties": {
    "scale": {
     "type": "string",
     "x-control": "select",
     "title": "Scale"
    },
    "rating": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Rating"
    },
    "unmarked_style": {
     "type": "string",
     "x-control": "select",
     "title": "Unmarked Style"
    },
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "align": {
     "type": "string",
     "x-control": "select",
     "title": "Align"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "title_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Title Gap"
    },
    "size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Size"
    },
    "star_gap": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Star Gap"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "unmarked_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Unmarked Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_testimonial": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Testimonial",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "quote": {
        "type": "string",
        "contentMediaType": "text/html",
        "description": "HTML limited to what wp_kses_post() allows.",
        "x-control": "wysiwyg",
        "title": "Content"
       },
       "image_id": {
        "type": "integer",
        "minimum": 0,
        "description": "Media Library attachment ID.",
        "x-control": "media",
        "title": "Image"
       },
       "image_url": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "Image URL"
       },
       "author": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Name"
       },
       "role": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Title"
       },
       "link": {
        "type": "string",
        "format": "uri-reference",
        "x-control": "url",
        "title": "Link"
       },
       "link_target": {
        "type": "string",
        "x-options": [
         "_self",
         "_blank"
        ],
        "x-control": "select",
        "title": "Link Target"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Testimonials"
    },
    "image_size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "large",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "image_position": {
     "type": "string",
     "x-options": [
      "aside",
      "top"
     ],
     "x-control": "select",
     "title": "Image Position"
    },
    "align": {
     "type": "string",
     "x-options": [
      "left",
      "center",
      "right"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "name_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Name HTML Tag"
    },
    "quote_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "image_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Size"
    },
    "image_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Radius"
    },
    "name_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "role_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_menu_anchor": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Menu Anchor",
   "properties": {
    "menu": {
     "type": "string",
     "x-control": "select",
     "title": "Menu"
    },
    "anchor": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Anchor ID"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_site_nav": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Site Menu",
   "properties": {
    "menu": {
     "type": "string",
     "x-control": "select",
     "title": "Menu"
    },
    "display_name": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Display name"
    },
    "layout": {
     "type": "string",
     "x-options": [
      "horizontal",
      "vertical",
      "dropdown"
     ],
     "x-control": "select",
     "title": "Layout",
     "default": "horizontal"
    },
    "breakpoint": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Mobile breakpoint",
     "default": 782
    },
    "radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Border radius",
     "default": 4
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover"
    },
    "background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "button_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text"
    },
    "button_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Border"
    },
    "button_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Text"
    },
    "button_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "button_hover_border": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Border"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_read_more": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Read More",
   "properties": {
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Text"
    },
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Url"
    },
    "target": {
     "type": "string",
     "x-control": "select",
     "title": "Target"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_soundcloud": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "SoundCloud",
   "properties": {
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Url"
    },
    "visual": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Visual"
    },
    "height": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Height"
    },
    "auto_play": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Auto Play"
    },
    "buying": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Buying"
    },
    "liking": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Liking"
    },
    "download": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Download"
    },
    "show_artwork": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Artwork"
    },
    "sharing": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Sharing"
    },
    "show_comments": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Comments"
    },
    "show_playcount": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Playcount"
    },
    "show_user": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show User"
    },
    "player_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Player Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_audio": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Audio",
   "properties": {
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Url"
    },
    "preload": {
     "type": "string",
     "x-control": "select",
     "title": "Preload"
    },
    "autoplay": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Autoplay"
    },
    "loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Loop"
    },
    "controls": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Controls"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_google_maps": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Google Maps",
   "properties": {
    "address": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Address"
    },
    "zoom": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Zoom"
    },
    "height": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Height"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_sidebar": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Sidebar",
   "properties": {
    "sidebar": {
     "type": "string",
     "x-control": "select",
     "title": "Sidebar"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_wordpress_widget": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "WordPress Widget",
   "properties": {
    "widget": {
     "type": "string",
     "x-control": "select",
     "title": "Widget"
    },
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "widget_options": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Widget Options"
    },
    "sidebar": {
     "type": "string",
     "x-control": "select",
     "title": "Sidebar"
    },
    "css_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Css Class"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_link_in_bio": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Link in Bio",
   "properties": {
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "subtitle": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Subtitle"
    },
    "avatar": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Avatar"
    },
    "links": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Links"
    },
    "layout": {
     "type": "string",
     "x-control": "select",
     "title": "Layout"
    },
    "css_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Css Class"
    },
    "btn_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Text"
    },
    "btn_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Background"
    },
    "btn_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Border"
    },
    "btn_hover_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Text"
    },
    "btn_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "btn_hover_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Border"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_rating": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Rating",
   "properties": {
    "rating": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Rating"
    },
    "max": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Max"
    },
    "label": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Label"
    },
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Icon"
    },
    "empty_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Empty Icon"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Size"
    },
    "css_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Css Class"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_icon_box": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Icon Box",
   "properties": {
    "icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "icon_view": {
     "type": "string",
     "x-control": "select",
     "title": "Icon View"
    },
    "shape": {
     "type": "string",
     "x-control": "select",
     "title": "Shape"
    },
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "title_tag": {
     "type": "string",
     "x-control": "select",
     "title": "Title Tag"
    },
    "text": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Text"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-control": "select",
     "title": "Link Target"
    },
    "box_layout": {
     "type": "string",
     "x-control": "select",
     "title": "Box Layout"
    },
    "content_align": {
     "type": "string",
     "x-control": "select",
     "title": "Content Align"
    },
    "vertical_align": {
     "type": "string",
     "x-control": "select",
     "title": "Vertical Align"
    },
    "icon_size": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Size"
    },
    "icon_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Space"
    },
    "title_space": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Title Space"
    },
    "icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "secondary_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Secondary Color"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Color"
    },
    "hover_secondary_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Secondary Color"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "title_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Hover Color"
    },
    "text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "icon_padding": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Padding"
    },
    "icon_border_width": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Border Width"
    },
    "icon_radius": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Icon Radius"
    },
    "rotate": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Rotate"
    },
    "hover_animation": {
     "type": "string",
     "x-control": "select",
     "title": "Hover Animation"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_text_path": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Text Path",
   "properties": {
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Text"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "link_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "path": {
     "type": "string",
     "x-options": [
      "wave",
      "arc",
      "circle",
      "line"
     ],
     "x-control": "select",
     "title": "Path Type"
    },
    "show_path": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Path"
    },
    "speed": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Animation Speed",
     "default": 20
    },
    "align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Alignment"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Color"
    },
    "font_family": {
     "description": "Control type \"font\". Stored as the control saves it (often an object).",
     "x-control": "font",
     "title": "Font Family"
    },
    "font_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Size"
    },
    "font_weight": {
     "type": "string",
     "x-options": [
      "",
      "100",
      "200",
      "300",
      "400",
      "500",
      "600",
      "700",
      "800",
      "900"
     ],
     "x-control": "select",
     "title": "Weight"
    },
    "font_style": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "italic",
      "oblique"
     ],
     "x-control": "select",
     "title": "Style"
    },
    "text_transform": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "uppercase",
      "lowercase",
      "capitalize"
     ],
     "x-control": "select",
     "title": "Transform"
    },
    "text_decoration": {
     "type": "string",
     "x-options": [
      "",
      "none",
      "underline",
      "overline",
      "line-through"
     ],
     "x-control": "select",
     "title": "Decoration"
    },
    "line_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Line Height"
    },
    "letter_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Letter Spacing"
    },
    "word_spacing": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em"
     ],
     "x-control": "slider",
     "title": "Word Spacing"
    },
    "stroke_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Stroke Width"
    },
    "stroke_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Stroke Color"
    },
    "size": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Height"
    },
    "path_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Path Color"
    },
    "path_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Path Width"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_code": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Code",
   "properties": {
    "code": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "code",
     "title": "Code"
    },
    "language": {
     "type": "string",
     "x-control": "select",
     "title": "Language"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_price_table": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Price Table",
   "properties": {
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "price": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Price"
    },
    "period": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Period"
    },
    "features": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "text": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Text"
       },
       "icon": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "icon",
        "title": "Icon"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Features"
    },
    "button": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Button Text"
    },
    "url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Button Link"
    },
    "align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Alignment"
    },
    "table_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "title_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Title Typography"
    },
    "price_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Price Color"
    },
    "price_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Price Typography"
    },
    "period_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Period Color"
    },
    "period_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Period Typography"
    },
    "feature_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "feature_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "feature_icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "button_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background",
     "default": "#222222"
    },
    "button_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color",
     "default": "#ffffff"
    },
    "button_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "button_padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "button_border_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Border Radius"
    },
    "button_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "button_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_flip_box": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Flip Box",
   "properties": {
    "front_graphic": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Graphic"
    },
    "front_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "front_icon_view": {
     "type": "string",
     "x-options": [
      "default",
      "stacked",
      "framed"
     ],
     "x-control": "select",
     "title": "Icon View"
    },
    "front_shape": {
     "type": "string",
     "x-options": [
      "circle",
      "rounded",
      "square"
     ],
     "x-control": "select",
     "title": "Icon Shape"
    },
    "front_image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Image"
    },
    "front_image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Image URL"
    },
    "front_image_size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "medium_large",
      "large",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "front_title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "front_title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "front_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Description"
    },
    "back_graphic": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Graphic"
    },
    "back_icon": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "icon",
     "title": "Icon"
    },
    "back_icon_view": {
     "type": "string",
     "x-options": [
      "default",
      "stacked",
      "framed"
     ],
     "x-control": "select",
     "title": "Icon View"
    },
    "back_shape": {
     "type": "string",
     "x-options": [
      "circle",
      "rounded",
      "square"
     ],
     "x-control": "select",
     "title": "Icon Shape"
    },
    "back_image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Image"
    },
    "back_image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Image URL"
    },
    "back_image_size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "medium_large",
      "large",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "back_title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "back_title_tag": {
     "type": "string",
     "x-options": [
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "div",
      "span",
      "p"
     ],
     "x-control": "select",
     "title": "Title HTML Tag"
    },
    "back_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Description"
    },
    "show_button": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Show Button"
    },
    "back_button_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Button Text"
    },
    "back_button_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Button Link"
    },
    "back_button_target": {
     "type": "string",
     "x-options": [
      "_self",
      "_blank"
     ],
     "x-control": "select",
     "title": "Link Target"
    },
    "button_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Color"
    },
    "button_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Text Color"
    },
    "flip_effect": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Flip Effect"
    },
    "flip_direction": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Direction"
    },
    "flip_3d": {
     "type": "boolean",
     "x-control": "switch",
     "title": "3D Depth"
    },
    "flip_depth": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px"
     ],
     "x-control": "slider",
     "title": "Depth"
    },
    "flip_duration": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Duration"
    },
    "flip_trigger": {
     "type": "string",
     "x-options": [
      "hover",
      "click"
     ],
     "x-control": "select",
     "title": "Trigger"
    },
    "box_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "vh",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "vh",
         "em"
        ]
       }
      }
     ],
     "title": "Height"
    },
    "front_background": {
     "description": "Control type \"background\". Stored as the control saves it (often an object).",
     "x-control": "background",
     "title": "Background"
    },
    "front_align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Horizontal Align"
    },
    "front_valign": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Vertical Align"
    },
    "front_padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "front_title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "front_title_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Title Typography"
    },
    "front_title_space": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em"
     ],
     "x-control": "slider",
     "title": "Title Spacing"
    },
    "front_desc_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Description Color"
    },
    "front_desc_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Description Typography"
    },
    "front_icon_size": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Icon Size"
    },
    "front_icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "front_icon_space": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em"
     ],
     "x-control": "slider",
     "title": "Icon Spacing"
    },
    "front_image_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Image Width"
    },
    "front_image_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Image Radius"
    },
    "back_background": {
     "description": "Control type \"background\". Stored as the control saves it (often an object).",
     "x-control": "background",
     "title": "Background"
    },
    "back_align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Horizontal Align"
    },
    "back_valign": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Vertical Align"
    },
    "back_padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "back_title_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Title Color"
    },
    "back_title_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Title Typography"
    },
    "back_title_space": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em"
     ],
     "x-control": "slider",
     "title": "Title Spacing"
    },
    "back_desc_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Description Color"
    },
    "back_desc_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Description Typography"
    },
    "back_icon_size": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em",
      "rem"
     ],
     "x-control": "slider",
     "title": "Icon Size"
    },
    "back_icon_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Icon Color"
    },
    "back_icon_space": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "em"
     ],
     "x-control": "slider",
     "title": "Icon Spacing"
    },
    "back_image_width": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Image Width"
    },
    "back_image_radius": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-units": [
      "px",
      "%"
     ],
     "x-control": "slider",
     "title": "Image Radius"
    },
    "button_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "button_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "button_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Text Color"
    },
    "button_padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Padding"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_login": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Login",
   "properties": {
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "button": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Button"
    },
    "redirect": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Redirect"
    },
    "turnstile": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Require Cloudflare Turnstile"
    },
    "btn_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Text"
    },
    "btn_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Background"
    },
    "btn_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Border"
    },
    "btn_hover_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Text"
    },
    "btn_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "btn_hover_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Border"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_collection_loop": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Collection Loop",
   "properties": {
    "query_type": {
     "type": "string",
     "x-options": [
      "posts",
      "terms"
     ],
     "x-control": "select",
     "title": "Query Type"
    },
    "source": {
     "type": "string",
     "x-options": [
      "custom",
      "current",
      "related",
      "manual"
     ],
     "x-control": "select",
     "title": "Source"
    },
    "post_type": {
     "type": "string",
     "x-options": [
      "post",
      "page",
      "any"
     ],
     "x-control": "select",
     "title": "Post Type"
    },
    "posts_per_page": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 100,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Items Per Page"
    },
    "orderby": {
     "type": "string",
     "x-options": [
      "date",
      "title",
      "menu_order",
      "modified",
      "comment_count",
      "rand",
      "ID",
      "meta_value",
      "meta_value_num"
     ],
     "x-control": "select",
     "title": "Order By"
    },
    "order": {
     "type": "string",
     "x-options": [
      "DESC",
      "ASC"
     ],
     "x-control": "select",
     "title": "Order"
    },
    "offset": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 200,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Offset"
    },
    "ignore_sticky": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Ignore Sticky Posts"
    },
    "exclude_current": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Exclude Current Post"
    },
    "taxonomy": {
     "type": "string",
     "x-options": [
      "category",
      "post_tag",
      "post_format"
     ],
     "x-control": "select",
     "title": "Taxonomy"
    },
    "terms": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Terms"
    },
    "terms_operator": {
     "type": "string",
     "x-options": [
      "IN",
      "NOT IN",
      "AND"
     ],
     "x-control": "select",
     "title": "Terms Operator"
    },
    "author": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Author"
    },
    "date": {
     "type": "string",
     "x-options": [
      "",
      "today",
      "week",
      "month",
      "year"
     ],
     "x-control": "select",
     "title": "Date"
    },
    "search": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Search"
    },
    "include": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Include IDs"
    },
    "exclude": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Exclude IDs"
    },
    "meta_key": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Meta Key"
    },
    "meta_value": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Meta Value"
    },
    "meta_compare": {
     "type": "string",
     "x-options": [
      "=",
      "!=",
      ">",
      ">=",
      "<",
      "<=",
      "LIKE",
      "NOT LIKE",
      "IN",
      "NOT IN",
      "EXISTS",
      "NOT EXISTS"
     ],
     "x-control": "select",
     "title": "Meta Compare"
    },
    "hide_empty": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide Empty Terms"
    },
    "parent": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Parent Term"
    },
    "terms_orderby": {
     "type": "string",
     "x-options": [
      "name",
      "slug",
      "count",
      "term_id"
     ],
     "x-control": "select",
     "title": "Terms Order By"
    },
    "item_source": {
     "type": "string",
     "x-options": [
      "inline",
      "template"
     ],
     "x-control": "select",
     "title": "Item Template"
    },
    "template_id": {
     "type": "string",
     "x-options": [
      "Select a template"
     ],
     "x-control": "select",
     "title": "Saved Template"
    },
    "layout": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Layout"
    },
    "carousel_show": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Slides to Show"
    },
    "carousel_scroll": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Slides to Scroll"
    },
    "carousel_nav": {
     "type": "string",
     "x-options": [
      "arrows",
      "dots",
      "both",
      "none"
     ],
     "x-control": "select",
     "title": "Navigation"
    },
    "carousel_loop": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Infinite Loop"
    },
    "carousel_autoplay": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Autoplay"
    },
    "carousel_pause": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Pause on Hover"
    },
    "carousel_interval": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 500,
     "maximum": 15000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Autoplay Speed"
    },
    "carousel_speed": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 3000,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Transition Speed"
    },
    "static_enable": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Static Item Position"
    },
    "static_template_id": {
     "type": "string",
     "x-options": [
      "Select a template"
     ],
     "x-control": "select",
     "title": "Static Template"
    },
    "static_position": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 50,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Position"
    },
    "static_column_span": {
     "type": [
      "string",
      "number",
      "object"
     ],
     "properties": {
      "size": {
       "type": [
        "string",
        "number"
       ]
      },
      "unit": {
       "type": "string"
      }
     },
     "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
     "x-control": "slider",
     "title": "Column Span"
    },
    "static_repeat": {
     "type": "string",
     "x-options": [
      "once",
      "repeat"
     ],
     "x-control": "select",
     "title": "Repeat"
    },
    "columns": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Columns"
    },
    "column_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "row_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Row Gap"
    },
    "equal_height": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Equal Height"
    },
    "pagination": {
     "type": "string",
     "x-options": [
      "none",
      "numbers",
      "prev_next",
      "load_more"
     ],
     "x-control": "select",
     "title": "Pagination"
    },
    "page_limit": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 50,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Page Limit"
    },
    "load_more_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Load More Text"
    },
    "prev_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Previous Label"
    },
    "next_text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Next Label"
    },
    "empty_message": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Nothing Found Message"
    },
    "item_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Item Background"
    },
    "item_padding": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Item Padding"
    },
    "item_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Item Radius"
    },
    "pag_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Color"
    },
    "pag_active_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Active Color"
    },
    "pag_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "pag_hover_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Color"
    },
    "pag_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "pag_hover_border": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Border"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_template": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Template",
   "properties": {
    "template_id": {
     "type": "string",
     "x-options": [
      "Select a template"
     ],
     "x-control": "select",
     "title": "Saved Template"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_component": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Component",
   "properties": {
    "component_id": {
     "type": [
      "number",
      "string"
     ],
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Component Id"
    },
    "css_class": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Css Class"
    },
    "overrides": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Overrides"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_form": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Form",
   "properties": {
    "title": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Title"
    },
    "fields": {
     "type": "array",
     "items": {
      "type": [
       "object",
       "array"
      ],
      "maxItems": 0,
      "properties": {
       "label": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Label"
       },
       "name": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Name"
       },
       "type": {
        "type": "string",
        "x-options": [
         "text",
         "email",
         "tel",
         "url",
         "textarea",
         "select",
         "checkbox"
        ],
        "x-control": "select",
        "title": "Type"
       },
       "required": {
        "type": "boolean",
        "x-control": "switch",
        "title": "Required"
       },
       "placeholder": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "text",
        "title": "Placeholder"
       },
       "options": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0,
        "x-control": "textarea",
        "title": "Options"
       },
       "_id": {
        "type": "string",
        "description": "Stable row ID. Generated when missing."
       }
      },
      "additionalProperties": true
     },
     "x-control": "repeater",
     "title": "Fields"
    },
    "submit": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Submit Button"
    },
    "success": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Success Message"
    },
    "email": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Send To"
    },
    "honeypot": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Honeypot"
    },
    "captcha": {
     "type": "string",
     "x-options": [
      "auto",
      "turnstile",
      "none"
     ],
     "x-control": "select",
     "title": "Spam protection"
    },
    "layout": {
     "type": "string",
     "x-options": [
      "stack",
      "inline",
      "two-column"
     ],
     "x-control": "select",
     "title": "Layout"
    },
    "btn_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Text"
    },
    "btn_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Background"
    },
    "btn_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Button Border"
    },
    "btn_hover_text_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Text"
    },
    "btn_hover_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Background"
    },
    "btn_hover_border_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Hover Border"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_tinymce_text_editor": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "TinyMCE Text Editor",
   "properties": {
    "content": {
     "type": "string",
     "contentMediaType": "text/html",
     "description": "HTML limited to what wp_kses_post() allows.",
     "x-control": "wysiwyg",
     "title": "Content"
    },
    "width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "%",
        "px",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "%",
         "px",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vw",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vw",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem",
        "auto"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem",
         "auto"
        ]
       }
      }
     ],
     "title": "Height"
    },
    "min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "align": {
     "type": "string",
     "x-options": [
      "left",
      "center",
      "right",
      "justify"
     ],
     "x-control": "select",
     "title": "Alignment"
    },
    "color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "font_family": {
     "description": "Control type \"font\". Stored as the control saves it (often an object).",
     "x-control": "font",
     "title": "Font Family"
    },
    "font_size": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Font Size"
    },
    "font_weight": {
     "type": "string",
     "x-options": [
      "",
      "100",
      "200",
      "300",
      "400",
      "500",
      "600",
      "700",
      "800",
      "900"
     ],
     "x-control": "select",
     "title": "Weight"
    },
    "line_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset."
       }
      }
     ],
     "title": "Line Height"
    },
    "letter_spacing": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em"
        ]
       }
      }
     ],
     "title": "Letter Spacing"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_xe_div_block": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Div Block",
   "properties": {
    "tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "article",
      "aside",
      "header",
      "footer",
      "main",
      "nav",
      "figure",
      "a",
      "span"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "div"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "new_tab": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Open in new tab"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_xe_flexbox": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Flexbox",
   "properties": {
    "tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "article",
      "aside",
      "header",
      "footer",
      "main",
      "nav",
      "figure",
      "a",
      "span"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "div"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "new_tab": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Open in new tab"
    },
    "direction": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Direction"
    },
    "justify": {
     "x-control": "select",
     "x-responsive": true,
     "anyOf": [
      {
       "type": "string",
       "x-options": [
        "flex-start",
        "center",
        "flex-end",
        "space-between",
        "space-around",
        "space-evenly"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": "string",
        "x-options": [
         "flex-start",
         "center",
         "flex-end",
         "space-between",
         "space-around",
         "space-evenly"
        ]
       }
      }
     ],
     "title": "Justify Content"
    },
    "align": {
     "x-control": "select",
     "x-responsive": true,
     "anyOf": [
      {
       "type": "string",
       "x-options": [
        "stretch",
        "flex-start",
        "center",
        "flex-end",
        "baseline"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": "string",
        "x-options": [
         "stretch",
         "flex-start",
         "center",
         "flex-end",
         "baseline"
        ]
       }
      }
     ],
     "title": "Align Items"
    },
    "wrap": {
     "x-control": "select",
     "x-responsive": true,
     "anyOf": [
      {
       "type": "string",
       "x-options": [
        "wrap",
        "nowrap"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": "string",
        "x-options": [
         "wrap",
         "nowrap"
        ]
       }
      }
     ],
     "title": "Wrap"
    },
    "gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Gap"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_xe_grid": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Grid (XEditor)",
   "properties": {
    "tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "article",
      "aside",
      "header",
      "footer",
      "main",
      "nav",
      "figure",
      "a",
      "span"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "div"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "new_tab": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Open in new tab"
    },
    "columns": {
     "x-control": "number",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "number",
        "string"
       ],
       "minimum": 1,
       "maximum": 12,
       "description": "Number, or \"\" for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "number",
         "string"
        ],
        "minimum": 1,
        "maximum": 12,
        "description": "Number, or \"\" for unset."
       }
      }
     ],
     "title": "Columns"
    },
    "template": {
     "x-control": "text",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "array"
       ],
       "maxItems": 0
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0
       }
      }
     ],
     "title": "Custom Columns"
    },
    "rows": {
     "x-control": "text",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "array"
       ],
       "maxItems": 0
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "array"
        ],
        "maxItems": 0
       }
      }
     ],
     "title": "Rows"
    },
    "col_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "row_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Row Gap"
    },
    "align": {
     "x-control": "select",
     "x-responsive": true,
     "anyOf": [
      {
       "type": "string",
       "x-options": [
        "stretch",
        "start",
        "center",
        "end"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": "string",
        "x-options": [
         "stretch",
         "start",
         "center",
         "end"
        ]
       }
      }
     ],
     "title": "Align Items"
    },
    "justify": {
     "x-control": "select",
     "x-responsive": true,
     "anyOf": [
      {
       "type": "string",
       "x-options": [
        "stretch",
        "start",
        "center",
        "end"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": "string",
        "x-options": [
         "stretch",
         "start",
         "center",
         "end"
        ]
       }
      }
     ],
     "title": "Justify Items"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_xe_heading": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Heading (XEditor)",
   "properties": {
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Title"
    },
    "tag": {
     "type": "string",
     "x-options": [
      "h2",
      "h1",
      "h3",
      "h4",
      "h5",
      "h6",
      "p",
      "div",
      "span"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "h2"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "xe_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "xe_align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_xe_paragraph": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Paragraph",
   "properties": {
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "textarea",
     "title": "Text"
    },
    "tag": {
     "type": "string",
     "x-options": [
      "p",
      "div",
      "span",
      "blockquote",
      "small"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "p"
    },
    "xe_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "xe_align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_xe_image": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Image (XEditor)",
   "properties": {
    "source": {
     "type": "string",
     "x-options": [
      "media",
      "featured",
      "url"
     ],
     "x-control": "select",
     "title": "Source"
    },
    "image_id": {
     "type": "integer",
     "minimum": 0,
     "description": "Media Library attachment ID.",
     "x-control": "media",
     "title": "Choose Image"
    },
    "image_url": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Image URL"
    },
    "src": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Image URL"
    },
    "size": {
     "type": "string",
     "x-options": [
      "thumbnail",
      "medium",
      "medium_large",
      "large",
      "full"
     ],
     "x-control": "select",
     "title": "Image Size"
    },
    "alt": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Alt Text"
    },
    "loading": {
     "type": "string",
     "x-options": [
      "lazy",
      "eager"
     ],
     "x-control": "select",
     "title": "Loading"
    },
    "xe_fit": {
     "type": "string",
     "x-options": [
      "",
      "cover",
      "contain",
      "fill",
      "none"
     ],
     "x-control": "select",
     "title": "Object Fit"
    },
    "xe_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "vh",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "vh",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Height"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_xe_button": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Button (XEditor)",
   "properties": {
    "text": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Text"
    },
    "link": {
     "type": "string",
     "format": "uri-reference",
     "x-control": "url",
     "title": "Link"
    },
    "new_tab": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Open in new tab"
    },
    "nofollow": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Add nofollow"
    },
    "xe_typography": {
     "description": "Control type \"typography\". Stored as the control saves it (often an object).",
     "x-control": "typography",
     "title": "Typography"
    },
    "xe_align": {
     "x-control": "choose",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"choose\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"choose\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Alignment"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  },
  "settings_xe_loop": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Loop",
   "properties": {
    "query_type": {
     "type": "string",
     "x-options": [
      "posts",
      "terms"
     ],
     "x-control": "select",
     "title": "Data Source"
    },
    "source": {
     "type": "string",
     "x-options": [
      "custom",
      "current",
      "related",
      "manual"
     ],
     "x-control": "select",
     "title": "Query"
    },
    "post_type": {
     "type": "string",
     "x-options": [
      "post",
      "page",
      "any"
     ],
     "x-control": "select",
     "title": "Post Type"
    },
    "posts_per_page": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 1,
     "maximum": 100,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Item Count"
    },
    "offset": {
     "type": [
      "number",
      "string"
     ],
     "minimum": 0,
     "maximum": 100,
     "description": "Number, or \"\" for unset.",
     "x-control": "number",
     "title": "Offset"
    },
    "orderby": {
     "type": "string",
     "x-options": [
      "date",
      "title",
      "modified",
      "menu_order",
      "comment_count",
      "rand",
      "ID"
     ],
     "x-control": "select",
     "title": "Order By"
    },
    "order": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Order"
    },
    "taxonomy": {
     "type": "string",
     "x-options": [
      "",
      "category",
      "post_tag",
      "post_format"
     ],
     "x-control": "select",
     "title": "Taxonomy"
    },
    "terms": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Terms"
    },
    "terms_operator": {
     "type": "string",
     "x-options": [
      "IN",
      "AND",
      "NOT IN"
     ],
     "x-control": "select",
     "title": "Match"
    },
    "include": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Include IDs"
    },
    "exclude": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Exclude IDs"
    },
    "author": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Author IDs"
    },
    "exclude_current": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Exclude current post"
    },
    "ignore_sticky": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Ignore sticky posts"
    },
    "hide_empty": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Hide empty terms"
    },
    "empty_mode": {
     "type": "string",
     "x-options": [
      "message",
      "hide"
     ],
     "x-control": "select",
     "title": "When nothing is found"
    },
    "empty_message": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Empty Message"
    },
    "pagination": {
     "type": "string",
     "x-options": [
      "none",
      "numbers",
      "prev_next"
     ],
     "x-control": "select",
     "title": "Pagination"
    },
    "tag": {
     "type": "string",
     "x-options": [
      "div",
      "section",
      "aside",
      "nav"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "div"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_xe_loop_layout": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Loop Layout",
   "properties": {
    "layout": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Layout"
    },
    "columns": {
     "x-control": "number",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "number",
        "string"
       ],
       "minimum": 1,
       "maximum": 8,
       "description": "Number, or \"\" for unset."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "number",
         "string"
        ],
        "minimum": 1,
        "maximum": 8,
        "description": "Number, or \"\" for unset."
       }
      }
     ],
     "title": "Columns"
    },
    "gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem",
        "%"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem",
         "%"
        ]
       }
      }
     ],
     "title": "Column Gap"
    },
    "row_gap": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "em",
        "rem"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "em",
         "rem"
        ]
       }
      }
     ],
     "title": "Row Gap"
    },
    "tag": {
     "type": "string",
     "x-options": [
      "div",
      "ul",
      "ol"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "div"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_xe_loop_item": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Loop Item",
   "properties": {
    "tag": {
     "type": "string",
     "x-options": [
      "article",
      "div",
      "li"
     ],
     "x-control": "select",
     "title": "HTML Tag",
     "default": "article"
    },
    "xe_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Width"
    },
    "xe_max_width": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Max Width"
    },
    "xe_min_height": {
     "x-control": "slider",
     "x-responsive": true,
     "anyOf": [
      {
       "type": [
        "string",
        "number",
        "object"
       ],
       "properties": {
        "size": {
         "type": [
          "string",
          "number"
         ]
        },
        "unit": {
         "type": "string"
        }
       },
       "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
       "x-units": [
        "px",
        "%",
        "em",
        "rem",
        "vw",
        "vh"
       ]
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "type": [
         "string",
         "number",
         "object"
        ],
        "properties": {
         "size": {
          "type": [
           "string",
           "number"
          ]
         },
         "unit": {
          "type": "string"
         }
        },
        "description": "A number (unit from the control default), a number with a CSS unit such as \"24px\", \"1.5em\", \"50%\" or \"auto\", or {size, unit}. Empty for unset.",
        "x-units": [
         "px",
         "%",
         "em",
         "rem",
         "vw",
         "vh"
        ]
       }
      }
     ],
     "title": "Min Height"
    },
    "xe_padding": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Padding"
    },
    "xe_margin": {
     "x-control": "dimensions",
     "x-responsive": true,
     "anyOf": [
      {
       "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
      },
      {
       "type": "object",
       "description": "Per-breakpoint values. A breakpoint without a value inherits one, as in the editor.",
       "propertyNames": {
        "enum": [
         "mobile",
         "mobile_extra",
         "tablet",
         "tablet_extra",
         "laptop",
         "desktop",
         "widescreen"
        ]
       },
       "additionalProperties": {
        "description": "Control type \"dimensions\". Stored as the control saves it (often an object)."
       }
      }
     ],
     "title": "Margin"
    },
    "xe_color": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Text Color"
    },
    "xe_background": {
     "type": "string",
     "description": "Hex, rgb()/hsl() or a global color reference such as var(--lb-color-primary).",
     "x-control": "color",
     "title": "Background"
    },
    "xe_radius": {
     "description": "Control type \"dimensions\". Stored as the control saves it (often an object).",
     "x-control": "dimensions",
     "title": "Border Radius"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": true
  },
  "settings_turnstile": {
   "allOf": [
    {
     "$ref": "#/$defs/shared_settings"
    }
   ],
   "type": [
    "object",
    "array"
   ],
   "maxItems": 0,
   "title": "Cloudflare Turnstile",
   "properties": {
    "protect_form": {
     "type": "boolean",
     "x-control": "switch",
     "title": "Protect the form in this container"
    },
    "theme": {
     "type": "string",
     "x-options": [
      "",
      "auto",
      "light",
      "dark"
     ],
     "x-control": "select",
     "title": "Theme"
    },
    "size": {
     "type": "string",
     "x-options": [
      "",
      "normal",
      "flexible",
      "compact"
     ],
     "x-control": "select",
     "title": "Size"
    },
    "appearance": {
     "type": "string",
     "x-options": [
      "",
      "always",
      "interaction-only"
     ],
     "x-control": "select",
     "title": "Appearance"
    },
    "action": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Action name"
    },
    "language": {
     "type": [
      "string",
      "number",
      "array"
     ],
     "maxItems": 0,
     "x-control": "text",
     "title": "Language"
    },
    "align": {
     "description": "Control type \"choose\". Stored as the control saves it (often an object).",
     "x-control": "choose",
     "title": "Alignment"
    },
    "_dynamic": {
     "type": [
      "object",
      "array"
     ],
     "maxItems": 0,
     "description": "Dynamic tag bindings keyed by setting name. Resolved at render time.",
     "additionalProperties": true
    }
   },
   "additionalProperties": true,
   "description": "Unknown keys are dropped on save; missing keys take the defaults shown.",
   "x-children": false
  }
 },
 "examples": [
  {
   "version": "2.8",
   "settings": {
    "template": "default"
   },
   "root": [
    {
     "id": "hero",
     "type": "container",
     "settings": [],
     "children": [
      {
       "id": "title",
       "type": "heading",
       "settings": {
        "text": "Hello",
        "tag": "h1"
       }
      }
     ]
    }
   ]
  }
 ]
}