/* ── Apparatus: back matter (Index of First Lines, Concordance) ──
   No JavaScript on this page. Tokens come from showcase.css. */

.apparatus-page .site-header { opacity: 1; }

.apparatus {
  max-width: 38em;
  margin: 0 auto;
  padding: 0 16px 4rem;
  font-family: 'EB Garamond', Georgia, serif;
  color: var(--ink);
}

/* Masthead */
.apparatus-masthead { text-align: center; margin: 1rem 0 3rem; }
.apparatus-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  margin: 0 0 0.4rem;
  color: var(--ink);
}
.apparatus-subline {
  font-style: italic;
  color: var(--ink-mid);
  font-size: 1.05rem;
  margin: 0 0 1.2rem;
}

/* Small-caps family: section heads, letter heads, headwords, kickers, rails */
.apparatus-contents, .apparatus-contents a,
.apparatus-head, .letter-head, .headword, .kw, .kicker, .letter-rail a {
  font-family: 'Cormorant SC', serif;
  font-weight: 400;
  font-style: normal;
}
.apparatus-contents { font-size: 0.8rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-light); }
.apparatus-contents a { color: var(--ink-light); text-decoration: none; border-bottom: 1px solid transparent; }
.apparatus-contents a:hover, .apparatus-contents a:focus { color: var(--ink); border-color: var(--gold); }

.apparatus-section { margin-top: 3.5rem; }
.apparatus-head {
  font-size: 1.3rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 1rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--parchment-deep);
}

.letter-rail { display: flex; flex-wrap: wrap; gap: 0.4em 1em; margin: 0 0 1.5rem; }
.letter-rail a { color: var(--ink-light); text-decoration: none; font-size: 0.95rem; letter-spacing: 0.1em; border-bottom: 1px solid transparent; }
.letter-rail a:hover, .letter-rail a:focus { color: var(--ink); border-color: var(--gold); }

.letter-head {
  font-size: 1.6rem;
  color: var(--ink-light);
  margin: 2.2rem 0 0.6rem;
}

/* Index lines and KWIC lines: hanging indent, kicker in the margin */
.index-line, .kwic {
  margin: 0 0 0.35rem;
  padding-left: 1.5em;
  text-indent: -1.5em;
  line-height: 1.5;
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}
.index-line a, .kwic a {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.index-line a:hover, .index-line a:focus,
.kwic a:hover, .kwic a:focus { border-color: var(--gold); }

.kicker {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-light);
  text-indent: 0;
  white-space: nowrap;
}
.kicker i { font-style: italic; text-transform: none; letter-spacing: 0.05em; }
/* narrow: kicker inline after the line, separated by a middle dot */
.kicker::before { content: "\00a0·\00a0"; color: var(--ink-faint); }

.entry { margin: 0 0 1.6rem; }
.headword {
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  margin: 0 0 0.3rem;
  color: var(--ink);
}
.headword .count { color: var(--ink-light); font-size: 0.9rem; letter-spacing: 0.1em; }
.kw { letter-spacing: 0.06em; }
.more { font-style: italic; color: var(--ink-light); font-size: 0.95rem; margin: 0.1rem 0 0 1.5em; }

/* wide: kicker floats right into a margin column */
@media (min-width: 40em) {
  .apparatus { padding-right: calc(16px + 8rem); }
  .index-line, .kwic { position: relative; }
  .kicker {
    position: absolute;
    right: -8rem;
    top: 0.15em;
    width: 7.5rem;
    text-align: right;
  }
  .kicker::before { content: none; }
}

@media print {
  .letter-rail, .apparatus-contents { display: none; }
  .apparatus { padding-right: 16px; }
  .kicker { position: static; }
  .kicker::before { content: "\00a0·\00a0"; }
}
