/*
 * pdai-epistolary.css — PDAI Epistolary & Correspondence Domain Stylesheet
 *
 * Covers all letter/correspondence structure from the PDAI DTD family:
 *   page_letter.dtd, kepler-prim/page.dtd, pirckheimer/page.dtd
 *
 * Tag taxonomy:
 *   Envelope:    letter-head, running-header, letter-starts, letter-ends
 *   Chips:       sender, addressee, place, date, archive, incipit, reference
 *   Body:        blocks, block (type=body/salutation/closing/signature/fn/regest)
 *   Apparatus:   regest, ausfertigung, druck, textbasis, header-meta
 *   Appendix:    anhang, anhang-regest, anhang-header-meta, anhang-body
 *   Closing:     letter-closing, greeting, place-date, signature, postscriptum, address
 *   Inline:      foreign, unclear, expand, catchword, lineno, fnmark
 *
 * Palette: Oxford blue + warm gold — inherited from pdai-page.css custom properties.
 */

/* ── Running-header (secondary title line above header) ───────────────── */

[data-el="running-header"],
.running-header {
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--oxford);
  text-align: center;
  margin-bottom: 4px;
  padding-bottom: 4px;
}

/* ── Letter parts (page_letter.dtd v4.2, the universal letter page) ────── */
/* A page is main > letter-part[nr] | register[type]; one letter part per
   letter printed on the page. Collection sheets keep typography only. */
.page-sheet [data-el="letter-part"],
.page-sheet [data-el="register"] {
    display: block;
    margin-bottom: 1.2rem;
}
.page-sheet [data-el="letter-part"] + [data-el="letter-part"] {
    margin-top: 1.6rem;
}

/* ── Letter-head card ────────────────────────────────────────────────── */

[data-el="letter-head"],
.letter-head {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 10px;
  margin-bottom: 18px;
  font-family: var(--sans);
  position: relative;
  border-bottom: 1px solid var(--rule-gold);
}

/* Reference / letter number */
[data-el="reference"],
[data-el="letter-head"] > [data-el="reference"] {
  display: block;
  font-weight: 700;
  color: var(--oxford);
  font-size: 1.04em;
  margin-bottom: 8px;
  letter-spacing: 0.01em;
}

/* Chip grid: sender, addressee, place, date, archive */
.letter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-bottom: 6px;
}

.letter-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.82em;
}

.letter-chip-label {
  font-size: 0.78em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ink-faint);
}

.letter-chip-value {
  color: var(--ink);
  font-weight: 500;
}

.letter-chip.chip-date .letter-chip-value {
  color: var(--gold);
  font-weight: 700;
}

.letter-chip.chip-place .letter-chip-value {
  color: var(--oxford);
  font-weight: 600;
}

/* Sender / addressee inline */
[data-el="sender"],
[data-el="addressee"] {
  color: var(--ink);
  font-weight: 500;
}

/* Place & date inline in letter-head */
[data-el="letter-head"] > [data-el="place"],
[data-el="letter-head"] > [data-el="date"] {
  color: var(--gold);
  font-weight: 600;
  font-size: 0.95em;
}

/* Archive provenance line */
[data-el="archive"] {
  display: block;
  font-size: 0.8em;
  color: var(--ink-faint);
  margin-top: 6px;
  font-style: italic;
}

/* Incipit */
[data-el="incipit"] {
  display: block;
  font-style: italic;
  color: var(--ink-muted);
  font-size: 0.9em;
  margin-top: 6px;
  padding-left: 0.5em;
  border-left: 2px solid var(--gold-border);
}

/* ── Letter-starts / letter-ends markers ─────────────────────────────── */

[data-el="letter-starts"],
[data-el="letter-ends"] {
  display: block;
  font-family: var(--sans);
  font-size: 0.78em;
  color: var(--ink-faint);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0.5em 0 0.2em;
}

/* ── Blocks container & block variants ───────────────────────────────── */

[data-el="blocks"] {
  display: block;
}

[data-el="block"] {
  display: block;
  margin-bottom: 0.9em;
  position: relative;
}

/* Partial block continuation markers */
[data-el="block"][data-partial="start"]::after {
  content: " ↓";
  font-size: 0.75em;
  color: var(--ink-faint);
  font-style: italic;
}
[data-el="block"][data-partial="end"]::before {
  content: "↑ ";
  font-size: 0.75em;
  color: var(--ink-faint);
  font-style: italic;
}

/* Epistolary block types via data-type */

/* Regest: italic summary with gold left rule */
[data-el="block"][data-type="regest"],
[data-el="regest"] {
  font-style: italic;
  color: var(--ink-muted);
  font-size: 0.93em;
  padding-left: 1.1em;
  border-left: 3px solid var(--gold-border);
  margin-bottom: 1em;
}

/* Body: normal prose */
[data-el="block"][data-type="body"],
[data-el="body"] {
  /* Normal prose, no additional decoration */
}

/* Salutation */
[data-el="block"][data-type="salutation"],
[data-el="salutation"] {
  font-weight: 600;
  color: var(--oxford);
  margin-bottom: 0.5em;
}

