/* =====================================================================
   ABEPRO Design System 2026, Design Tokens
   Fonte: abepro-design-system-2026.md §15.4 (arquivo consolidado)
   ===================================================================== */

/* ---------------------------------------------------------------------
   Optima BQ Black Italic, fonte dos títulos (arquivo local)
   Único estilo existente. Declarada em normal E italic apontando para o
   mesmo arquivo: qualquer requisição casa com o desenho real e o browser
   nunca aplica itálico ou negrito sintético sobre um itálico já black.
   Ver assets/fonts/README.md (correção de cmap e pendência de licença).
   --------------------------------------------------------------------- */
@font-face {
  font-family: 'Optima BQ';
  src: url('../fonts/OptimaBQ-BlackItalic.woff2') format('woff2'),
       url('../fonts/OptimaBQ-BlackItalic.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Optima BQ';
  src: url('../fonts/OptimaBQ-BlackItalic.woff2') format('woff2'),
       url('../fonts/OptimaBQ-BlackItalic.woff') format('woff');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* ---------- Brand (Azul ABEPRO) ---------- */
  --brand-950: #001228;
  --brand-900: #001A3F;
  --brand-800: #002B65;
  --brand-700: #003F87; /* COR PRIMÁRIA */
  --brand-600: #0051A8;
  --brand-500: #1A6AD4;
  --brand-400: #4289E3;
  --brand-300: #7AB1EE;
  --brand-200: #B5D4F7;
  --brand-100: #D8E9FB;
  --brand-50:  #EBF3FF;

  /* ---------- Accent (Dourado Acadêmico) ---------- */
  --accent-700: #7A4D05;
  --accent-600: #C9820A; /* COR ACCENT PRIMÁRIA */
  --accent-500: #E09820;
  --accent-400: #EBB050;
  --accent-100: #FADB9F;
  --accent-50:  #FDF8EC;

  /* ---------- Neutral (Cinza-Azulado) ---------- */
  --neutral-900: #0F1723;
  --neutral-800: #1E2A3A; /* texto principal */
  --neutral-700: #2D3D54;
  --neutral-600: #455268;
  --neutral-500: #5E7082;
  --neutral-400: #7A8EA3;
  --neutral-300: #9DB0C3;
  --neutral-200: #C3D1DC;
  --neutral-100: #E1E8EF;
  --neutral-50:  #F3F6F9;
  --white:       #FFFFFF;

  /* ---------- Semânticas ---------- */
  --success-700: #0F6B38;
  --success-500: #1B8A4B;
  --success-100: #D4F0E1;
  --warning-600: #C9820A;
  --warning-100: #FDF4E3;
  --error-600:   #C52B2B;
  --error-500:   #D43F3F;
  --error-100:   #FAE0E0;

  /* Decoradores de mega-menu */
  --deco-teal:  #7AB5C4;
  --deco-green: #8FC9A0;

  /* ---------- Tipografia ----------
     --font-display  títulos (Optima BQ Black Italic, arquivo local)
     --font-sans     texto corrido, navegação, botões, formulários
     --font-mono     dados e etiquetas técnicas
     --font-serif    alias legado de --font-display, mantido só para não quebrar
                     CSS de terceiros ou trechos inline antigos. Código novo usa
                     --font-display.
     A Inter vem logo depois da Optima na pilha de display: o arquivo da Optima
     não tem glifo para º, ª e €, e assim esses caracteres caem numa fonte que
     já está carregada em vez de num tipo aleatório do sistema. */
  --font-display: 'Optima BQ', 'Inter', Optima, Candara, 'Gill Sans', 'Segoe UI', sans-serif;
  --font-sans:  'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono:  'IBM Plex Mono', 'Courier New', monospace;
  --font-serif: var(--font-display);

  /* Escala tipográfica (base 15px, ratio 1.25) */
  --text-xs:      0.733rem;  /* 11px */
  --text-sm:      0.833rem;  /* 12.5px */
  --text-base:    1rem;      /* 15px */
  --text-md:      1.067rem;  /* 16px */
  --text-lg:      1.2rem;    /* 18px */
  --text-xl:      1.467rem;  /* 22px */
  --text-2xl:     1.867rem;  /* 28px */
  --text-3xl:     2.333rem;  /* 35px */
  --text-4xl:     2.933rem;  /* 44px */
  --text-display: 3.733rem;  /* 56px */

  /* ---------- Espaçamento (base 8px) ---------- */
  --space-0-5: 0.25rem;
  --space-1:   0.5rem;
  --space-1-5: 0.75rem;
  --space-2:   1rem;
  --space-3:   1.5rem;
  --space-4:   2rem;
  --space-5:   2.5rem;
  --space-6:   3rem;
  --space-8:   4rem;
  --space-10:  5rem;
  --space-12:  6rem;

  /* ---------- Border radius ---------- */
  --radius-sm:   4px;
  --radius-md:   6px;
  --radius-lg:   8px;
  --radius-xl:   12px;
  --radius-2xl:  16px;
  --radius-pill: 9999px;

  /* ---------- Bordas ---------- */
  --border-light:   1px solid var(--neutral-100);
  --border-default: 1px solid var(--neutral-200);
  --border-medium:  1.5px solid var(--neutral-200);
  --border-focus:   2px solid var(--brand-500);
  --border-brand:   3px solid var(--brand-500);
  --border-accent:  3px solid var(--accent-600);

  /* ---------- Sombras (tom brand-800) ---------- */
  --shadow-xs: 0 1px 3px rgba(0,43,101,.05);
  --shadow-sm: 0 2px 8px rgba(0,43,101,.07);
  --shadow-md: 0 4px 16px rgba(0,43,101,.10);
  --shadow-lg: 0 8px 28px rgba(0,43,101,.13);
  --shadow-xl: 0 16px 48px rgba(0,43,101,.16);

  /* ---------- Motion ---------- */
  --duration-fast:   120ms;
  --duration-base:   200ms;
  --duration-slow:   350ms;
  --duration-xslow:  600ms;
  --duration-count:  1600ms;
  --ease-default: cubic-bezier(.4,0,.2,1);
  --ease-out:     cubic-bezier(0,0,.2,1);
  --ease-in:      cubic-bezier(.4,0,1,1);
  --ease-spring:  cubic-bezier(.34,1.56,.64,1);

  /* ---------- Layout ---------- */
  --wrap-max: 1300px;
  --wrap-pad: 28px;
  --edge: clamp(20px, 4vw, 72px); /* (legado), barras superiores agora usam container de 1300px */
  --z-utility: 100;
  --z-header: 200;
  --z-megamenu: 300;
  --z-drawer: 800;
  --z-modal: 900;
  --z-skip: 9999;
}
