/* Correcciones de lectura para artículos con plantillas HTML heterogéneas. */
.post-content,
.post.container > section[id],
.article-body {
  font-size: var(--fs-md);
  line-height: var(--lh-relaxed);
}

.post.container > section[id] {
  max-width: 840px;
  margin-inline: auto;
}

main .cvss-article > .post-hero,
main .cvss-article > .toc-hero {
  max-width: 840px;
  margin-inline: auto;
}

main .cvss-article > .post-hero {
  margin-block-start: var(--sp-16);
}

.post-content h2,
.post.container > section[id] > h2,
.iso-article .article > .container > h2,
.iso-article .article-content > .container > h2,
.article-content.container.narrow > h2,
.article-body > h2 {
  font-size: clamp(1.75rem, 2.3vw, 2rem);
  line-height: 1.2;
  margin-block: var(--sp-12) var(--sp-4);
  max-width: none;
}

.post-content h3,
.post.container > section[id] > h3,
.iso-article .article > .container > h3,
.iso-article .article-content > .container > h3,
.article-content.container.narrow > h3,
.article-body > h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  line-height: 1.3;
  margin-block: var(--sp-8) var(--sp-3);
}

main .post-featured-media > img,
main .article-featured-image-wrapper > img,
main .article-featured-figure > img,
main .post-featured-image > img,
main img.post-featured-image,
main .post-hero-image-wrap > img,
main img.post-hero-img,
main .post-featured-img > img {
  width: 100%;
  height: auto;
}

main .post.container > .post-featured-img {
  max-width: 840px;
  margin-inline: auto;
}

main .post-featured-img figcaption {
  padding: var(--sp-2) var(--sp-4);
  background: var(--surface-2);
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: var(--fs-xs);
  text-align: center;
}

main .breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}

main .breadcrumb-list li + li::before {
  content: '›';
  color: var(--text-subtle);
  margin-right: var(--sp-2);
}

main .lab-steps li {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

main .btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

/* Las tablas y los bloques de terminal deben desplazarse dentro del artículo. */
main .table-container,
main .table-responsive,
main pre {
  max-width: 100%;
  overflow-x: auto;
}

main table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

main .callout-body {
  min-width: 0;
  overflow-wrap: anywhere;
}

main .lab-card {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

main :is(p, li) {
  overflow-wrap: anywhere;
}

main .table-container,
main .table-responsive {
  -webkit-overflow-scrolling: touch;
}
