{
  "niche": "hotel",
  "version": "1.0.0",
  "description": "Tokens base do nicho hotel. Cada demo sobrescreve cores e fontes via themeJson; estrutura semântica e escalas permanecem fixas. Fotografia é o ativo visual principal — tokens privilegiam tipografia e espaço para deixar a imagem respirar.",
  "tokens": {
    "color": {
      "semantic": {
        "primary":   { "description": "Cor principal de marca; usada em CTAs, headers, divisores fortes" },
        "secondary": { "description": "Apoio; legendas, ícones, hover" },
        "accent":    { "description": "Reserva direta, badge 'melhor preço garantido', destaque pontual" },
        "bg":        { "description": "Fundo da página — terroso, off-white, ou madeira escura conforme posicionamento" },
        "surface":   { "description": "Cards de quarto, painel do buscador, áreas elevadas" },
        "text":      { "description": "Texto principal" },
        "muted":     { "description": "Legendas, dados, metadata" }
      },
      "aux": {
        "border":  { "description": "Bordas neutras", "derive": "mix(text, bg, 85%)" },
        "success": "#1F7A4D",
        "warning": "#C77F1A",
        "danger":  "#B83A2C",
        "info":    "#3A6E8C"
      }
    },
    "font": {
      "heading": { "description": "Serif editorial (boutique), display vintage (praia) ou sans uppercase espaçada (lodge)" },
      "body":    { "description": "Sans humanista legível; em demos lodge, sans levemente técnica" },
      "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"
      },
      "weight": { "regular": 400, "medium": 500, "semibold": 600, "bold": 700 },
      "lineHeight": { "tight": 1.05, "snug": 1.2, "body": 1.55, "long": 1.7 },
      "tracking": { "tight": "-0.02em", "normal": "0", "wide": "0.08em", "wider": "0.18em" }
    },
    "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 8px 24px rgba(0,0,0,0.06)",
      "lg": "0 30px 60px rgba(0,0,0,0.18)"
    }
  },
  "components": [
    "button", "card-room", "card-amenity", "header",
    "hero-fullbleed", "booking-bar", "gallery", "testimonial",
    "policy-block", "map-block", "faq", "footer", "whatsapp-fab"
  ],
  "states": {
    "button":     ["default","hover","focus","active","disabled","loading"],
    "input":      ["default","focus","filled","error","disabled"],
    "card-room":  ["default","hover","selected","sold-out"],
    "link":       ["default","hover","active"],
    "gallery":    ["thumbnail","expanded","navigating"]
  },
  "rules": [
    "Fotografia é hierarquia visual primária — tipografia se subordina à imagem.",
    "Mobile-first; buscador de datas precisa ser usável com polegar único.",
    "Contraste mínimo WCAG AA (4.5:1 corpo, 3:1 títulos grandes) inclusive sobre foto (usar gradient overlay).",
    "Hit target mínimo 44px em mobile.",
    "Política de cancelamento sempre visível ao lado do preço — sem letrinha miúda.",
    "Reserva direta deve oferecer vantagem real visível (welcome drink, late checkout, upgrade).",
    "Disclaimer 'Proposta conceitual — não é site oficial' em todas as demos.",
    "Responsável técnico / Cadastur / CNPJ no rodapé quando aplicável."
  ]
}
