/* =====================================================================
   Liga DS — typography.
   The 40 published Figma text styles (H100–H800). Font SIZE references the
   responsive --typo-sizes-h* tokens (H450–H800 shrink on tablet/mobile);
   line-height / letter-spacing / case are fixed per the published style.
   Font family follows the brand (--liga-font-family: Lato / e-Ukraine);
   on the site it is Inter — overridden in var-companies.css.
   Each style is exposed as a .liga-typo-<name> utility class consumed by
   the Text / Heading components.

   Розмір, висоту рядка, жирність і трекінг тексту в досьє дає клас
   .liga-typo-* у розмітці. Не дублюйте їх у CSS віджетів: правило віджета
   йде пізніше й мовчки перебиває стиль ДС (так було з .widget__title,
   .inform-text тощо). Потрібен інший вигляд — візьміть інший клас.
   ===================================================================== */

:where(.liga-typo-h100-regular),
:where(.liga-typo-h100-medium),
:where(.liga-typo-h100-semibold),
:where(.liga-typo-h100-caps),
:where(.liga-typo-h200-regular),
:where(.liga-typo-h200-medium),
:where(.liga-typo-h200-semibold),
:where(.liga-typo-h200-caps),
:where(.liga-typo-h300-regular),
:where(.liga-typo-h300-regular-paragraph),
:where(.liga-typo-h300-medium),
:where(.liga-typo-h300-bold),
:where(.liga-typo-h300-caps),
:where(.liga-typo-h300-cta),
:where(.liga-typo-h400-regular),
:where(.liga-typo-h400-regular-paragraph),
:where(.liga-typo-h400-medium),
:where(.liga-typo-h400-bold),
:where(.liga-typo-h400-caps),
:where(.liga-typo-h450-regular),
:where(.liga-typo-h450-medium),
:where(.liga-typo-h450-bold),
:where(.liga-typo-h450-caps),
:where(.liga-typo-h500-regular),
:where(.liga-typo-h500-medium),
:where(.liga-typo-h500-bold),
:where(.liga-typo-h500-caps),
:where(.liga-typo-h600-regular),
:where(.liga-typo-h600-medium),
:where(.liga-typo-h600-bold),
:where(.liga-typo-h600-caps),
:where(.liga-typo-h700-regular),
:where(.liga-typo-h700-medium),
:where(.liga-typo-h700-semibold),
:where(.liga-typo-h700-bold),
:where(.liga-typo-h700-caps),
:where(.liga-typo-h800-regular),
:where(.liga-typo-h800-medium),
:where(.liga-typo-h800-bold),
:where(.liga-typo-h800-caps) {
  font-family: var(--liga-font-family);
  font-style: normal;
  margin: 0;
}

/* ---- H100 (11px) ---- */
.liga-typo-h100-regular  { font-size: var(--typo-sizes-h100); line-height: 14px; font-weight: 400; letter-spacing: 0.23px; }
.liga-typo-h100-medium   { font-size: var(--typo-sizes-h100); line-height: 14px; font-weight: 500; letter-spacing: 0.23px; }
.liga-typo-h100-semibold { font-size: var(--typo-sizes-h100); line-height: 14px; font-weight: 600; letter-spacing: 0.18px; }
.liga-typo-h100-caps     { font-size: var(--typo-sizes-h100); line-height: 11px; font-weight: 500; letter-spacing: 0.40px; text-transform: uppercase; }

/* ---- H200 (12px) ---- */
.liga-typo-h200-regular  { font-size: var(--typo-sizes-h200); line-height: 15px; font-weight: 400; letter-spacing: 0.25px; }
.liga-typo-h200-medium   { font-size: var(--typo-sizes-h200); line-height: 15px; font-weight: 500; letter-spacing: 0.25px; }
.liga-typo-h200-semibold { font-size: var(--typo-sizes-h200); line-height: 15px; font-weight: 600; letter-spacing: 0.25px; }
.liga-typo-h200-caps     { font-size: var(--typo-sizes-h200); line-height: 15px; font-weight: 500; letter-spacing: 0.25px; text-transform: uppercase; }

/* ---- H300 (14px — main body) ---- */
.liga-typo-h300-regular           { font-size: var(--typo-sizes-h300); line-height: 16px; font-weight: 400; letter-spacing: 0.29px; }
.liga-typo-h300-regular-paragraph { font-size: var(--typo-sizes-h300); line-height: 20px; font-weight: 400; letter-spacing: 0.29px; }
.liga-typo-h300-medium            { font-size: var(--typo-sizes-h300); line-height: 16px; font-weight: 500; letter-spacing: 0.15px; }
.liga-typo-h300-bold              { font-size: var(--typo-sizes-h300); line-height: 16px; font-weight: 700; letter-spacing: 0.15px; }
.liga-typo-h300-caps              { font-size: var(--typo-sizes-h300); line-height: 20px; font-weight: 400; letter-spacing: 0.29px; text-transform: uppercase; }
.liga-typo-h300-cta               { font-size: var(--typo-sizes-h300); line-height: 20px; font-weight: 700; letter-spacing: 0.38px; text-transform: uppercase; }

