/* ==========================================================
   The Mailer Review — HTML Article Stylesheet (v2, 2026)
   Paired with pandoc/galley.html. Matches the journal site
   (site/journal.css): Alegreya + Alegreya SC, v.16 cover palette.
   Fonts load from the OJS public folder.
   ========================================================== */

@font-face { font-family: "Alegreya"; src: url("/public/fonts/Alegreya-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("/public/fonts/Alegreya-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("/public/fonts/Alegreya-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Alegreya"; src: url("/public/fonts/Alegreya-BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Alegreya SC"; src: url("/public/fonts/AlegreyaSC-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Alegreya SC"; src: url("/public/fonts/AlegreyaSC-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --paper: #f4f7f2;
  --sage: #cfdbcb;
  --teal: #7d9b96;
  --ink: #1a1a1a;
  --muted: #4f5a57;
  --rule: #c9d5c6;
  --accent: #862422;
  --accent-deep: #4e1514;
  --serif: "Alegreya", Georgia, "Times New Roman", serif;
  --sc: "Alegreya SC", "Alegreya", Georgia, serif;
  font-size: 20px;
  font-synthesis: none;
}

@media (max-width: 600px) {
  :root { font-size: 18px; }
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
}

body {
  font-family: var(--serif);
  line-height: 1.6;
  font-variant-numeric: oldstyle-nums proportional-nums;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  hyphens: auto;
}

main {
  max-width: 36rem;          /* ~70 characters */
  margin: 0 auto;
  padding: 2.5rem 1.25rem 4rem;
}

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  overflow-wrap: anywhere;
}
a:hover, a:focus { color: var(--accent-deep); }

/* ---------- Header ---------- */

.article-header {
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--teal);
}

.article-header .journal {
  margin: 0 0 1.25rem;
  font-family: var(--sc);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--muted);
}
.article-header .journal cite {
  font-style: italic;
}

.article-header h1 {
  margin: 0 0 1rem;
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 700;
  hyphens: manual;
  text-wrap: balance;
}
.article-header h1 .subtitle {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: 400;
}

.article-header .byline {
  margin: 0;
  font-family: var(--sc);
  font-size: 1.1rem;
  letter-spacing: 0.06em;
}

.article-header .provenance {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--muted);
}

.article-header .rights-notice {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--muted);
}

/* ---------- Body ---------- */

.article-body p {
  margin: 0 0 1.1rem;
}

.article-body h2 {
  margin: 2.5rem 0 1rem;
  font-family: var(--sc);
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--rule);
}

.article-body h3 {
  margin: 2rem 0 0.75rem;
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 400;
}

.article-body blockquote {
  margin: 1.5rem 0 1.5rem 1.5rem;
  padding: 0;
  font-size: 0.95rem;
}
.article-body blockquote p:last-child { margin-bottom: 0; }

.article-body hr {                 /* section break: a centered three-star ornament */
  margin: 2.25rem auto;
  border: 0;
  height: auto;
  overflow: visible;
  text-align: center;
}
.article-body hr::after {
  content: "*\2002\2002*\2002\2002*";
  color: var(--teal);
  font-size: 1.05rem;
}

.article-body figure {
  margin: 2rem 0;
}
.article-body figure img,
.article-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.article-body figcaption {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: var(--muted);
  text-align: center;
}

/* Works Cited: hanging indent, slightly smaller */
.article-body section#works-cited p {
  margin: 0 0 0.6rem;
  padding-left: 1.5rem;
  text-indent: -1.5rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* ---------- Notes (pandoc footnotes) ---------- */

.footnote-ref {
  text-decoration: none;
}
.footnote-ref sup {
  font-size: 0.7em;
  line-height: 0;
  font-variant-numeric: lining-nums;
}

section.footnotes {
  margin-top: 3rem;
  font-size: 0.9rem;
  line-height: 1.5;
}
section.footnotes::before {
  content: "Notes";
  display: block;
  margin-bottom: 1rem;
  font-family: var(--sc);
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--rule);
}
section.footnotes hr { display: none; }
section.footnotes ol { padding-left: 1.5rem; }
section.footnotes li { margin-bottom: 0.6rem; }
.footnote-back {
  margin-left: 0.25rem;
  text-decoration: none;
}

/* ---------- Support box (after the last line, before the colophon) ----------
   The journal site's homepage panel: sage ground, cover-red rule. */

