/* ============================================================
   VaGOu! — Design Tokens
   Identidade visual herdada do app (app.usevagou.com.br):
   gradiente roxo → rosa, tema escuro como padrão.
   ============================================================ */

:root {
  /* ---------- Cores: marca ---------- */
  --color-primary: #a855f7;
  --color-primary-600: #9333ea;
  --color-primary-700: #7e22ce;
  --color-accent: #ec4899;
  --color-accent-600: #db2777;
  --gradient-brand: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
  --gradient-brand-hover: linear-gradient(135deg, #9333ea 0%, #db2777 100%);
  --color-primary-soft: rgba(168, 85, 247, 0.14);
  --color-accent-soft: rgba(236, 72, 153, 0.14);
  --color-primary-contrast: #ffffff;

  /* ---------- Cores: neutras (tema escuro, padrão) ---------- */
  --color-ink: #ffffff;
  --color-ink-soft: rgba(255, 255, 255, 0.75);
  --color-ink-muted: rgba(255, 255, 255, 0.55);
  --color-bg: #0b0b0c;
  --bg-gradient: radial-gradient(circle at 50% -10%, #2b2b2b 0%, #1e1e1e 28%, #111111 52%, #000000 100%);
  --color-bg-soft: #141416;
  --color-bg-card: linear-gradient(180deg, rgba(43, 43, 43, 0.75) 0%, rgba(17, 17, 17, 0.95) 100%);
  --color-bg-dark: #000000;
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-strong: rgba(255, 255, 255, 0.22);

  /* ---------- Cores: dependentes de tema ---------- */
  --color-header-bg: #0a0a0b;
  --color-hover-soft: rgba(255, 255, 255, 0.06);
  --color-section-soft: rgba(255, 255, 255, 0.02);
  --color-mock-bar: rgba(255, 255, 255, 0.08);
  --color-grid-line: rgba(255, 255, 255, 0.022);
  --color-tag-text: #e9d5ff;
  --btn-contrast-bg: #ffffff;
  --btn-contrast-text: #000000;
  --shadow-header-solid: 0 4px 28px rgba(0, 0, 0, 0.55);
  --color-header-border-solid: rgba(255, 255, 255, 0.16);
  --color-toggle-badge-bg: rgba(255, 255, 255, 0.18);

  /* ---------- Cores: feedback ---------- */
  --color-success: #22c55e;
  --color-error: #f87171;
  --color-warning: #facc15;
  --color-focus: #c084fc;

  /* ---------- Tipografia ---------- */
  --font-sans: "Inter", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-logo: "Arial Black", Arial, Helvetica, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: clamp(1.25rem, 1.1rem + 0.8vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  --text-2xl: clamp(1.875rem, 1.4rem + 2.4vw, 3rem);
  --text-3xl: clamp(2.25rem, 1.5rem + 3.8vw, 4.25rem);

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.6;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---------- Espaçamento (escala 4px) ---------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  --section-y: clamp(3rem, 2rem + 5vw, 6rem);

  /* ---------- Layout ---------- */
  --container-max: 75rem;
  --container-pad: clamp(1rem, 0.5rem + 2.5vw, 2rem);

  /* ---------- Bordas ---------- */
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-pill: 999px;

  /* ---------- Sombras ---------- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.55);
  --shadow-brand: 0 8px 28px rgba(168, 85, 247, 0.35);

  /* ---------- Z-index ---------- */
  --z-base: 0;
  --z-sticky: 100;
  --z-dropdown: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* ---------- Transições ---------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 450ms;
}

/* ============================================================
   Tema claro (padrão) — ativado por html[data-theme="light"].
   O tema escuro original fica nos valores base do :root acima.
   ============================================================ */
html[data-theme="light"] {
  --color-ink: #111827;
  --color-ink-soft: rgba(17, 24, 39, 0.78);
  --color-ink-muted: rgba(17, 24, 39, 0.58);
  --color-bg: #ffffff;
  --bg-gradient: radial-gradient(circle at 50% -10%, #f5f0ff 0%, #fdfcff 30%, #ffffff 60%, #ffffff 100%);
  --color-bg-soft: #f7f7f9;
  --color-bg-card: linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
  --color-bg-dark: #f3f4f6;
  --color-border: rgba(17, 24, 39, 0.1);
  --color-border-strong: rgba(17, 24, 39, 0.22);
  --color-focus: #7e22ce;

  --shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.06);
  --shadow-md: 0 4px 16px rgba(17, 24, 39, 0.08);
  --shadow-lg: 0 12px 40px rgba(17, 24, 39, 0.12);
  --shadow-brand: 0 8px 28px rgba(168, 85, 247, 0.22);

  --color-header-bg: #ffffff;
  --color-hover-soft: rgba(17, 24, 39, 0.05);
  --color-section-soft: rgba(17, 24, 39, 0.025);
  --color-mock-bar: rgba(17, 24, 39, 0.08);
  --color-grid-line: rgba(17, 24, 39, 0.03);
  --color-tag-text: #7e22ce;
  --btn-contrast-bg: #111827;
  --btn-contrast-text: #ffffff;
  --shadow-header-solid: 0 4px 24px rgba(17, 24, 39, 0.08);
  --color-header-border-solid: rgba(17, 24, 39, 0.12);
  --color-toggle-badge-bg: rgba(126, 34, 206, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 1ms;
    --duration-base: 1ms;
    --duration-slow: 1ms;
  }
}