/* ---- H400 (16px) ---- */
.liga-typo-h400-regular           { font-size: var(--typo-sizes-h400); line-height: 20px; font-weight: 400; letter-spacing: 0.33px; }
.liga-typo-h400-regular-paragraph { font-size: var(--typo-sizes-h400); line-height: 24px; font-weight: 400; letter-spacing: 0.33px; }
.liga-typo-h400-medium            { font-size: var(--typo-sizes-h400); line-height: 20px; font-weight: 500; letter-spacing: 0.13px; }
.liga-typo-h400-bold              { font-size: var(--typo-sizes-h400); line-height: 20px; font-weight: 700; letter-spacing: 0.13px; }
.liga-typo-h400-caps              { font-size: var(--typo-sizes-h400); line-height: 24px; font-weight: 400; letter-spacing: 0.40px; text-transform: uppercase; }

/* ---- H450 (18px → 16) ---- */
.liga-typo-h450-regular { font-size: var(--typo-sizes-h450); line-height: 22px; font-weight: 400; letter-spacing: 0.35px; }
.liga-typo-h450-medium  { font-size: var(--typo-sizes-h450); line-height: 22px; font-weight: 500; letter-spacing: 0.10px; }
.liga-typo-h450-bold    { font-size: var(--typo-sizes-h450); line-height: 22px; font-weight: 700; letter-spacing: 0.10px; }
.liga-typo-h450-caps    { font-size: var(--typo-sizes-h450); line-height: 24px; font-weight: 400; letter-spacing: 0.40px; text-transform: uppercase; }

/* ---- H500 (20px → 18) ---- */
.liga-typo-h500-regular { font-size: var(--typo-sizes-h500); line-height: 24px; font-weight: 400; letter-spacing: 0.38px; }
.liga-typo-h500-medium  { font-size: var(--typo-sizes-h500); line-height: 24px; font-weight: 500; letter-spacing: 0.06px; }
.liga-typo-h500-bold    { font-size: var(--typo-sizes-h500); line-height: 24px; font-weight: 700; letter-spacing: 0.06px; }
.liga-typo-h500-caps    { font-size: var(--typo-sizes-h500); line-height: 24px; font-weight: 700; letter-spacing: 0.38px; text-transform: uppercase; }

/* ---- H600 (24px → 20) ---- */
.liga-typo-h600-regular { font-size: var(--typo-sizes-h600); line-height: 28px; font-weight: 400; letter-spacing: 0.42px; }
.liga-typo-h600-medium  { font-size: var(--typo-sizes-h600); line-height: 28px; font-weight: 500; letter-spacing: -0.02px; }
.liga-typo-h600-bold    { font-size: var(--typo-sizes-h600); line-height: 28px; font-weight: 700; letter-spacing: -0.02px; }
.liga-typo-h600-caps    { font-size: var(--typo-sizes-h600); line-height: 28px; font-weight: 400; letter-spacing: 0.42px; text-transform: uppercase; }

/* ---- H700 (29px → 24) ---- */
.liga-typo-h700-regular  { font-size: var(--typo-sizes-h700); line-height: 32px; font-weight: 400; letter-spacing: 0.38px; }
.liga-typo-h700-medium   { font-size: var(--typo-sizes-h700); line-height: 32px; font-weight: 500; letter-spacing: 0.38px; }
.liga-typo-h700-semibold { font-size: var(--typo-sizes-h700); line-height: 32px; font-weight: 600; letter-spacing: -0.14px; }
.liga-typo-h700-bold     { font-size: var(--typo-sizes-h700); line-height: 32px; font-weight: 700; letter-spacing: -0.14px; }
.liga-typo-h700-caps     { font-size: var(--typo-sizes-h700); line-height: 32px; font-weight: 400; letter-spacing: -0.14px; text-transform: uppercase; }

/* ---- H800 (35px → 29) ---- */
.liga-typo-h800-regular { font-size: var(--typo-sizes-h800); line-height: 38px; font-weight: 400; letter-spacing: 0.04px; }
.liga-typo-h800-medium  { font-size: var(--typo-sizes-h800); line-height: 38px; font-weight: 500; letter-spacing: 0.04px; }
.liga-typo-h800-bold    { font-size: var(--typo-sizes-h800); line-height: 38px; font-weight: 700; letter-spacing: -0.31px; }
.liga-typo-h800-caps    { font-size: var(--typo-sizes-h800); line-height: 38px; font-weight: 400; letter-spacing: 0.04px; text-transform: uppercase; }
