/* =========================================================================
   Design Tokens — fonte única de verdade visual do Projeto-Sites.
   Todo site importa este arquivo. Componentes usam var(--...), nunca valores soltos.
   Personalize as cores de marca por site sobrescrevendo as variáveis --brand-*.
   ========================================================================= */
:root {
  /* Cor — marca (sobrescreva por site) */
  --brand-primary: #2563eb;
  --brand-primary-hover: #1d4ed8;
  --brand-secondary: #0f172a;
  --brand-accent: #f59e0b;

  /* Cor — neutros */
  --color-bg: #ffffff;
  --color-surface: #f8fafc;
  --color-border: #e2e8f0;
  --color-text: #0f172a;
  --color-text-muted: #475569;
  --color-text-inverse: #ffffff;

  /* Cor — estados */
  --color-success: #16a34a;
  --color-warning: #d97706;
  --color-danger: #dc2626;
  --color-focus: #2563eb;

  /* Tipografia */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-heading: var(--font-sans);
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* Escala tipográfica fluida (clamp: mínimo, preferido, máximo) */
  --fs-xs:   clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --fs-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.9375rem);
  --fs-base: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --fs-lg:   clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem);
  --fs-xl:   clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  --fs-2xl:  clamp(1.75rem, 1.45rem + 1.4vw, 2.5rem);
  --fs-3xl:  clamp(2.25rem, 1.8rem + 2.2vw, 3.5rem);

  --lh-tight: 1.15;
  --lh-base: 1.6;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --measure: 65ch; /* largura de leitura confortável */

  /* Espaçamento — escala consistente (base 4px) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-12: 6rem;

  /* Raio, borda, sombra */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-full: 9999px;
  --border-width: 1px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.1);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.14);

  /* Layout */
  --container-max: 75rem;   /* 1200px */
  --container-pad: var(--space-5);

  /* Breakpoints (referência p/ media queries; use os mesmos valores) */
  --bp-sm: 40em; --bp-md: 48em; --bp-lg: 64em; --bp-xl: 80em;

  /* Movimento */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --z-header: 100; --z-modal: 1000;
}

/* Suporte a tema escuro por preferência (opcional; ajuste por site) */
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #0b1120;
    --color-surface: #111a2e;
    --color-border: #263149;
    --color-text: #e2e8f0;
    --color-text-muted: #94a3b8;
  }
}
