{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "fvcms.cms-local.dock.001",
  "title": "Local CMS Module — Dock Config",
  "description": "Per-app dock config (edge panel + pill dock). Per-edge deep-merge (per FvCMS Pact §3.18.1).",
  "type": "object",
  "required": ["schema"],
  "properties": {
    "schema": { "const": "fvcms.cms-local.dock.001" },
    "defaultEdge": {
      "type": "string",
      "enum": ["left", "right", "top", "bottom"],
      "description": "Default edge for newly-opened panels"
    },
    "left":   { "$ref": "#/definitions/edge" },
    "right":  { "$ref": "#/definitions/edge" },
    "top":    { "$ref": "#/definitions/edge" },
    "bottom": { "$ref": "#/definitions/edge" },
    "mobile": {
      "type": "object",
      "description": "Mobile-specific dock overrides (≤600px)",
      "properties": {
        "edge":      { "type": "string", "enum": ["left", "right", "top", "bottom"] },
        "dockAt":    { "type": "string", "enum": ["top", "bottom", "none"], "description": "Force panel to dock at a specific edge on mobile" },
        "width":     { "type": "string" },
        "showPills": { "type": "boolean" }
      }
    },
    "definitions": {
      "edge": {
        "type": "object",
        "properties": {
          "width":     { "type": "string", "description": "CSS width when docked (e.g. '320px', '85vw')" },
          "maxWidth":  { "type": "string" },
          "background":{ "type": "string" },
          "pills":     { "type": "array", "items": { "type": "string" } }
        }
      }
    }
  },
  "additionalProperties": true
}
