/* Text utilities — body text, headings, alignment, weight, transform, decoration, style. */

/* Body text size — --at-text--* */
.hs-text-2xs { font-size: var(--at-text--2xs); }
.hs-text-xs  { font-size: var(--at-text--xs); }
.hs-text-s   { font-size: var(--at-text--s); }
.hs-text-m   { font-size: var(--at-text--m); }
.hs-text-l   { font-size: var(--at-text--l); }
.hs-text-xl  { font-size: var(--at-text--xl); }
.hs-text-2xl { font-size: var(--at-text--2xl); }
.hs-text-3xl { font-size: var(--at-text--3xl); }

/* Heading size — --at-heading--* */
.hs-heading-2xs { font-size: var(--at-heading--2xs); }
.hs-heading-xs  { font-size: var(--at-heading--xs); }
.hs-heading-s   { font-size: var(--at-heading--s); }
.hs-heading-m   { font-size: var(--at-heading--m); }
.hs-heading-l   { font-size: var(--at-heading--l); }
.hs-heading-xl  { font-size: var(--at-heading--xl); }

/* Text alignment — logical */
.hs-text-start   { text-align: start; }
.hs-text-center  { text-align: center; }
.hs-text-end     { text-align: end; }
.hs-text-justify { text-align: justify; }

/* Font weight — also sets matching "wght" axis for variable fonts */
.hs-font-thin       { font-weight: 100; font-variation-settings: "wght" 100; }
.hs-font-extralight { font-weight: 200; font-variation-settings: "wght" 200; }
.hs-font-light      { font-weight: 300; font-variation-settings: "wght" 300; }
.hs-font-normal     { font-weight: 400; font-variation-settings: "wght" 400; }
.hs-font-medium     { font-weight: 500; font-variation-settings: "wght" 500; }
.hs-font-semibold   { font-weight: 600; font-variation-settings: "wght" 600; }
.hs-font-bold       { font-weight: 700; font-variation-settings: "wght" 700; }
.hs-font-extrabold  { font-weight: 800; font-variation-settings: "wght" 800; }
.hs-font-black      { font-weight: 900; font-variation-settings: "wght" 900; }

/* Text transform */
.hs-uppercase  { text-transform: uppercase; }
.hs-lowercase  { text-transform: lowercase; }
.hs-capitalize { text-transform: capitalize; }
.hs-normal-case { text-transform: none; }

/* Whitespace / wrapping */
.hs-text-wrap     { text-wrap: wrap; }
.hs-text-nowrap   { white-space: nowrap; }
.hs-text-balance  { text-wrap: balance; }
.hs-text-pretty   { text-wrap: pretty; }
.hs-text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
