{
  "meta": {
    "name": "ORDiDOC Design Tokens",
    "version": "1.1.0",
    "date": "2026-04-19",
    "modes": ["core", "retail"],
    "notes": "Core = site, documents, corporate, interfaces. Retail = affiches, prix, PLV, campagnes boutique."
  },
  "color": {
    "brand": {
      "blue":  { "500": "#1F4E8C", "700": "#163A69" },
      "green": { "500": "#7AC043", "700": "#5E9E2F" }
    },
    "neutral": {
      "0": "#FFFFFF",
      "50": "#F5F7FA",
      "100": "#EEF2F6",
      "300": "#D6DCE5",
      "600": "#4B5563",
      "800": "#1F2937"
    },
    "promo": {
      "orange": { "500": "#F28C28", "700": "#D96A00" },
      "yellow": { "400": "#F7C948" },
      "gold":   { "500": "#D4A72C" }
    },
    "feedback": {
      "success": "#2E9F4D",
      "info":    "#2B6CB0",
      "error":   "#D64545"
    },
    "semantic": {
      "surface": {
        "page":    "{color.neutral.50}",
        "card":    "#FFFFFF",
        "subtle":  "{color.neutral.100}",
        "inverse": "{color.brand.blue.700}"
      },
      "text": {
        "primary":   "{color.neutral.800}",
        "secondary": "{color.neutral.600}",
        "inverse":   "#FFFFFF",
        "brand":     "{color.brand.blue.500}",
        "success":   "{color.feedback.success}",
        "error":     "{color.feedback.error}"
      },
      "action": {
        "primary":   { "bg": "{color.brand.green.500}", "fg": "#FFFFFF", "bgHover": "{color.brand.green.700}" },
        "secondary": { "bg": "#FFFFFF", "fg": "{color.brand.blue.500}", "border": "{color.brand.blue.500}" },
        "link":      { "fg": "{color.brand.blue.500}", "fgHover": "{color.brand.blue.700}" }
      },
      "retail": {
        "price": { "primary": "{color.promo.yellow.400}", "outline": "{color.brand.blue.700}" },
        "badge": { "promo": "{color.promo.orange.500}", "guarantee": "{color.promo.gold.500}" }
      }
    }
  },
  "spacing": { "1": 4, "2": 8, "3": 12, "4": 16, "6": 24, "8": 32, "12": 48, "16": 64 },
  "radius":  { "sm": 8, "md": 12, "lg": 20, "pill": 999 },
  "stroke":  { "default": 1, "strong": 2, "poster": 4 },
  "shadow": {
    "card":        "0 8px 24px rgba(31, 41, 55, 0.08)",
    "button":      "0 4px 12px rgba(31, 78, 140, 0.18)",
    "posterPrice": "0 4px 0 rgba(22, 58, 105, 1)"
  },
  "typography": {
    "fontFamily": {
      "body":    "Inter, Arial, sans-serif",
      "heading": "Archivo, Inter, Arial, sans-serif",
      "retail":  "Anton, Archivo, Impact, sans-serif",
      "mono":    "JetBrains Mono, monospace"
    },
    "weight": {
      "regular":  400,
      "medium":   500,
      "semibold": 600,
      "bold":     700
    },
    "size": {
      "bodySm": 14, "body": 16, "bodyLg": 18,
      "h3":     24, "h2":   36, "h1":     48,
      "hero":   64, "price": 96, "priceXxl": 160
    },
    "stack": {
      "hero":      { "family": "heading", "weight": "bold",     "size": "hero",   "lineHeight": 1.05 },
      "h1":        { "family": "heading", "weight": "bold",     "size": "h1",     "lineHeight": 1.1 },
      "h2":        { "family": "heading", "weight": "semibold", "size": "h2",     "lineHeight": 1.2 },
      "h3":        { "family": "heading", "weight": "semibold", "size": "h3",     "lineHeight": 1.3 },
      "bodyLg":    { "family": "body",    "weight": "regular",  "size": "bodyLg", "lineHeight": 1.55 },
      "body":      { "family": "body",    "weight": "regular",  "size": "body",   "lineHeight": 1.5 },
      "bodySm":    { "family": "body",    "weight": "medium",   "size": "bodySm", "lineHeight": 1.45 },
      "button":    { "family": "body",    "weight": "semibold", "size": "body",   "lineHeight": 1 },
      "priceHero": { "family": "retail",  "weight": "regular",  "size": "priceXxl", "lineHeight": 0.95 }
    }
  },
  "grid": {
    "web":    { "desktop": 12, "tablet": 8, "mobile": 4 },
    "poster": { "safeMarginMm": 8, "bleedMm": 3 }
  },
  "components": {
    "buttonPrimary":   { "radius": "{radius.md}", "paddingY": "{spacing.3}", "paddingX": "{spacing.6}" },
    "cardService":     { "radius": "{radius.lg}", "shadow": "{shadow.card}", "padding": "{spacing.6}" },
    "posterPriceHero": { "fontFamily": "{typography.fontFamily.retail}", "fontSize": "{typography.size.priceXxl}", "fill": "{color.semantic.retail.price.primary}", "outline": "{color.semantic.retail.price.outline}" }
  }
}
