/* ==========================================================================
   THADIGITAL — DESIGN TOKENS v1.0
   Arquivo central de tokens. Importe em qualquer projeto da ThaDigital.
   ========================================================================== */

:root {
  /* ====== CORES PRIMÁRIAS ====== */
  --thad-red-primary: #BD0F0F;       /* CTA principal, logo, links importantes */
  --thad-rose-secondary: #ECC6BF;    /* Backgrounds suaves, badges, hover sutil */
  --thad-terracotta-tertiary: #BF6C54; /* Accents, ícones decorativos, charts */
  --thad-background: #F1F0F0;        /* Background base de seções claras */

  /* ====== ESCALA DE VERMELHOS (paleta expandida) ====== */
  --thad-red-50:  #FEEDED;
  --thad-red-100: #FDBFBF;
  --thad-red-200: #FC8383;
  --thad-red-300: #FB2727;
  --thad-red-400: #BD0F0F;  /* primária */
  --thad-red-500: #7E0606;
  --thad-red-600: #450202;

  /* ====== ESCALA DE TERRACOTAS/NUDES ====== */
  --thad-nude-50:  #F9EEED;
  --thad-nude-100: #ECC6BF;  /* secundária */
  --thad-nude-200: #E19582;
  --thad-nude-300: #BF6C54;  /* terciária */
  --thad-nude-400: #8C4E3C;
  --thad-nude-500: #5D3225;
  --thad-nude-600: #321810;

  /* ====== ESCALA DE NEUTROS (cinzas warm) ====== */
  --thad-neutral-50:  #F1F0F0;  /* background */
  --thad-neutral-100: #D1CDCD;
  --thad-neutral-200: #ADA5A5;
  --thad-neutral-300: #8D7E7E;
  --thad-neutral-400: #675B5B;
  --thad-neutral-500: #433B3B;
  --thad-neutral-600: #221D1D;

  /* ====== TOKENS SEMÂNTICOS ====== */
  --color-bg-page: #FFFFFF;
  --color-bg-section: var(--thad-neutral-50);
  --color-bg-card: #FFFFFF;
  --color-bg-inverse: var(--thad-neutral-600);

  --color-text-primary: var(--thad-neutral-600);
  --color-text-secondary: var(--thad-neutral-400);
  --color-text-muted: var(--thad-neutral-300);
  --color-text-inverse: #FFFFFF;
  --color-text-brand: var(--thad-red-primary);

  --color-border-subtle: var(--thad-neutral-100);
  --color-border-default: var(--thad-neutral-200);
  --color-border-strong: var(--thad-neutral-400);

  --color-action-primary: var(--thad-red-primary);
  --color-action-primary-hover: var(--thad-red-500);
  --color-action-primary-active: var(--thad-red-600);
  --color-action-secondary: var(--thad-nude-300);
  --color-action-secondary-hover: var(--thad-nude-400);

  --color-success: #2D7A3E;
  --color-warning: #C77A1F;
  --color-error: var(--thad-red-300);
  --color-info: var(--thad-nude-300);

  /* ====== TIPOGRAFIA ====== */
  --font-display: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;

  /* Escala tipográfica (mobile-first, escala 1.250 major third) */
  --text-xs: 0.75rem;     /* 12px - labels, captions */
  --text-sm: 0.875rem;    /* 14px - secundário */
  --text-base: 1rem;      /* 16px - corpo */
  --text-lg: 1.125rem;    /* 18px - destaque corpo */
  --text-xl: 1.375rem;    /* 22px - subtítulos */
  --text-2xl: 1.75rem;    /* 28px - H4 */
  --text-3xl: 2.25rem;    /* 36px - H3 */
  --text-4xl: 2.875rem;   /* 46px - H2 */
  --text-5xl: 3.625rem;   /* 58px - H1 */
  --text-6xl: 4.5rem;     /* 72px - hero display */

  /* Pesos */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Line heights */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;
  --tracking-wider: 0.1em;

  /* ====== ESPAÇAMENTO (escala 4px) ====== */
  --space-0: 0;
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */
  --space-32: 8rem;     /* 128px */

  /* ====== RAIOS DE BORDA ====== */
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-2xl: 32px;
  --radius-full: 9999px;

  /* ====== SOMBRAS ====== */
  --shadow-xs: 0 1px 2px rgba(34, 29, 29, 0.04);
  --shadow-sm: 0 2px 4px rgba(34, 29, 29, 0.06), 0 1px 2px rgba(34, 29, 29, 0.04);
  --shadow-md: 0 4px 12px rgba(34, 29, 29, 0.08), 0 2px 4px rgba(34, 29, 29, 0.04);
  --shadow-lg: 0 12px 32px rgba(34, 29, 29, 0.10), 0 4px 8px rgba(34, 29, 29, 0.04);
  --shadow-xl: 0 24px 48px rgba(34, 29, 29, 0.12), 0 8px 16px rgba(34, 29, 29, 0.04);
  --shadow-brand: 0 12px 32px rgba(189, 15, 15, 0.18);

  /* ====== TRANSIÇÕES ====== */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --easing-elegant: cubic-bezier(0.25, 0.1, 0.25, 1);

  /* ====== LAYOUT / GRID ====== */
  --container-max: 1280px;
  --container-narrow: 960px;
  --container-prose: 720px;
  --gutter: var(--space-6);

  /* ====== BREAKPOINTS (referência — uso em @media) ====== */
  /* sm: 640px | md: 768px | lg: 1024px | xl: 1280px | 2xl: 1440px */

  /* ====== Z-INDEX ====== */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-popover: 500;
  --z-toast: 600;
  --z-tooltip: 700;
}

/* ====== UTILITÁRIOS BASE ====== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background: var(--color-bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  margin: 0;
}
img, video, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
