/* Related posts rail on the blog single template. Mirrors the
   blog-grid layout without the kicker + heading typography scaling. */

.blog-related {
  padding-block: clamp(2rem, 4vw, 3rem);
}

.blog-related__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.blog-related__kicker {
  margin: 0;
  font-family: var(--font-mono, var(--font-text));
  font-size: 0.625rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted-foreground);
}

.blog-related__heading {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  font-weight: var(--font-weight-display);
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--color-foreground);
  text-wrap: balance;
}

.blog-related__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.blog-related__items > li {
  display: flex;
}
.blog-related__items > li > .blog-card {
  width: 100%;
}

@media (max-width: 960px) {
  .blog-related__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .blog-related__items { grid-template-columns: minmax(0, 1fr); }
}
