/* ============================================================
   Akademikerförbundet SSR — Typography
   Open Sans throughout (variable font: weight + width axes).
   Avoid the thinnest weights on screen; headings need weight.
   ============================================================ */

@font-face {
  font-family: "Open Sans";
  src: url("../assets/fonts/OpenSans-Variable.ttf") format("truetype-variations");
  font-weight: 300 800;
  font-stretch: 75% 100%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("../assets/fonts/OpenSans-Italic-Variable.ttf") format("truetype-variations");
  font-weight: 300 800;
  font-stretch: 75% 100%;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Families */
  --font-sans: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  /* Display uses the same family at a condensed width for large headlines */
  --font-display: "Open Sans", "Segoe UI", system-ui, sans-serif;
  --font-stretch-display: 100%;  /* display uses normal width — weight carries headings */
  --font-stretch-normal: 100%;

  /* Weights (skip the thinnest on screen) */
  --fw-regular: 400;   /* @kind font */
  --fw-medium: 500;    /* @kind font */
  --fw-semibold: 600;  /* @kind font */
  --fw-bold: 700;      /* @kind font */
  --fw-extrabold: 800; /* @kind font */

  /* Type scale — large-scale, generous (1.250 major third) */
  --text-2xs: 0.75rem;   /* 12px — legal / captions only */
  --text-xs:  0.8125rem; /* 13px */
  --text-sm:  0.9375rem; /* 15px */
  --text-base:1.0625rem; /* 17px — body default */
  --text-lg:  1.25rem;   /* 20px */
  --text-xl:  1.5rem;    /* 24px */
  --text-2xl: 1.9375rem; /* 31px */
  --text-3xl: 2.4375rem; /* 39px */
  --text-4xl: 3.0625rem; /* 49px */
  --text-5xl: 3.8125rem; /* 61px */

  /* Line heights */
  --leading-tight: 1.08;
  --leading-snug: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.08em;

  /* ===== Semantic text roles ===== */
  --type-display-size: var(--text-5xl);
  --type-display-weight: var(--fw-extrabold);
  --type-h1-size: var(--text-4xl);
  --type-h2-size: var(--text-3xl);
  --type-h3-size: var(--text-2xl);
  --type-h4-size: var(--text-xl);
  --type-body-size: var(--text-base);
  --type-small-size: var(--text-sm);
  --type-eyebrow-size: var(--text-xs);
}
