/* The theme sets display:flex on h2–h6, which (a) collapses the
   whitespace between a text run and an inline <a> child, and
   (b) lets the browser's default link underline tighten the
   vertical gap to the following element. Switch back to block
   layout inside post content — this is where markdown headings
   render anyway. */
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  display: block;
}

/* Replace the default browser underline on linked headings with
   a subtler dotted bottom-border. */
.post-content h1 a,
.post-content h2 a,
.post-content h3 a,
.post-content h4 a,
.post-content h5 a,
.post-content h6 a {
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}

.post-content h1 a:hover,
.post-content h2 a:hover,
.post-content h3 a:hover,
.post-content h4 a:hover,
.post-content h5 a:hover,
.post-content h6 a:hover {
  border-bottom-style: solid;
}

/* Header is hard-capped at 760px upstream, which can't fit the
   current menu set. Let it expand fluidly up to 960px so the
   menu stays on one line on wider viewports. */
.header__inner {
  width: 100%;
  max-width: 1000px;
  padding: 0 20px;
  box-sizing: border-box;
}

/* {{< row >}} shortcode: lay out child images side by side. */
.image-row {
  display: flex;
  gap: 12px;
  margin: 1em 0;
}
.image-row img {
  flex: 1;
  max-width: 50%;
  height: auto;
  margin: 0;
}
