/**
 * Blog article page styles — extends locked blog article template classes.
 * Does not modify marketing layout chrome.
 */

.template-blog-article__hero h1 {
  max-width: 22ch;
}

.media-figure {
  margin: 0;
}

.media-figure img,
.media-figure picture {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
}

.media-caption,
.template-blog-article__content .media-caption {
  margin-top: var(--space-3);
  color: var(--color-text-tertiary);
  font-size: var(--text-caption);
}

.template-blog-article__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
}

.template-blog-article__toc {
  padding: var(--space-5);
  border: 1px solid var(--color-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: var(--radius-lg);
  background: var(--color-secondary, #f7f5f2);
}

.template-blog-article__toc-title {
  margin: 0;
  font-size: var(--text-body);
  font-family: var(--font-sans, inherit);
  font-weight: 600;
}

.template-blog-article__toc ol {
  margin: var(--space-3) 0 0;
  padding-left: 1.25rem;
}

.template-blog-article__toc a {
  text-decoration: none;
}

.template-blog-article__toc a:hover,
.template-blog-article__toc a:focus-visible {
  text-decoration: underline;
}

.template-blog-article__pullquote {
  margin: var(--space-8) 0;
  padding-left: var(--space-5);
  border-left: 3px solid var(--color-text-primary, #1a1a1a);
  color: var(--color-text-secondary, #4a4a46);
  font-size: var(--text-body-lg, 1.125rem);
  font-style: italic;
}

.template-blog-article__pullquote p {
  margin: 0;
}

.template-blog-article__content h2 {
  margin-top: var(--space-10);
  scroll-margin-top: var(--space-16);
}

.template-blog-article__content a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.template-blog-article__related {
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border-subtle, rgba(0, 0, 0, 0.08));
}

.template-blog-article__related ul {
  list-style: none;
  margin: var(--space-4) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-4);
}

.template-blog-article__related a {
  display: grid;
  gap: var(--space-1);
  text-decoration: none;
}

.template-blog-article__related a:hover .template-blog-article__related-title,
.template-blog-article__related a:focus-visible .template-blog-article__related-title {
  text-decoration: underline;
}

.template-blog-article__related-title {
  font-weight: 600;
}

.template-blog-article__related-meta {
  color: var(--color-text-tertiary);
  font-size: var(--text-caption);
}

.template-blog-article__pager {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-10);
}

@media (min-width: 768px) {
  .template-blog-article__pager {
    grid-template-columns: 1fr 1fr;
  }
}

.template-blog-article__pager-link {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border: 1px solid var(--color-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: var(--radius-lg);
  text-decoration: none;
}

.template-blog-article__pager-link--next {
  text-align: end;
}

.template-blog-article__pager-link--disabled {
  visibility: hidden;
}

.template-blog-article__pager-label {
  color: var(--color-text-tertiary);
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.template-blog-article__pager-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.template-blog-article__cta {
  margin-top: var(--space-12);
  padding: var(--space-8);
  border-radius: var(--radius-xl);
  background: var(--color-secondary, #f7f5f2);
}

.template-blog-article__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
