/**
 * Shared typography for editorial content.
 *
 * Used by posts, standard pages, legal documents and glossary entries. Hero,
 * card and navigation typography intentionally stays outside this scope.
 */

.apuradata-prose {
  color: color-mix(in srgb, var(--color-secondary) 88%, transparent);
  font-size: 16px;
  font-weight: 400;
  min-width: 0;
}

.apuradata-prose > :first-child {
  margin-top: 0 !important;
}

.apuradata-prose h1,
.apuradata-prose h2,
.apuradata-prose h3,
.apuradata-prose h4,
.apuradata-prose h5,
.apuradata-prose h6 {
  color: var(--color-secondary);
  font-weight: 600 !important;
  letter-spacing: normal !important;
  line-height: normal !important;
  margin: 40px 0 16px !important;
  scroll-margin-top: calc(var(--apuradata-topbar-height, 52px) + 120px);
}

.apuradata-prose h1 {
  font-size: 42px !important;
}

.apuradata-prose h2 {
  font-size: 32px !important;
}

.apuradata-prose h3 {
  font-size: 28px !important;
}

.apuradata-prose h4 {
  font-size: 24px !important;
}

.apuradata-prose h5 {
  font-size: 20px !important;
}

.apuradata-prose h6 {
  font-size: 18px !important;
}

.apuradata-prose p,
.apuradata-prose li {
  color: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
}

.apuradata-prose p {
  margin: 0 0 18px !important;
}

.apuradata-prose ul,
.apuradata-prose ol {
  display: block;
  margin: 0 0 22px !important;
  padding-left: 24px !important;
}

.apuradata-prose ul {
  list-style: disc;
}

.apuradata-prose ol {
  list-style: decimal;
}

.apuradata-prose li {
  margin: 0 0 8px !important;
  padding-left: 4px !important;
}

.apuradata-prose a {
  color: var(--color-primary-500);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.apuradata-prose .apuradata-glossary-inline-link {
  text-decoration-color: color-mix(in srgb, var(--color-primary-500) 55%, transparent);
  text-decoration-style: dotted;
  text-decoration-thickness: 2px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.apuradata-prose .apuradata-glossary-inline-link:hover,
.apuradata-prose .apuradata-glossary-inline-link:focus-visible {
  color: #c74308;
  text-decoration-color: currentColor;
}

.apuradata-prose strong,
.apuradata-prose b {
  color: var(--color-secondary);
  font-weight: 600;
}

.apuradata-prose blockquote {
  border-left: 3px solid var(--color-primary-500) !important;
  margin: 28px 0 !important;
  padding: 8px 0 8px 22px !important;
}

.apuradata-prose blockquote > :last-child {
  margin-bottom: 0 !important;
}

.apuradata-prose img,
.apuradata-prose figure {
  border-radius: 20px;
  height: auto;
  max-width: 100%;
}

.apuradata-prose figure {
  margin: 28px 0;
}

.apuradata-prose table {
  border-collapse: collapse;
  display: block;
  margin: 0 0 22px !important;
  overflow-x: auto;
  width: 100%;
}

.apuradata-prose th,
.apuradata-prose td {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent);
  font-size: 14px;
  line-height: 1.5 !important;
  padding: 10px 12px !important;
  text-align: start;
}

.dark .apuradata-prose {
  color: color-mix(in srgb, var(--color-accent) 84%, transparent);
}

.dark .apuradata-prose h1,
.dark .apuradata-prose h2,
.dark .apuradata-prose h3,
.dark .apuradata-prose h4,
.dark .apuradata-prose h5,
.dark .apuradata-prose h6,
.dark .apuradata-prose strong,
.dark .apuradata-prose b {
  color: var(--color-accent);
}

@media (max-width: 767px) {
  .apuradata-prose h1 {
    font-size: 32px !important;
  }

  .apuradata-prose h2 {
    font-size: 28px !important;
  }

  .apuradata-prose h3 {
    font-size: 24px !important;
  }

  .apuradata-prose h4 {
    font-size: 22px !important;
  }

  .apuradata-prose h5 {
    font-size: 19px !important;
  }

  .apuradata-prose h6 {
    font-size: 17px !important;
  }

  .apuradata-prose h1,
  .apuradata-prose h2,
  .apuradata-prose h3,
  .apuradata-prose h4,
  .apuradata-prose h5,
  .apuradata-prose h6 {
    margin-top: 34px !important;
  }
}
