/* ---------------------------------------------------------------------------
   Restau360 · design tokens
   Direção visual: "Operação Editorial" — tinta profunda + papel quente,
   verde-operação como cor semântica (no verde = sob controle), brasa para
   atenção, vermelho SOMENTE para prejuízo/falha.
   --------------------------------------------------------------------------- */

:root {
  /* ---- superfícies -------------------------------------------------- */
  --ink-900: oklch(16% 0.015 250);
  --ink-800: oklch(21% 0.018 250);
  --ink-700: oklch(27% 0.02 250);
  --ink-600: oklch(36% 0.02 250);

  --paper: oklch(97% 0.008 85);
  --paper-raised: oklch(99.2% 0.005 85);
  --paper-sunken: oklch(94.5% 0.011 85);

  /* ---- texto -------------------------------------------------------- */
  --text-strong: oklch(19% 0.015 250);
  --text: oklch(34% 0.012 250);
  --text-muted: oklch(52% 0.012 250);
  --text-on-ink: oklch(96% 0.008 85);
  --text-on-ink-muted: oklch(72% 0.012 250);

  /* ---- marca / semântica -------------------------------------------- */
  --brand: oklch(60% 0.135 166);
  --brand-deep: oklch(48% 0.12 166);
  --brand-bright: oklch(74% 0.15 166);
  --brand-wash: oklch(95% 0.03 166);

  --ember: oklch(72% 0.16 58);
  --ember-deep: oklch(58% 0.15 48);
  --alert: oklch(57% 0.2 25);
  --alert-wash: oklch(94% 0.035 25);

  /* ---- linhas e sombras --------------------------------------------- */
  --line: oklch(88% 0.012 85);
  --line-strong: oklch(80% 0.014 85);
  --line-on-ink: oklch(100% 0 0 / 0.12);

  --shadow-sm: 0 1px 2px oklch(20% 0.02 250 / 0.06), 0 2px 6px oklch(20% 0.02 250 / 0.05);
  --shadow-md: 0 2px 4px oklch(20% 0.02 250 / 0.05), 0 12px 28px oklch(20% 0.02 250 / 0.09);
  --shadow-lg: 0 4px 8px oklch(20% 0.02 250 / 0.06), 0 30px 60px oklch(20% 0.02 250 / 0.14);

  /* ---- tipografia ---------------------------------------------------- */
  --font-display: "Archivo", "Archivo Fallback", system-ui, sans-serif;
  --font-body: "Inter", "Inter Fallback", system-ui, sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace;

  --text-eyebrow: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: clamp(1rem, 0.96rem + 0.18vw, 1.0625rem);
  --text-lead: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
  --text-h3: clamp(1.25rem, 1.14rem + 0.5vw, 1.5rem);
  --text-h2: clamp(1.9rem, 1.45rem + 1.6vw, 2.9rem);
  --text-hero: clamp(2.3rem, 1.7rem + 2.1vw, 3.5rem);
  --text-stat: clamp(1.9rem, 1.4rem + 1.7vw, 2.9rem);

  /* ---- ritmo ---------------------------------------------------------- */
  --space-section: clamp(4.5rem, 3rem + 6vw, 9rem);
  --space-block: clamp(2rem, 1.4rem + 2vw, 3.5rem);
  --gutter: clamp(1.25rem, 0.7rem + 2.2vw, 2.5rem);
  --container: 78rem;
  --measure: 34rem;

  /* ---- forma ---------------------------------------------------------- */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;

  /* ---- movimento ------------------------------------------------------ */
  --duration-fast: 140ms;
  --duration-normal: 280ms;
  --duration-slow: 700ms;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.28, 0.64, 1);
}

/* Grão sutil aplicado às faixas escuras — textura sem peso de imagem. */
:root {
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");
}
