/* Projection of Imobiturbo DS v4.1.0; font faces omitted for route-local WOFF2 loading. */
/* ============================================================
   Imobiturbo Design System — tokens.css v4.1.0
   ⚠️  AUTO-GENERATED by build.mjs — Do NOT edit manually.
   Edit the canonical JSONs in tokens/ and run: node build.mjs
   ============================================================ */

/* ---------- FONTS ---------- */

/* Plus Jakarta Sans — Fonte principal (corpo + títulos) */
/* Playfair Display — Serifa elegante editorial (hero, LPs, destaques) */
/* JetBrains Mono — Dados, código, pré-headers, badges, pills */
/* ============================================================
   LIGHT THEME (:root) — White-First
   ============================================================ */
:root {
  /* ── Brand Accent (Light) ── */
  --it-accent: #69a438;
  --it-accent-hover: #5A8F2E;
  --it-accent-fg: #FFFFFF;
  --it-accent-soft: rgba(105, 164, 56, 0.12);
  --it-canvas: #FFFFFF;
  --it-surface: #FFFFFF;
  --it-surface-hover: #F4F4F5;
  --it-surface-elevated: #F4F4F5;
  --it-overlay: rgba(0, 0, 0, 0.45);
  --it-border: #E5E5E5;
  --it-border-subtle: #EEEEEE;
  --it-border-strong: #D4D4D8;
  --it-ring: #69a438;
  --it-ring-offset: #FFFFFF;
  --it-text-primary: #000000;
  --it-text-muted: #737373;
  --it-text-subtle: #A3A3A3;
  --it-success: #166534;
  --it-success-bright: #22C55E;
  --it-success-bg: rgba(34, 197, 94, 0.12);
  --it-warning: #D97706;
  --it-warning-bg: #FFFBEB;
  --it-danger: #E11D48;
  --it-danger-bg: #FFF1F2;
  --it-info: #2563EB;
  --it-info-bg: #EFF6FF;
  --it-card: #FFFFFF;
  --it-card-fg: #000000;
  --it-popover: #FFFFFF;
  --it-popover-fg: #000000;
  --it-primary: #69a438;
  --it-primary-fg: #FFFFFF;
  --it-secondary: #F4F4F5;
  --it-secondary-fg: #000000;
  --it-muted: #F4F4F5;
  --it-muted-fg: #737373;
  --it-destructive: #E11D48;
  --it-destructive-fg: #FFFFFF;

  /* ── Accent Scale Light (50–950) ── */
  --it-accent-50: #f4f9ef;
  --it-accent-100: #e7f2dc;
  --it-accent-200: #d1e6bc;
  --it-accent-300: #b2d593;
  --it-accent-400: #8ec066;
  --it-accent-500: #69a438;
  --it-accent-600: #5a8f2e;
  --it-accent-700: #467025;
  --it-accent-800: #3a5922;
  --it-accent-900: #314b20;
  --it-accent-950: #172a0c;

  /* ── Neutral Scale (50–950) ── */
  --it-neutral-50: #FAFAFA;
  --it-neutral-100: #F4F4F5;
  --it-neutral-200: #E5E5E5;
  --it-neutral-300: #D4D4D8;
  --it-neutral-400: #A3A3A3;
  --it-neutral-500: #737373;
  --it-neutral-600: #52525B;
  --it-neutral-700: #3F3F46;
  --it-neutral-800: #27272A;
  --it-neutral-900: #18181B;
  --it-neutral-950: #09090B;

  /* ── Brand Greens ── */
  --it-dark-green: #2F400D;

  /* ── Production Compatibility Aliases (Imobiturbo OS & Hub) ── */
  --color-bg: var(--it-canvas);
  --color-surface: var(--it-surface);
  --color-surface-hover: var(--it-surface-hover);
  --color-surface-elevated: var(--it-surface-elevated);
  --color-overlay: var(--it-overlay);
  --color-text: var(--it-text-primary);
  --color-text-muted: var(--it-text-muted);
  --color-text-subtle: var(--it-text-subtle);
  --color-border: var(--it-border);
  --color-border-subtle: var(--it-border-subtle);
  --color-border-strong: var(--it-border-strong);
  --color-accent: var(--it-accent);
  --color-accent-hover: var(--it-accent-hover);
  --color-accent-fg: var(--it-accent-fg);
  --color-accent-soft: var(--it-accent-soft);
  --color-accent-50: var(--it-accent-50);
  --color-accent-100: var(--it-accent-100);
  --color-accent-200: var(--it-accent-200);
  --color-accent-300: var(--it-accent-300);
  --color-accent-400: var(--it-accent-400);
  --color-accent-500: var(--it-accent-500);
  --color-accent-600: var(--it-accent-600);
  --color-accent-700: var(--it-accent-700);
  --color-accent-800: var(--it-accent-800);
  --color-accent-900: var(--it-accent-900);
  --color-accent-950: var(--it-accent-950);
  --color-neutral-50: var(--it-neutral-50);
  --color-neutral-100: var(--it-neutral-100);
  --color-neutral-200: var(--it-neutral-200);
  --color-neutral-300: var(--it-neutral-300);
  --color-neutral-400: var(--it-neutral-400);
  --color-neutral-500: var(--it-neutral-500);
  --color-neutral-600: var(--it-neutral-600);
  --color-neutral-700: var(--it-neutral-700);
  --color-neutral-800: var(--it-neutral-800);
  --color-neutral-900: var(--it-neutral-900);
  --color-neutral-950: var(--it-neutral-950);
  --color-success: var(--it-success);
  --color-success-bright: var(--it-success-bright);
  --color-success-bg: var(--it-success-bg);
  --color-warning: var(--it-warning);
  --color-warning-bg: var(--it-warning-bg);
  --color-error: var(--it-danger);
  --color-error-bg: var(--it-danger-bg);
  --color-info: var(--it-info);
  --color-info-bg: var(--it-info-bg);

  /* ── Shadcn UI Aliases (Light) ── */
  --background: var(--it-canvas);
  --foreground: var(--it-text-primary);
  --card: var(--it-card);
  --card-foreground: var(--it-card-fg);
  --popover: var(--it-popover);
  --popover-foreground: var(--it-popover-fg);
  --primary: var(--it-primary);
  --primary-foreground: var(--it-primary-fg);
  --secondary: var(--it-secondary);
  --secondary-foreground: var(--it-secondary-fg);
  --muted: var(--it-muted);
  --muted-foreground: var(--it-muted-fg);
  --accent: var(--it-accent-soft);
  --accent-foreground: var(--it-accent);
  --destructive: var(--it-destructive);
  --destructive-foreground: var(--it-destructive-fg);
  --border: var(--it-border);
  --input: var(--it-border);
  --ring: var(--it-ring);

  /* ── Typography ── */
  --font-primary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-editorial: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;

  /* ── Type Scale ── */
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-md: 18px;
  --fs-lg: 20px;
  --fs-xl: 24px;
  --fs-2xl: 30px;
  --fs-3xl: 36px;
  --fs-4xl: 48px;

  /* ── Line Heights ── */
  --lh-tight: 1.2;
  --lh-snug: 1.3;
  --lh-base: 1.5;
  --lh-loose: 1.65;

  /* ── Spacing (4pt base) ── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* ── Radius ── */
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --radius: var(--radius-md);

  /* ── Shadows (Light) ── */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05), 0 1px 1px 0 rgba(0, 0, 0, 0.03);
  --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 12px 32px -6px rgba(0, 0, 0, 0.10), 0 4px 12px -2px rgba(0, 0, 0, 0.06);

  /* ── Motion ── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 120ms;
  --dur-base: 180ms;
  --dur-slow: 320ms;
}

/* ============================================================
   DARK THEME (.dark / [data-theme="dark"])
   ============================================================ */
