{
  "niche": "local_services",
  "version": "1.0.0",
  "description": "Tokens base do nicho local_services. Cada demo sobrescreve cores e fontes via themeJson. WhatsApp e telefone clicáveis são hierarquia visual primária — design system reflete isso.",
  "tokens": {
    "color": {
      "semantic": {
        "primary":   { "description": "Cor principal de marca; CTA primário (orçamento, agendamento)" },
        "secondary": { "description": "Apoio; chips, hover, secundários" },
        "accent":    { "description": "WhatsApp / chamada de emergência / urgência" },
        "bg":        { "description": "Fundo da página" },
        "surface":   { "description": "Cards de serviço, formulário, header sticky" },
        "text":      { "description": "Texto principal" },
        "muted":     { "description": "Metadata, legendas, faixa de horário" }
      },
      "aux": {
        "border":  { "description": "Bordas neutras", "derive": "mix(text, bg, 88%)" },
        "success": "#16A34A",
        "warning": "#F59E0B",
        "danger":  "#DC2626",
        "info":    "#0EA5E9",
        "whatsapp": "#25D366"
      }
    },
    "font": {
      "heading": { "description": "Sans condensada/bold (emergência), humanista (recorrente) ou técnica (especialista)" },
      "body":    { "description": "Sans humanista legível em mobile" },
      "scale": {
        "xs":   "0.75rem",
        "sm":   "0.875rem",
        "base": "1rem",
        "lg":   "1.125rem",
        "xl":   "1.25rem",
        "2xl":  "1.5rem",
        "3xl":  "1.875rem",
        "4xl":  "2.25rem",
        "5xl":  "3rem",
        "6xl":  "3.75rem",
        "7xl":  "4.5rem",
        "8xl":  "6rem"
      },
      "weight": { "regular": 400, "medium": 500, "semibold": 600, "bold": 700, "black": 900 },
      "lineHeight": { "tight": 1.05, "snug": 1.2, "body": 1.5, "long": 1.6 }
    },
    "space": {
      "unit": "4px",
      "scale": {
        "0": 0, "1": 4, "2": 8, "3": 12, "4": 16, "5": 20, "6": 24,
        "8": 32, "10": 40, "12": 48, "16": 64, "20": 80, "24": 96, "32": 128
      }
    },
    "radius": {
      "none": "0",
      "sm": "4px",
      "md": "8px",
      "lg": "16px",
      "xl": "24px",
      "full": "9999px"
    },
    "shadow": {
      "sm": "0 1px 2px rgba(0,0,0,0.04)",
      "md": "0 6px 16px rgba(0,0,0,0.08)",
      "lg": "0 16px 40px rgba(0,0,0,0.14)",
      "cta-pulse": "0 0 0 0 rgba(37,211,102,0.5)"
    }
  },
  "components": [
    "button", "card-service", "card-area", "header",
    "hero-emergency", "hero-recurring", "hero-spec",
    "phone-block", "service-area-map",
    "process-steps", "testimonial", "faq", "footer", "whatsapp-fab", "trust-strip"
  ],
  "states": {
    "button":     ["default","hover","focus","active","disabled","loading","pulsing"],
    "input":      ["default","focus","filled","error","disabled"],
    "card":       ["default","hover","selected"],
    "link":       ["default","hover","active"],
    "accordion":  ["collapsed","expanded"]
  },
  "rules": [
    "WhatsApp como FAB fixo em mobile, sempre visível, com link wa.me prefixado.",
    "Telefone clicável (tel:) em destaque proporcional à urgência do posicionamento.",
    "Foto humana real do profissional/equipe; jamais SVG genérico ou stock óbvio.",
    "Área de atendimento explícita (lista de bairros ou raio em km).",
    "Garantia em meses visível como elemento gráfico (selo, badge ou tipografia).",
    "Mobile-first; cada layout testado primeiro em 360px.",
    "Hit target mínimo 48px em CTAs principais (acima de 44px padrão WCAG).",
    "Contraste mínimo WCAG AA.",
    "Disclaimer 'Proposta conceitual — não é site oficial' em todas as demos.",
    "CNPJ/MEI + alvará/certificações no rodapé."
  ]
}
