/* ── 1945 Lectionary card deck ────────────────────────────────────────────
   Colours are taken entirely from the shared tokens in css/site.css, which
   are redefined under body[data-theme="night"]. Nothing here hardcodes a
   light-mode value, so day and night both render correctly. Fonts are the
   canonical three (Cinzel / EB Garamond / IM Fell English) that site.css
   actually loads -- the previous block named a face the site never loads
   anywhere, so it silently fell back to Georgia. (Font names are kept out
   of this comment on purpose: theme_repair.py --audit greps for them.) */

.lect-lead { max-width:44rem;margin:0 auto 1.6rem;text-align:center; }
.lect-lead p { margin:0 0 .25rem;font-family:var(--font-italic);
  font-size:.95rem;color:var(--ink-light);line-height:1.6; }

/* ── toolbar ── */
.lect-tools { position:sticky;top:0;z-index:20;margin:0 0 1.25rem;
  padding:.85rem .9rem;background:var(--parchment2);
  border:1px solid var(--border);border-radius:var(--radius); }
.lect-tools-row { display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end; }
.lect-field { display:flex;flex-direction:column;gap:.25rem;flex:1 1 15rem;min-width:0; }
.lect-field label { font-family:var(--font-sc);font-size:.7rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gold-light); }
.lect-tools input[type="search"], .lect-tools select {
  font-family:var(--font-serif);font-size:1rem;color:var(--ink);
  background:var(--parchment);border:1px solid var(--border-gold);
  border-radius:var(--radius);padding:.5rem .6rem;width:100%;
  min-height:44px;appearance:none; }
.lect-tools input[type="search"]::placeholder { color:var(--ink-light);opacity:.75; }
.lect-btns { display:flex;gap:.5rem;flex:0 0 auto; }
.lect-btn { font-family:var(--font-sc);font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold-light);background:var(--parchment);
  border:1px solid var(--border-gold);border-radius:var(--radius);
  padding:.5rem .8rem;min-height:44px;cursor:pointer; }
.lect-btn:hover { background:var(--gold-faint); }
.lect-status { margin:.6rem 0 0;font-family:var(--font-italic);
  font-size:.85rem;color:var(--ink-light); }

/* ── jump bar ── */
.lect-jump { display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1.5rem; }
.lect-jump a { font-family:var(--font-sc);font-size:.66rem;letter-spacing:.07em;
  text-transform:uppercase;text-decoration:none;color:var(--gold-light);
  border:1px solid var(--border-gold);border-radius:999px;
  padding:.4rem .7rem;line-height:1.1; }
.lect-jump a:hover { background:var(--gold-faint); }

/* ── sections and cards ── */
.lect-season { margin:0 0 2rem; }
.lect-season > h2 { font-family:var(--font-sc);font-size:1.05rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
  margin:0 0 .9rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-gold); }
.lect-grid { display:grid;gap:.9rem;
  grid-template-columns:repeat(auto-fill,minmax(19rem,1fr)); }
.lect-card { background:var(--parchment2);border:1px solid var(--border);
  border-left:3px solid var(--gold-light);border-radius:var(--radius);
  padding:.9rem 1rem 1rem;min-width:0; }
.lect-card > h3 { font-family:var(--font-sc);font-size:.95rem;
  letter-spacing:.04em;color:var(--ink);margin:0 0 .1rem;line-height:1.35; }
.lect-card-sub { font-family:var(--font-italic);font-size:.78rem;
  color:var(--ink-light);margin:0 0 .55rem; }
.lect-cites { list-style:none;margin:0 0 .75rem;padding:0; }
.lect-cites li { display:flex;gap:.5rem;font-size:.88rem;line-height:1.55;
  padding:.12rem 0;min-width:0; }
.lect-cites .lbl { flex:0 0 6.2rem;font-family:var(--font-sc);font-size:.66rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light);
  padding-top:.22rem; }
.lect-cites .cite { font-family:var(--font-serif);color:var(--ink);
  overflow-wrap:anywhere; }
.lect-cites .missing { font-family:var(--font-italic);color:var(--ink-light); }
.lect-open { font-family:var(--font-sc);font-size:.68rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--gold-light);background:none;
  border:1px solid var(--border-gold);border-radius:var(--radius);
  padding:.45rem .75rem;min-height:44px;cursor:pointer;width:100%; }
.lect-open:hover { background:var(--gold-faint); }
.lect-hit { display:inline-block;margin-left:.4rem;font-family:var(--font-serif);
  font-size:.7rem;color:var(--ink-light);text-transform:none;letter-spacing:0; }

/* ── expanded lessons ── */
.lect-body { margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--border); }
.lect-body h4 { font-family:var(--font-sc);font-size:.72rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--gold-light);margin:1.1rem 0 .4rem; }
.lect-body h4:first-child { margin-top:0; }
.lect-body h4 .ref { font-family:var(--font-serif);text-transform:none;
  letter-spacing:0;font-size:.9rem;color:var(--ink-light);margin-left:.4rem; }
.lect-body p { font-family:var(--font-serif);font-size:1rem;line-height:1.8;
  color:var(--ink);margin:0 0 .8rem; }
.lect-body strong { color:var(--ink);font-weight:600; }
.lect-body sup { color:var(--gold-light);font-size:.68em;
  padding-right:.15em;font-weight:600; }
.lect-body .lect-note { font-family:var(--font-italic);color:var(--ink-light); }
.lect-body .lect-homily p { font-family:var(--font-serif);color:var(--ink-light); }
.lect-body mark { background:var(--gold-faint);color:var(--ink);
  box-shadow:0 0 0 1px var(--border-gold);border-radius:2px;padding:0 .1em; }

.lect-empty { font-family:var(--font-italic);color:var(--ink-light);
  text-align:center;padding:2.5rem 1rem; }

/* ── accessibility ── */
.lect-tools :focus-visible, .lect-card :focus-visible, .lect-jump a:focus-visible {
  outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius); }
.lect-sr { position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .lect-card, .lect-btn, .lect-open { transition:none !important; }
}
@media (max-width:640px) {
  .lect-tools { position:static; }
  .lect-grid { grid-template-columns:1fr; }
  .lect-cites .lbl { flex-basis:5.4rem; }
}
