/* =============================================================================
   PRIMITIVES  —  escalas cruas do design system
   -----------------------------------------------------------------------------
   Único ficheiro onde é permitido usar hex / px / valores "mágicos".
   Nada de específico de marca aqui além de um azul neutro por defeito.
   Cada projeto NÃO deve editar este ficheiro — deve redefinir a camada
   SEMANTIC (semantic.css) ou usar a página Definições → Tema LBC.
   ========================================================================== */

:root {
  /* ---- Cor: neutros ---------------------------------------------------- */
  --lbc-white:      #ffffff;
  --lbc-black:      #000000;
  --lbc-grey-50:    #f8f9fa;
  --lbc-grey-100:   #f1f3f5;
  --lbc-grey-200:   #e9ecef;
  --lbc-grey-300:   #dee2e6;
  --lbc-grey-400:   #ced4da;
  --lbc-grey-500:   #adb5bd;
  --lbc-grey-600:   #868e96;
  --lbc-grey-700:   #495057;
  --lbc-grey-800:   #343a40;
  --lbc-grey-900:   #212529;
  --lbc-grey-950:   #121416;

  /* ---- Cor: marca por defeito (azul neutro) -------------------------- */
  --lbc-brand-50:   #e7f1ff;
  --lbc-brand-100:  #c7ddff;
  --lbc-brand-200:  #93bbff;
  --lbc-brand-300:  #5c96ff;
  --lbc-brand-400:  #2f77f5;
  --lbc-brand-500:  #155edb;
  --lbc-brand-600:  #0f4bb0;
  --lbc-brand-700:  #0c3c8c;
  --lbc-brand-800:  #0a2f6d;
  --lbc-brand-900:  #082452;

  /* ---- Cor: funcionais ---------------------------------------------- */
  --lbc-green-100:  #e6f4e6;
  --lbc-green-500:  #2f9e44;
  --lbc-green-700:  #1f7a33;
  --lbc-amber-100:  #fff4e0;
  --lbc-amber-500:  #e8940c;
  --lbc-amber-700:  #b46f06;
  --lbc-red-100:    #fdeaea;
  --lbc-red-500:    #e03131;
  --lbc-red-700:    #b02020;
  --lbc-cyan-100:   #e3f7fb;
  --lbc-cyan-500:   #1098ad;
  --lbc-cyan-700:   #0b7285;

  /* ---- Tipografia: famílias ---------------------------------------- */
  --lbc-font-sans:  system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
  --lbc-font-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  --lbc-font-mono:  ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  /* ---- Tipografia: escala modular (base 16px, ratio ~1.2) --------- */
  --lbc-font-size-2xs:  0.694rem;   /* 11.1px */
  --lbc-font-size-xs:   0.833rem;   /* 13.3px */
  --lbc-font-size-sm:   0.9rem;     /* 14.4px */
  --lbc-font-size-base: 1rem;       /* 16px   */
  --lbc-font-size-md:   1.125rem;   /* 18px   */
  --lbc-font-size-lg:   1.333rem;   /* 21.3px */
  --lbc-font-size-xl:   1.602rem;   /* 25.6px */
  --lbc-font-size-2xl:  1.802rem;   /* 28.8px */
  --lbc-font-size-3xl:  2.281rem;   /* 36.5px */
  --lbc-font-size-4xl:  2.887rem;   /* 46.2px */

  --lbc-line-height-tight:   1.2;
  --lbc-line-height-snug:    1.35;
  --lbc-line-height-normal:  1.55;
  --lbc-line-height-relaxed: 1.7;

  --lbc-font-weight-normal:   400;
  --lbc-font-weight-medium:   500;
  --lbc-font-weight-semibold: 600;
  --lbc-font-weight-bold:     700;

  --lbc-letter-spacing-tight:  -0.01em;
  --lbc-letter-spacing-normal:  0;
  --lbc-letter-spacing-wide:    0.04em;

  /* ---- Espaçamento (base 4px) ------------------------------------- */
  --lbc-space-3xs: 0.125rem;  /* 2px  */
  --lbc-space-2xs: 0.25rem;   /* 4px  */
  --lbc-space-xs:  0.5rem;    /* 8px  */
  --lbc-space-sm:  0.75rem;   /* 12px */
  --lbc-space-md:  1rem;      /* 16px */
  --lbc-space-lg:  1.5rem;    /* 24px */
  --lbc-space-xl:  2rem;      /* 32px */
  --lbc-space-2xl: 3rem;      /* 48px */
  --lbc-space-3xl: 4.5rem;    /* 72px */
  --lbc-space-4xl: 6rem;      /* 96px */

  /* ---- Raios ---------------------------------------------------- */
  --lbc-radius-none:   0;
  --lbc-radius-xs:     2px;
  --lbc-radius-sm:     4px;
  --lbc-radius-md:     8px;
  --lbc-radius-lg:     12px;
  --lbc-radius-xl:     16px;
  --lbc-radius-pill:   999px;
  --lbc-radius-circle: 50%;

  /* ---- Sombras ------------------------------------------------- */
  --lbc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.08);
  --lbc-shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.06);
  --lbc-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --lbc-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.18);

  /* ---- Traços ------------------------------------------------- */
  --lbc-border-width-sm: 1px;
  --lbc-border-width-md: 2px;
  --lbc-border-width-lg: 4px;

  /* ---- Transições ------------------------------------------- */
  --lbc-transition-fast: 120ms ease;
  --lbc-transition-base: 200ms ease;
  --lbc-transition-slow: 320ms ease;

  /* ---- z-index --------------------------------------------- */
  --lbc-z-base:     1;
  --lbc-z-dropdown: 1000;
  --lbc-z-sticky:   1020;
  --lbc-z-overlay:  1040;
  --lbc-z-modal:    1050;
  --lbc-z-toast:    1080;
  --lbc-z-max:      2147483647;   /* topo absoluto — acima de headers/sticky de terceiros */

  /* ---- Larguras de contentor ----------------------------- */
  --lbc-container-max: 1320px;
  --lbc-content-max:   72ch;
}
