/* ============================================================================
   SADER — s-publication  (singular: the BOOK DETAIL page)
   An editorial spread for one volume: a sticky cover figure + a metadata "matter"
   column (title, facts dl, full excerpt prose, the single solid CTA), then a
   "more from the library" shelf that REUSES the homepage s-publications shelf
   markup/CSS verbatim (zero new shelf CSS). Light (white) world; monochrome.
   Distinct from s-library (the catalogue index) and s-publications (homepage).
   Loaded on every page — every selector scoped under .s-publication.
   ============================================================================ */

.s-publication { background-color: var(--bg); }

/* ---- "Keep scrolling" — more book sections appended by pub-shelf.js --------
   Same spread format as the main record, on a full-bleed background that rotates
   through three template tones; the big 3D book overlaps up into the section
   above and TURNS as the page scrolls (Stripe "maintenance" style). --------- */
.s-publication__more {
  padding-block: clamp(var(--space-10), 9vw, var(--space-12));
}
.s-publication__more[data-bg="0"] { background-color: var(--bg-alt); }   /* #FAFAFA */
.s-publication__more[data-bg="1"] { background-color: var(--surface); }  /* #F5F5F5 */
.s-publication__more[data-bg="2"] { background-color: var(--bg); }       /* #FFFFFF */
.s-publication__more .s-publication__cover { cursor: pointer; }

/* Every book scrolls with the page (no pinning, no overlap), so consecutive
   books never collide. The cover still turns as it passes (see pub-shelf.js). */
.s-publication__more .s-publication__cover-fig { position: static; margin-block-start: 0; }

.s-publication__back {
  margin-block-end: clamp(var(--space-6), 4vw, var(--space-8));
}
/* the .btn--text arrow points forward; for a back link, flip it to lead */
.s-publication__back::after { order: -1; transform: scaleX(-1); }
[dir="rtl"] .s-publication__back::after { transform: none; }

/* ---- The spread -------------------------------------------------------- */
.s-publication__spread {
  display: grid;
  gap: clamp(var(--space-7), 5vw, var(--space-10));
  grid-template-columns: 1fr;
}
@media (min-width: 1000px) {
  .s-publication__spread {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    align-items: start;
  }
  /* The cover is NOT pinned — every book (the record + all the chapters) scrolls
     with the page so consecutive books never overlap/collapse. */
}

.s-publication__cover-fig { margin: 0; }
.s-publication__cover {
  display: block;
  inline-size: min(360px, 100%);
  aspect-ratio: 7 / 10;
  border: 1px solid var(--line);
  background-color: var(--surface-2);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.s-publication__cover img { inline-size: 100%; block-size: 100%; object-fit: cover; object-position: center; }
.s-publication__cover--blank { position: relative; }
.s-publication__cover--blank img { display: none; }
.s-publication__cover--blank::after {
  content: "SADER";
  position: absolute; inset: 0;
  display: grid; place-items: center;
  font-family: var(--font-display);
  letter-spacing: var(--tracking-wide);
  color: var(--text-faint);
}
/* The call-number under the cover is hidden (it still appears in the facts
   list as "Catalogue No."). */
.s-publication__shelfmark { display: none; }

/* ---- The matter column ------------------------------------------------- */
.s-publication__matter { min-inline-size: 0; }
.s-publication__title {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  font-weight: var(--fw-semi);
  line-height: var(--lh-display);
  letter-spacing: var(--tracking-display);
  color: var(--text);
  margin-block-start: var(--space-4);
}
.s-publication__subtitle {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-h3);
  color: var(--text-muted);
  margin-block-start: var(--space-3);
}
[dir="rtl"] .s-publication__subtitle { font-style: normal; }

.s-publication__meta { margin-block: var(--space-7); }
.s-publication__meta > div {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--space-5);
  align-items: baseline;
  padding-block: var(--space-3);
  border-block-end: 1px solid var(--line);
}
.s-publication__meta > div:first-child { border-block-start: 1px solid var(--line); }
.s-publication__meta dt {
  font-family: var(--font-body);
  font-size: var(--fs-caption);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--text-faint);
}
.s-publication__meta dd { margin: 0; color: var(--text); font-size: var(--fs-small); }

.s-publication__prose { max-inline-size: var(--container-narrow); }
.s-publication__prose p { margin-block: 0 var(--space-5); }
.s-publication__prose p:last-child { margin-block-end: 0; }
.s-publication__sparse { color: var(--text-muted); font-style: italic; }
[dir="rtl"] .s-publication__sparse { font-style: normal; }

.s-publication__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-6);
  margin-block-start: var(--space-8);
}
/* ---- Related shelf (reuses s-publications shelf CSS; only spacing here) --- */
.s-publication__related {
  margin-block-start: clamp(var(--space-9), 7vw, var(--space-11));
  padding-block-start: clamp(var(--space-8), 5vw, var(--space-10));
  border-block-start: 1px solid var(--line);
}
.s-publication__related .section-head { margin-block-end: clamp(var(--space-6), 4vw, var(--space-8)); }
.s-publication__related-foot { margin-block-start: var(--space-6); }

/* ---- Not found --------------------------------------------------------- */
.s-publication__nf-cta { margin-block-start: var(--space-7); text-align: center; }
