// stylelint-disable declaration-property-unit-allowed-list
// Everything around fonts, font size definitions and typeset
// presets. No modular scale, but a sophisticated viewport
// based responsive mixin can be found in _helpers.scss

// Typography settings
.is-root-container,
.acf-block-preview .block,
body {
  color: var(--color-paragraph);
  font-family: var(--typography-family-paragraph);
  font-size: var(--typography-paragraph-size);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: var(--typography-weight-paragraph);
  line-height: var(--typography-paragraph-line-height);
  // stylelint-disable-next-line value-keyword-case
  text-rendering: geometricPrecision;
}

// Heading defaults
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
  font-family: var(--typography-family-heading);
  font-weight: var(--typography-weight-heading);
  margin-bottom: var(--spacing-paragraphs-margin-block);
  margin-top: var(--spacing-paragraphs-margin-block);
}

h2,
h3,
h4,
h5,
h6 {
  line-height: var(--typography-heading-line-height);
}

// Define heading scales
// Current: Perfect fourth: https://type-scale.com/
h1 {
  font-size: var(--typography-h1-size);
}

h2 {
  font-size: var(--typography-h2-size);
}

h3 {
  font-size: var(--typography-h3-size);
}

h4 {
  font-size: var(--typography-h4-size);
}

h5 {
  font-size: var(--typography-h5-size);
}

h6 {
  font-size: var(--typography-h6-size);
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}

// Bold
b,
strong {
  font-weight: var(--typography-weight-bold);
}

// Italic
em,
i {
  font-style: italic;
}

// Default paragraphs
p {
  margin-bottom: 2.9rem;
  margin-top: 2.9rem;
}

p:last-child {
  margin-bottom: 0;
}
