/* ===============================================================
   ISSUE SINGLE  —  the jrs_issue template (2026-09-04)

   Sibling of jrs-article-single.css and built on the same tokens.
   Two line weights only: --rule-structural (thin) and --section-border.
   =============================================================== */

/* ---------------------------------------------------------------
   THE HEAD  —  cover beside the title.
   An issue has a cover and a short title, so unlike the article page the
   title stays at the full --h1 display size and the cover earns its place
   in the head rather than being tucked into an aside.
   --------------------------------------------------------------- */
.jrs-issuehead__inner {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: var(--space-l);
  align-items: start;
  max-width: var(--width-content);
  margin-inline: auto;
  width: 100%;
}

/* 7 of the 30 issues have no cover. The column simply collapses rather than
   leaving a 200px hole, so the head reads the same either way. */
.jrs-issuehead__inner:not(:has(.jrs-issuehead__cover)) { grid-template-columns: minmax(0, 1fr); }

.jrs-issuehead__cover img {
  display: block;
  width: 100%;
  aspect-ratio: var(--ratio-cover);
  object-fit: cover;
  border: var(--box-quiet);
}

.jrs-issuehead__body { align-items: stretch; min-width: 0; }
.jrs-issuehead__body > * { max-width: 100%; }

/* The topic of a special issue, which is the one thing a reader wants after
   the number. Sits where a standfirst would. */
.jrs-issuehead__topic {
  font-size: var(--text-lead);
  line-height: var(--lh-lead);
  color: var(--ink);
  margin: 0;
  /* No cap — content fills its block. */
}

/* ---------------------------------------------------------------
   THE CONTENTS
   The rows are listing 15894's markup, class for class, so the archive row
   and the issue contents stay one component. What the JetEngine listing gets
   from .jet-listing-grid__item, a plain <li> needs stating here.
   --------------------------------------------------------------- */
.jrs-artlist > li { border-top: var(--rule-structural); }
.jrs-artlist > li:first-child { border-top: 0; }

/* ---------------------------------------------------------------
   PREVIOUS / NEXT ISSUE  —  same component as the article page.
   --------------------------------------------------------------- */
.jrs-pn--issue .jrs-pn__title { font-size: var(--h3); line-height: var(--lh-h3); }

@media (max-width: 860px) {
  .jrs-issuehead__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-m);
  }
  /* The cover keeps a sensible size rather than becoming a full-width poster. */
  .jrs-issuehead__cover { max-width: 150px; }
}
