html {
  font-size: 16px;
}

:root {
  --color-primary: #1f3a66;
  --color-primary-dark: #162f57;
  --color-accent: #00bcd4;
}

.zfa-container-narrow {
  width: min(1280px, 100%);
}

.post-content :where(.alignwide, .alignfull) {
  max-width: 100%;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.post-title {
  color: var(--color-primary);
}

.post-divider {
  border: 0;
  border-top: 1px solid rgba(31, 58, 102, 0.18);
  margin: 18px 0;
}

.post-content {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(12, 20, 27, 0.9);
}

.post-content :where(p) {
  margin: 0 0 1em;
}

.post-content :where(h2) {
  margin: 1.4em 0 0.55em;
  font-size: 28px;
  line-height: 1.25;
  color: rgba(12, 20, 27, 0.96);
}

.post-content :where(h3) {
  margin: 1.2em 0 0.55em;
  font-size: 22px;
  line-height: 1.3;
  color: rgba(12, 20, 27, 0.96);
}

.post-content :where(ul, ol) {
  margin: 0 0 1em;
  padding-left: 1.35em;
}

.post-content :where(li) {
  margin: 0.35em 0;
}

.post-content :where(a) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.post-content :where(a:hover) {
  color: var(--color-primary-dark);
}

.post-content :where(blockquote) {
  margin: 1.2em 0;
  padding: 0.75em 1em;
  border-left: 4px solid var(--color-accent);
  background: rgba(0, 188, 212, 0.08);
  color: rgba(12, 20, 27, 0.86);
}

.post-content :where(blockquote p:last-child) {
  margin-bottom: 0;
}

.post-content :where(figure) {
  margin: 1.2em 0;
}

.post-content :where(img) {
  max-width: 100%;
  height: auto;
}

.post-content
  :where(
    figure.wp-block-image,
    figure.wp-block-gallery,
    figure.wp-block-video
  ) {
  max-width: 100%;
}

.post-content :where(figure.wp-block-table) {
  margin: 1.2em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.post-content :where(figure.wp-block-table table) {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}

.post-content :where(table) {
  width: 100%;
  border-collapse: collapse;
}

.post-content :where(th, td) {
  border: 1px solid rgba(31, 58, 102, 0.18);
  padding: 10px 12px;
  vertical-align: top;
}

.post-content :where(th) {
  background: rgba(31, 58, 102, 0.06);
  font-weight: 700;
}

.post-content :where(hr) {
  border: 0;
  border-top: 1px solid rgba(31, 58, 102, 0.18);
  margin: 22px 0;
}

@media (max-width: 640px) {
  .post-content {
    font-size: 16px;
    line-height: 1.85;
  }

  .post-content :where(h2) {
    font-size: 24px;
  }

  .post-content :where(h3) {
    font-size: 20px;
  }

  .post-content :where(figure.wp-block-table table) {
    min-width: 520px;
  }

  .post-content :where(table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
