:host {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

h1, h2, h3, h4, .display-1, .display-2, .display-3, .display-4, .body-sm, .body-m, .body-l {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  white-space: wrap;
  padding: 8px;
  gap: 8px;
  margin: 0;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-family-display);
  letter-spacing: var(--font-letter-spacing-wide);
}

h1 {
  font-size: var(--typography-size-heading-h1);
  line-height: var(--line-height-heading-h1);
}

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

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

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

.display-1,
.display-2,
.display-3,
.display-4 {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-display);
  letter-spacing: var(--font-letter-spacing-default);
}

.display-1 {
  font-size: var(--typography-size-display-h1);
  line-height: var(--line-height-display-h1);
  letter-spacing: var(--font-letter-spacing-wide);
  margin-bottom: var(--paragraphe-spacing-body-sm);
}

.display-2 {
  font-size: var(--typography-size-display-h2);
  line-height: var(--line-height-display-h2);
  margin-bottom: var(--paragraphe-spacing-body-md);
}

.display-3 {
  font-size: var(--typography-size-display-h3);
  line-height: var(--line-height-display-h3);
  margin-bottom: var(--paragraphe-spacing-body-lg);
}

.display-4 {
  font-size: var(--typography-size-display-h4);
  line-height: var(--line-height-display-h4);
  margin-bottom: var(--paragraphe-spacing-body-lg);
}

.body-sm,
.body-m,
.body-l {
  font-family: var(--font-family-body);
  color: var(--color-text-body);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--font-letter-spacing-default);
  padding: 0px 8px;
}

.body-sm {
  font-size: var(--typography-size-body-sm);
  line-height: var(--line-height-body-sm);
}

.body-m {
  font-size: var(--typography-size-body-md);
  line-height: var(--line-height-body-md);
}

.body-l {
  font-size: var(--typography-size-body-lg);
  line-height: var(--line-height-body-lg);
}
