/* Local font faces and the final, shared typography contract. */
@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-Thin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-Light.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-SemiBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-ExtraBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-Black.woff2') format('woff2');
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: 'Yekan Bakh FaNum';
  src: url('../../fonts/YekanBakhFaNum-ExtraBlack.woff2') format('woff2');
  font-style: normal;
  font-weight: 950;
  font-display: swap;
}

:root {
  --font-family: 'Yekan Bakh FaNum', Tahoma, Arial, system-ui, sans-serif;
  --type-caption: 0.75rem;
  --type-small: 0.875rem;
  --type-body: 1rem;
  --type-h6: 1rem;
  --type-h5: 1.125rem;
  --type-h4: 1.25rem;
  --type-h3: clamp(1.25rem, 1.15rem + 0.35vw, 1.5rem);
  --type-h2: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
  --type-h1: clamp(1.75rem, 1.5rem + 1vw, 2.375rem);
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-family);
}

body {
  font-size: var(--type-body);
  line-height: 1.75;
}

/* A paragraph has one size on every page; component CSS only controls layout. */
p,
p[class] {
  font-size: var(--type-body);
  line-height: 1.75;
}

/* These are safe defaults. Component selectors can choose a more suitable
   size for hero headings, article titles and compact card titles. */
h1 { font-size: var(--type-h1); }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); }
h4 { font-size: var(--type-h4); }
h5 { font-size: var(--type-h5); }
h6 { font-size: var(--type-h6); }

small,
.digi-text-xs { font-size: var(--type-caption); }

.digi-text-sm,
.digi-text-muted { font-size: var(--type-small); }