.article-support {
  margin-top: 3.5rem;
  padding: 1.25rem 1.5rem 1.4rem;
  background: var(--sage);
  border-left: 6px solid var(--accent);
  font-size: 0.9rem;
  line-height: 1.5;
}
.article-support p { margin: 0 0 0.9rem; }
.article-support p:last-child { margin-bottom: 0; }
.article-support .support-head {
  margin-bottom: 0.5rem;
  font-family: var(--sc);
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}
.article-support .support-links a {
  margin-right: 1rem;
  font-family: var(--sc);
  letter-spacing: 0.06em;
  text-transform: lowercase;
}
.article-support .support-links a:last-child { margin-right: 0; }
.article-support .support-button {
  display: inline-block;
  padding: 0.4rem 1rem;
  color: var(--paper);
  background: var(--accent);
  border-radius: 2px;
  text-decoration: none;
}
.article-support .support-button:hover,
.article-support .support-button:focus {
  color: var(--paper);
  background: var(--accent-deep);
}
@media (max-width: 600px) {
  .article-support { padding: 1rem 1.1rem 1.2rem; }
  .article-support .support-links a {
    display: inline-block;
    margin: 0 0.75rem 0.6rem 0;
  }
}

/* ---------- Footer ---------- */

.article-footer {
  margin-top: 3.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--teal);
  font-size: 0.85rem;
  color: var(--muted);
}
.article-footer p { margin: 0 0 0.6rem; }
.article-footer .label {
  display: block;
  font-family: var(--sc);
  letter-spacing: 0.08em;
  text-transform: lowercase;
}

@media print {
  .article-support { display: none; }
  :root { font-size: 11pt; }
  html, body { background: #fff; }
  main { max-width: none; padding: 0; }
  a { color: inherit; text-decoration: none; }
}

/* ---------- Early volumes (v.1–8, converted from XPP pages) ---------- */

.smallcaps { font-family: var(--sc); letter-spacing: 0.03em; }
.speaker { font-family: var(--sc); letter-spacing: 0.06em; }
.article-body p:has(> .speaker:only-child) { margin-bottom: 0.3rem; }
.article-body .right { text-align: right; margin: 0 0 1.1rem; }
.article-body .right .line-block { margin: 0; }
.article-body .small { font-size: 0.9rem; line-height: 1.5; }
.article-body .small p { margin: 0 0 0.5rem; }
.article-body .letter-notes p { padding-left: 1.5rem; text-indent: -1.5rem; }
.article-body .entries p { margin: 0 0 0.5rem; padding-left: 1.5rem; text-indent: -1.5rem; font-size: 0.95rem; }
/* a dealer's catalogue (v.3 Ahearn): entry number hanging, price at the right of the last line */
.article-body .catalog p { margin: 0 0 0.75rem; padding-left: 3rem; text-indent: -3rem; font-size: 0.95rem; }
.article-body .catalog .price { float: right; padding-left: 1rem; text-indent: 0; font-variant-numeric: tabular-nums; }
.article-body .signature { margin: 0 0 1.1rem 2.5rem; }
.article-body .signature p { margin: 0; }
.article-body .center { text-align: center; margin: 1rem 0; }
.article-body .verse, .article-body .poem { margin: 1.5rem 0 1.5rem 1.5rem; }
.article-body .verse .line-block, .article-body .poem .line-block { margin: 0; }
.article-body .poem { text-align: center; margin-left: 0; }
.article-body .poem h3 { font-style: normal; margin-top: 0; }
.article-body .attribution { margin-top: 0.4rem; text-align: right; font-size: 0.95em; }
.article-body .attribution p { margin: 0; }
.article-body p:has(> .role:first-child) { margin: 0 0 0.35rem; padding-left: 6rem; text-indent: -6rem; }
.article-body .role { display: inline-block; width: 6rem; text-indent: 0; }
.article-body .bibliography h2 { margin-top: 2rem; }
.article-body .bibliography h3 { font-style: normal; font-family: var(--sc); letter-spacing: 0.06em; text-transform: lowercase; margin: 1rem 0 0.5rem; }
.article-body .bibliography h4 { margin: 0.75rem 0 0.4rem; font-weight: 600; font-size: 0.95rem; }
.article-body .bibliography p { margin: 0 0 0.6rem; padding-left: 1.5rem; text-indent: -1.5rem; font-size: 0.95rem; }
.article-body .roles { text-align: center; }
.article-body .roles p { margin: 0 0 0.9rem; }
.article-body .roles .line-block { margin: 0 0 0.9rem; }
.article-body .note { font-size: 0.9rem; color: var(--muted); margin-top: 2rem; }

/* presentation pass, 2026-10-17 */
/* book-review heads: a compact card, title first, details smaller, a rule beneath */
.article-body .book {
  margin: 0 0 2rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid var(--rule);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}
.article-body .book .line-block { margin: 0; }
.article-body .book .line-block::first-line { font-size: 1.12rem; color: var(--ink); }
/* a document quoted inside fiction (v.8 Deason): set apart in a plain sans face */
.article-body .document {
  margin: 1.75rem 0;
  padding: 1.1rem 1.4rem;
  border: 1px solid var(--rule);
  background: #fbfcfa;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.82rem;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.article-body .document p { margin: 0 0 0.75rem; }
.article-body .document .line-block { margin: 0 0 0.9rem; }
.article-body .document .center { text-align: center; margin-bottom: 0.9rem; }