/* Closing group */
[data-el="block"][data-type="closing"],
[data-el="closing"] {
  margin-top: 1.4em;
  padding-top: 0.6em;
  border-top: 1px dashed var(--rule);
  text-align: right;
  font-style: italic;
}

/* Signature */
[data-el="block"][data-type="signature"],
[data-el="signature"] {
  font-weight: 700;
  color: var(--oxford);
  font-style: normal;
  text-align: right;
  margin-top: 4px;
}

/* Footnote block (in letters) */
[data-el="block"][data-type="fn"] {
  font-size: 0.87em;
  color: var(--ink-muted);
  padding-left: 1.5em;
  text-indent: -1.5em;
  border-top: none;
}

/* ── Critical apparatus: Ausfertigung, Druck, Textbasis ─────────────── */

[data-el="ausfertigung"],
[data-el="druck"],
[data-el="textbasis"] {
  display: block;
  font-size: 0.87em;
  color: var(--ink-muted);
  padding-left: 0.8em;
  border-left: 2px solid var(--rule);
  margin-bottom: 0.4em;
  font-style: italic;
}

[data-el="header-meta"],
[data-el="anhang-header-meta"] {
  background: rgba(0, 33, 71, 0.04);
  border: 1px solid var(--rule);
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 12px;
  font-size: 0.88em;
}

/* ── Appendix (Anhang) ───────────────────────────────────────────────── */

[data-el="anhang"],
[data-el="anhang-body"] {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
}

[data-el="anhang-regest"] {
  font-style: italic;
  color: var(--ink-muted);
  font-size: 0.93em;
  padding-left: 1.1em;
  border-left: 3px solid var(--rule);
  margin-bottom: 0.8em;
}

/* ── Letter-closing block ────────────────────────────────────────────── */

[data-el="letter-closing"] {
  margin-top: 22px;
  padding-top: 10px;
  border-top: 1px dashed var(--rule);
}

[data-el="letter-closing"] [data-el="greeting"],
[data-el="letter-closing"] [data-el="salutation"] {
  font-weight: 600;
  color: var(--oxford);
  margin-bottom: 8px;
}

[data-el="letter-closing"] [data-el="place-date"] {
  font-style: italic;
  color: var(--ink-muted);
  font-size: 0.9em;
  text-align: right;
  margin-bottom: 4px;
}

[data-el="letter-closing"] [data-el="signature"] {
  font-weight: 700;
  color: var(--oxford);
  text-align: right;
  margin-top: 4px;
}

[data-el="letter-closing"] [data-el="postscriptum"] {
  margin-top: 16px;
  text-align: left;
  font-size: 0.93em;
  font-style: italic;
}

[data-el="letter-closing"] [data-el="address"] {
  margin-top: 12px;
  font-size: 0.88em;
  color: var(--ink-muted);
  padding: 6px 10px;
  border: 1px dashed var(--rule);
  border-radius: 4px;
  display: inline-block;
}

/* ── Inline editorial elements ───────────────────────────────────────── */

/* Foreign text: italicized with faint color */
[data-el="foreign"] {
  font-style: italic;
  color: var(--ink-muted);
}

/* Unclear / conjectural: dotted underline */
[data-el="unclear"] {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--gold-border);
}

/* Expand (expansion of abbreviation): faint */
[data-el="expand"] {
  color: var(--ink-muted);
  font-size: 0.92em;
}

/* Catchword (Kustode): small, right-aligned */
[data-el="catchword"] {
  display: block;
  text-align: right;
  font-size: 0.78em;
  color: var(--ink-faint);
  font-style: italic;
  margin-top: 0.3em;
}

/* Lineno: hanging margin line number */
[data-el="lineno"],
.lineno {
  display: inline-block;
  min-width: 2.4em;
  margin-right: 0.3em;
  font-family: var(--mono);
  font-size: 0.74em;
  color: var(--ink-faint);
  vertical-align: baseline;
  text-align: right;
  user-select: none;
  -webkit-user-select: none;
}

/* Fnmark: superscript footnote mark within text */
[data-el="fnmark"] {
  vertical-align: super;
  font-size: 0.68em;
  color: var(--gold);
  font-weight: 700;
  margin-left: 1px;
  user-select: none;
  cursor: default;
}

/* Karman-Nachlass letters (karman_letter.dtd). Names overlap Kepler; models do not. */

[data-el="letterhead"] {
  text-align: center;
  font-family: var(--sans);
  font-variant: small-caps;
  letter-spacing: 0.08em;
  color: var(--oxford);
  font-weight: 600;
  margin-bottom: 1rem;
}

[data-el="letterhead"] [data-el="line"] {
  display: block;
  line-height: 1.35;
}

.karman-dateline,
[data-el="dateline"] {
  text-align: right;
  font-style: italic;
  color: var(--ink-muted);
  text-indent: 0 !important;
  margin-bottom: 1em;
}

[data-el="subject"] {
  font-style: italic;
  margin: 0.4em 0 1em;
  text-indent: 0 !important;
}

[data-el="letter"] [data-el="signature"] [data-el="line"],
.letter-signature [data-el="line"] {
  display: block;
  text-align: right;
}
