/* ============================================================
   Altec Sistemas — Typography tokens
   Fonte ÚNICA de UI: Nunito (corpo + títulos de produto).
   Metropolis = marca/print. garuh = LOGO apenas.
   Regra: na UI o peso mínimo é Medium (500). Nunca Regular (400).

   Nomes CANÔNICOS do Figma (--font-weight-*, --font-size-*,
   --line-height-*) são primários; os nomes curtos (--fw-*, --fs-*,
   --lh-*) usados pelos componentes ficam como ALIASES.
   ============================================================ */
:root {
  /* ---- Families ---------------------------------------- */
  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "DM Sans", system-ui, sans-serif;       /* títulos → DM Sans */
  --font-brand: "DM Sans", "Manrope", sans-serif;         /* títulos/headlines → DM Sans */

  /* ---- color/… → font/weight (Figma · UI mínimo 500) --- */
  --font-weight-medium: 500; /* @kind font */
  --font-weight-semibold: 600; /* @kind font */
  --font-weight-bold: 700; /* @kind font */
  --font-weight-extrabold: 800; /* @kind font */

  /* ---- font/size (Figma · body 14–16) ------------------ */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 30px;
  --font-size-3xl: 34px;
  --font-size-4xl: 44px;

  /* ---- font/line-height -------------------------------- */
  --line-height-tight: 1.15; /* @kind other */
  --line-height-snug: 1.3; /* @kind other */
  --line-height-normal: 1.5; /* @kind other */

  /* ============================================================
     ALIASES — nomes curtos usados pelos componentes → canônicos.
     ============================================================ */
  --fw-medium: var(--font-weight-medium); /* @kind font */
  --fw-semibold: var(--font-weight-semibold); /* @kind font */
  --fw-bold: var(--font-weight-bold); /* @kind font */
  --fw-extrabold: var(--font-weight-extrabold); /* @kind font */

  --fs-caption: var(--font-size-xs);
  --fs-sm: var(--font-size-sm);
  --fs-body: var(--font-size-md);
  --fs-md: var(--font-size-md);
  --fs-lg: var(--font-size-lg);
  --fs-xl: var(--font-size-xl);
  --fs-2xl: var(--font-size-2xl);
  --fs-3xl: var(--font-size-3xl);
  --fs-4xl: var(--font-size-4xl);

  --lh-tight: var(--line-height-tight); /* @kind other */
  --lh-snug: var(--line-height-snug); /* @kind other */
  --lh-normal: var(--line-height-normal); /* @kind other */

  /* ---- Letter spacing ---------------------------------- */
  --ls-tight: -0.01em; /* @kind other */
  --ls-normal: 0; /* @kind other */
  --ls-wide: 0.04em; /* tabs / uppercase labels — @kind other */

  /* ---- Semantic roles ---------------------------------- */
  --text-title-font: var(--font-display);
  --text-title-weight: var(--font-weight-extrabold);
  --text-body-font: var(--font-ui);
  --text-body-weight: var(--font-weight-medium);   /* 500 — mínimo na UI */
  --text-button-font: var(--font-ui);
  --text-button-weight: var(--font-weight-extrabold);
  --text-tab-font: var(--font-display);
  --text-tab-weight: var(--font-weight-semibold);
}