.dark,
[data-theme="dark"] {
  --it-accent: #c5fe6d;
  --it-accent-hover: #d4ff85;
  --it-accent-fg: #000000;
  --it-accent-soft: rgba(197, 254, 109, 0.12);
  --it-canvas: #09090B;
  --it-surface: #121212;
  --it-surface-hover: #1F1F23;
  --it-surface-elevated: #18181B;
  --it-overlay: rgba(0, 0, 0, 0.70);
  --it-border: #27272A;
  --it-border-subtle: #1F1F23;
  --it-border-strong: #3F3F46;
  --it-ring: #c5fe6d;
  --it-ring-offset: #09090B;
  --it-text-primary: #FFFFFF;
  --it-text-muted: #A1A1AA;
  --it-text-subtle: #71717A;
  --it-success: #22C55E;
  --it-success-bright: #22C55E;
  --it-success-bg: rgba(34, 197, 94, 0.15);
  --it-warning: #FBBF24;
  --it-warning-bg: rgba(217, 119, 6, 0.18);
  --it-danger: #FB7185;
  --it-danger-bg: rgba(225, 29, 72, 0.18);
  --it-info: #60A5FA;
  --it-info-bg: rgba(37, 99, 235, 0.18);
  --it-card: #121212;
  --it-card-fg: #FFFFFF;
  --it-popover: #121212;
  --it-popover-fg: #FFFFFF;
  --it-primary: #c5fe6d;
  --it-primary-fg: #000000;
  --it-secondary: #18181B;
  --it-secondary-fg: #FFFFFF;
  --it-muted: #18181B;
  --it-muted-fg: #A1A1AA;
  --it-destructive: #FB7185;
  --it-destructive-fg: #000000;

  /* Accent Scale Dark (50–950) */
  --it-accent-50: #f7fee7;
  --it-accent-100: #eefdc9;
  --it-accent-200: #ddfb98;
  --it-accent-300: #c5fe6d;
  --it-accent-400: #a7f62e;
  --it-accent-500: #88dc12;
  --it-accent-600: #69b009;
  --it-accent-700: #50860d;
  --it-accent-800: #416a11;
  --it-accent-900: #375913;
  --it-accent-950: #1b3304;

  /* Shadows (Dark) */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.30);
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.40), 0 1px 1px 0 rgba(0, 0, 0, 0.20);
  --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.45), 0 2px 4px -1px rgba(0, 0, 0, 0.30);
  --shadow-lg: 0 12px 32px -6px rgba(0, 0, 0, 0.55), 0 4px 12px -2px rgba(0, 0, 0, 0.40);

  /* ── Production Compatibility Aliases (Dark) ── */
  --color-bg: var(--it-canvas);
  --color-surface: var(--it-surface);
  --color-surface-hover: var(--it-surface-hover);
  --color-surface-elevated: var(--it-surface-elevated);
  --color-overlay: var(--it-overlay);
  --color-text: var(--it-text-primary);
  --color-text-muted: var(--it-text-muted);
  --color-text-subtle: var(--it-text-subtle);
  --color-border: var(--it-border);
  --color-border-subtle: var(--it-border-subtle);
  --color-border-strong: var(--it-border-strong);
  --color-accent: var(--it-accent);
  --color-accent-hover: var(--it-accent-hover);
  --color-accent-fg: var(--it-accent-fg);
  --color-accent-soft: var(--it-accent-soft);
  --color-accent-50: var(--it-accent-50);
  --color-accent-100: var(--it-accent-100);
  --color-accent-200: var(--it-accent-200);
  --color-accent-300: var(--it-accent-300);
  --color-accent-400: var(--it-accent-400);
  --color-accent-500: var(--it-accent-500);
  --color-accent-600: var(--it-accent-600);
  --color-accent-700: var(--it-accent-700);
  --color-accent-800: var(--it-accent-800);
  --color-accent-900: var(--it-accent-900);
  --color-accent-950: var(--it-accent-950);
  --color-success: var(--it-success);
  --color-success-bright: var(--it-success-bright);
  --color-success-bg: var(--it-success-bg);
  --color-warning: var(--it-warning);
  --color-warning-bg: var(--it-warning-bg);
  --color-error: var(--it-danger);
  --color-error-bg: var(--it-danger-bg);
  --color-info: var(--it-info);
  --color-info-bg: var(--it-info-bg);

  /* ── Shadcn UI Aliases (Dark) ── */
  --background: var(--it-canvas);
  --foreground: var(--it-text-primary);
  --card: var(--it-card);
  --card-foreground: var(--it-card-fg);
  --popover: var(--it-popover);
  --popover-foreground: var(--it-popover-fg);
  --primary: var(--it-primary);
  --primary-foreground: var(--it-primary-fg);
  --secondary: var(--it-secondary);
  --secondary-foreground: var(--it-secondary-fg);
  --muted: var(--it-muted);
  --muted-foreground: var(--it-muted-fg);
  --accent: var(--it-accent-soft);
  --accent-foreground: var(--it-accent);
  --destructive: var(--it-destructive);
  --destructive-foreground: var(--it-destructive-fg);
  --border: var(--it-border);
  --input: var(--it-border);
  --ring: var(--it-ring);
}

/* ============================================================
   BASE TYPOGRAPHY CLASSES
   ============================================================ */
.it-h1 {
  font-family: var(--font-primary);
  font-size: var(--fs-3xl);
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
  color: var(--it-text-primary);
}

.it-h2 {
  font-family: var(--font-primary);
  font-size: var(--fs-xl);
  font-weight: 600;
  line-height: var(--lh-snug);
  letter-spacing: -0.01em;
  color: var(--it-text-primary);
}

.it-h3 {
  font-family: var(--font-primary);
  font-size: var(--fs-md);
  font-weight: 600;
  line-height: 1.4;
  color: var(--it-text-primary);
}

.it-p {
  font-family: var(--font-primary);
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: var(--lh-base);
  color: var(--it-text-muted);
}

/* Editorial — Playfair Display Italic para hero/LP */
.it-editorial {
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
  color: var(--it-text-primary);
}

/* Mono — Pré-headers, badges, pills, dados.
   ÚNICO contexto onde uppercase é permitido. */
.it-mono {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Selection */
::selection { background: var(--it-accent); color: var(--it-accent-fg); }
