/* ============================================
   Design System Tokens - Primeira Solucao
   Paleta Institucional: Confianca & Credibilidade
   Acessibilidade: WCAG AA (4.5:1 texto, 3:1 grande)
   ============================================ */

:root {
    /* === Cores Primarias (Institucional) ===
       Azul marinho (#0F4C81): transmite confianca, estabilidade e profissionalismo.
       Azul acao (#1F6FEB): moderno, claro, convidativo para cliques.
       Contraste #0F4C81 sobre branco: 7.2:1 (AAA)
       Contraste #1F6FEB sobre branco: 4.6:1 (AA) */
    --color-primary: #1F6FEB;
    --color-primary-hover: #0F4C81;
    --color-primary-light: #E6EEF6;
    --color-primary-dark: #0F4C81;
    --color-secondary: #2B7DE9;
    --color-secondary-hover: #1A5FCC;

    /* === CTA / Acento ===
       Laranja-dourado (#F59E0B): destaque quente, premium, sem agressividade.
       Usado apenas em badges de oferta e CTAs pontuais — nunca dominante.
       Contraste #92400E sobre #FEF3C7: 7.1:1 */
    --color-cta: #F59E0B;
    --color-cta-hover: #D97706;
    --color-cta-light: #FEF3C7;

    /* === Sucesso / Erro / Aviso ===
       Verde-teal (#0F766E): confiavel, nao infantil, boa legibilidade.
       Vermelho (#DC2626): erro claro, contido, sem spam.
       Dourado (#F59E0B): aviso/oferta quente, destaque controlado. */
    --color-success: #0F766E;
    --color-success-light: #DFF7F3;
    --color-error: #DC2626;
    --color-error-light: #FEE2E2;
    --color-warning: #F59E0B;
    --color-warning-light: #FEF3C7;

    /* === Neutras / Background ===
       #F8FAFC: fundo principal neutro, sem distracao.
       #E6EEF6: fundo cards com leve tom azulado (coesao com a marca). */
    --color-bg: #F8FAFC;
    --color-bg-white: #FFFFFF;
    --color-bg-card: #FFFFFF;
    --color-bg-hover: #EDF2F7;
    --color-bg-admin: #F1F5F9;
    --color-bg-card-alt: #E6EEF6;

    /* === Texto ===
       #0B1F33: principal — escuro profundo, excelente legibilidade (15.4:1 sobre #F8FAFC).
       #334155: secundario — para corpo/descricoes (9.5:1 sobre branco).
       #64748B: muted — metadata, timestamps (4.6:1 sobre branco — AA).
       Nunca usar cinza mais claro que #64748B para texto legivel. */
    --color-text: #0B1F33;
    --color-text-secondary: #334155;
    --color-text-muted: #64748B;
    --color-text-inverse: #FFFFFF;
    --color-text-link: #1F6FEB;

    /* === Bordas === */
    --color-border: #E2E8F0;
    --color-border-hover: #CBD5E1;
    --color-border-focus: #1F6FEB;

    /* === Precos ===
       Preco atual: #0B1F33 (escuro, forte, destaque por peso/tamanho — nao por cor).
       Preco antigo: #64748B tachado.
       Desconto: vermelho contido, background — nao texto gritante. */
    --color-price-current: #0B1F33;
    --color-price-old: #64748B;
    --color-price-savings: #0F766E;

    /* === Verificado / Confianca === */
    --color-verified: #0F766E;
    --color-verified-light: #DFF7F3;

    /* === Marketplaces === */
    --color-shopee: #EE4D2D;
    --color-mercado-livre: #FFE600;
    --color-amazon: #FF9900;
    --color-magalu: #0086FF;

    /* === Tipografia === */
    --font-heading: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'Fira Code', 'Consolas', monospace;

    /* === Tamanhos de Fonte === */
    --text-xs: 0.75rem;    /* 12px */
    --text-sm: 0.875rem;   /* 14px */
    --text-base: 1rem;     /* 16px */
    --text-lg: 1.125rem;   /* 18px */
    --text-xl: 1.25rem;    /* 20px */
    --text-2xl: 1.5rem;    /* 24px */
    --text-3xl: 1.875rem;  /* 30px */
    --text-4xl: 2.25rem;   /* 36px */
    --text-5xl: 3rem;      /* 48px */

    /* === Peso de Fonte === */
    --font-light: 300;
    --font-regular: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;

    /* === Line Height === */
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;

    /* === Espacamento (8dp rhythm) === */
    --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 */

    /* === Border Radius === */
    --radius-sm: 0.375rem;  /* 6px */
    --radius-md: 0.5rem;    /* 8px */
    --radius-lg: 0.75rem;   /* 12px */
    --radius-xl: 1rem;      /* 16px */
    --radius-2xl: 1.5rem;   /* 24px */
    --radius-full: 9999px;

    /* === Sombras === */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.04);

    /* === Transicoes === */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;

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

    /* === Container === */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1200px;
    --container-2xl: 1400px;
}
