/* Article page, blog design system v2 (boards V2-Article*, v2_article.py).
   One shared column carries breadcrumbs, masthead and the body grid:
     >=1416  1320 = 220 On this page + 48 + 744 prose + 48 + 260 Read next
     1128-1415  1012 = rail + prose; Read next folds below the grid
     <1128   744, single column; the rail becomes the Contents card */

:root {
  --hc-rail-l: 220px;
  --hc-rail-r: 260px;
  --hc-art-col: var(--hc-content);
}
@media (max-width: 1415px) {
  :root { --hc-art-col: calc(var(--hc-rail-l) + var(--hc-rail-gap) + var(--hc-prose)); }
}
@media (max-width: 1127px) {
  :root { --hc-art-col: var(--hc-prose); }
}

/* Astra's boxed article card: v2 articles sit on the page band. */
.single .ast-article-single,
.single.ast-separate-container .ast-article-single {
  padding: 0;
  background: transparent;
}
.single #primary { margin-top: 56px; }

/* The shared column: every top-level article band resolves to the same width. */
.single .hc-breadcrumbs,
.single .hc-eyebrow-row,
.single .entry-header,
.single .entry-content > * {
  max-width: var(--hc-art-col);
  margin-left: auto;
  margin-right: auto;
}
/* Unwrapped path (fewer than two H2s, so no grid): text still keeps the measure. */
.single .entry-content > :is(p, ul, ol, blockquote, h2, h3) { max-width: var(--hc-prose); }

/* ---- Masthead (v2_article.masthead) ---- */
.single .entry-header { margin: 18px auto 0; }
.single .entry-title {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: -1.4px;
  color: var(--hc-text);
  text-wrap: balance;
}
.hc-mh-meta {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 28px;
}
.single .entry-content > .hc-share--top { margin-top: 26px; }

/* ---- Running text (the prose rules live in 10-base.css .hc-prose) ---- */
.single .entry-content > p { font-size: 19px; line-height: 1.7; margin: 0 0 22px; color: var(--hc-prose-text); }
.hc-prose > h2 { scroll-margin-top: 24px; text-wrap: balance; }
.hc-prose sup,
.single .entry-content sup { font-size: 13px; font-weight: 700; line-height: 0; }
.hc-prose sup a,
.single .entry-content sup a { padding: 0 1px; color: var(--hc-accent); text-decoration: none; }
.hc-prose > :is(figure, .wp-block-image) { margin: 32px 0; }
.single .hc-prose img,
.single .entry-content > p > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}

/* ---- End of the article, in the prose column (v2_article.after_prose) ---- */
.hc-art-h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: -0.5px;
  color: var(--hc-text);
}
.hc-prose > :is(.hc-faq, .hc-refs, .hc-disclosure, .hc-share--end, .hc-cutout, .hc-router) { margin-top: 64px; }

/* Comments sit under the prose column. */
.single #comments {
  box-sizing: border-box;
  max-width: var(--hc-prose);
  margin: 64px 0 112px calc((100% - var(--hc-art-col)) / 2 + var(--hc-rail-l) + var(--hc-rail-gap));
}
@media (max-width: 1127px) {
  .single #comments { margin-left: auto; margin-right: auto; }
}

/* ---- Phone (390 boards) ---- */
@media (max-width: 900px) {
  .single #primary { margin-top: 32px; }
  .single .entry-header { margin-top: 12px; }
  .single .entry-title { font-size: 36px; letter-spacing: -1px; }
  .hc-mh-meta { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 24px; }
  .single .entry-content > .hc-share--top { margin-top: 22px; }
  .single .entry-content > p { font-size: 18px; }
  .hc-art-h2 { font-size: 26px; }
  .hc-prose > :is(.hc-faq, .hc-refs, .hc-disclosure, .hc-share--end, .hc-cutout, .hc-router) { margin-top: 48px; }
  .single #comments { margin-top: 48px; margin-bottom: 80px; }
}

/* Legacy share-icons block: an Astra Hooks custom layout carried over from the old site,
   retired 2026-08-04 (35-share.css is the share component). Hidden rather than deleted
   because the layout post's ID differs per site. */
.single [class*="astra-advanced-hook"] { display: none; }
