/* Single article — page tier: single.php only. Notes: docs/single-notes.md */

.article-body{max-width:760px;margin:0 auto}
.article-body>*{margin-bottom:1.3rem}
.article-body h2{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:500;line-height:1.25;color:var(--charcoal);border-left:3px solid var(--gold);padding-left:1.1rem;margin-top:2.5rem}
.article-body h3{font-family:var(--display);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500;color:var(--charcoal);margin-top:2rem}
.article-body p{font-family:var(--body);font-size:1.08rem;line-height:1.85;color:#444}
.article-body a{color:var(--gold-dark);text-decoration:underline}
.article-body ul,
.article-body ol{padding-left:1.4rem}
.article-body li{font-family:var(--body);font-size:1.08rem;line-height:1.8;color:#444;margin-bottom:.5rem}
.article-body img{max-width:100%;height:auto;border-radius:2px}
.article-body figure{margin:1.6rem 0}
.article-body figcaption{font-family:var(--body);font-size:.85rem;color:#999;text-align:center;margin-top:.6rem}
.article-body blockquote{border-left:3px solid var(--gold);padding-left:1.4rem;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.2rem;color:#555}
.article-body strong{color:var(--charcoal)}
.article-foot{max-width:760px;margin:3.5rem auto 0;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1);text-align:center}
.article-foot a{font-family:var(--display);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}
.article-body .article-lede{font-size:1.2rem;line-height:1.75;color:#333}
.article-body .article-sources{margin-top:2.8rem;padding-top:1.6rem;border-top:1px solid rgba(0,0,0,.1)}
.article-body .article-sources h3{font-family:var(--display);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#999;border:0;padding:0;margin:0 0 .8rem}
.article-body .article-sources p{font-size:.85rem;line-height:1.5;color:#888;margin-bottom:.4rem}
.article-body .article-sources ul,
.article-body .article-sources ol{margin:0;padding-left:1.2rem}
.article-body .article-sources li{font-size:.85rem;line-height:1.5;color:#888;margin-bottom:.4rem}
/* ── Code, and the failed-render fallback ──
   These had NO rules, and the hole produced three separate-looking failures:
   text invisible (an unstyled <pre> inherits white on the cream .prose
   background), the page scrolling sideways (a <pre> does not wrap, so one long
   citation was 1541px wide), and a Sources block that only appeared when
   selected. white-space:pre-wrap is what closes the second one. */
.article-body pre{
  background:#f2f1ec;border:1px solid rgba(0,0,0,.10);
  padding:1rem 1.15rem;margin:1.6rem 0;
  font-family:Menlo,Consolas,ui-monospace,monospace;font-size:.85rem;line-height:1.65;color:#3a3a3a;
  white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;
}
.article-body pre code{background:none;padding:0;font-size:inherit;color:inherit}
.article-body code{
  background:rgba(0,0,0,.055);padding:.12em .38em;
  font-family:Menlo,Consolas,ui-monospace,monospace;font-size:.88em;color:#3a3a3a;
}
/* ca_articles_the_body() case 3, failed_empty. Its whole job is to be VISIBLY
   wrong rather than invisibly blank, so it is toned as a fault, not as code. */
.article-body .article-raw{
  background:#fcf0f1;border:1px solid rgba(214,54,56,.35);border-left-width:3px;
  padding:1rem 1.15rem;margin:1.6rem 0;
  font-family:Menlo,Consolas,ui-monospace,monospace;font-size:.85rem;line-height:1.65;color:#3a3a3a;
  white-space:pre-wrap;overflow-wrap:anywhere;
}

/* ── Byline — author / org / date, under the H1 and above the body ── */
.article-byline{font-family:var(--display);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#999;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:2.2rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(0,0,0,.08)}
.article-byline-author{color:var(--charcoal)}
.article-byline-sep{color:rgba(0,0,0,.18)}
/* ── Tables ── */
.article-body table{width:100%;border-collapse:collapse;font-family:var(--body);font-size:.95rem;margin:1.8rem 0}
.article-body caption{font-family:var(--body);font-size:.85rem;color:#999;text-align:left;margin-bottom:.6rem}
.article-body th,
.article-body td{border:1px solid rgba(0,0,0,.12);padding:.65rem .85rem;text-align:left;vertical-align:top}
.article-body thead th{font-family:var(--display);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);background:rgba(0,0,0,.03)}
.article-body td{line-height:1.6;color:#444}
/* A wide comparison table scrolls inside the 760px column instead of blowing
   the page out sideways. The table is its own scroll container: CommonMark
   emits a bare <table> and nothing may post-process the artifact. */
@media(max-width:768px){
  .article-body table{display:block;width:max-content;max-width:100%;overflow-x:auto}
}
