/* Saints & Hagiography (v15). Text colors use palette tokens only (>= 4.5:1 in both themes; see AGENTS.md). */
.saint-search{margin:0 0 6px}
.saint-search-out .callout{margin-top:10px}
.saint-today{margin:22px 0 26px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.saint-today h2{margin:4px 0 10px;font-size:clamp(22px,2.4vw,28px)}
.saint-today .small-h{font:600 13px var(--sans);color:var(--ink2);margin:14px 0 6px}
.saint-list{list-style:none;margin:0 0 10px;padding:0;font-family:var(--sans);font-size:15px}
.saint-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:9px 2px;border-top:1px solid var(--line)}
.saint-row:first-child{border-top:0}
.saint-row>a{text-decoration:none;font-family:var(--serif);font-size:18px}
.saint-meta{color:var(--muted);font-size:13.5px}
.saint-aka,.saint-src{flex-basis:100%;color:var(--ink2);font-size:13.5px}
.saint-status,.saint-flag{display:inline-block;font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid var(--line);color:var(--ink2);background:var(--bg2);vertical-align:middle}
.saint-status.s-saint{color:var(--rubric)}
.saint-status.s-unknown{color:var(--muted)}
.saint-flag{border-color:var(--gold);color:var(--gold-ink);background:transparent;margin-left:4px}
.saint-flag.f-angel{border-color:var(--blue);color:var(--blue)}
.saint-flag.f-fiction{border-color:var(--rubric);color:var(--rubric)}
.saint-page h1{margin:4px 0 8px}
.saint-statusline{margin:10px 0;font-family:var(--sans);font-size:14px}
.saint-hist{margin:12px 0;padding:12px 16px;border-left:3px solid var(--gold);background:var(--bg2);border-radius:0 8px 8px 0;font-size:16px;color:var(--ink)}
.saint-page .panel{margin:18px 0}
.saint-page .panel h2{margin:0 0 10px;font-size:24px}
.saint-page .panel h3,.saint-panel h3{margin:14px 0 6px;font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.saint-feasts{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px 16px;margin:6px 0 10px;font-family:var(--sans);font-size:14.5px}
.saint-feasts dt{font-weight:600;color:var(--ink2)}
.saint-feasts dd{margin:0}
.saint-links{margin-top:10px}
.saint-panel{margin:16px 0 4px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.saint-panel .eyebrow a{color:inherit}
.saint-lives .k.read{margin-left:6px}
.saint-lives li{padding:8px 2px}
.saint-lives a{display:inline;padding:0}
.k.listen{font:700 9.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--bg2);color:var(--rubric);text-decoration:none}
.hodie-saints{margin:0 0 12px;font-family:var(--sans);font-size:14.5px}
.hodie-saints .k{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-right:6px}
.saint-hit .k{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-right:6px}
.az-bar{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px;font:600 14px var(--sans)}
.az-bar a{min-width:34px;min-height:34px;display:grid;place-items:center;padding:0 8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink2)}
.az-bar a[aria-current]{background:var(--rubric);border-color:var(--rubric);color:var(--on-rubric)}
.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cal-m{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.cal-m h2{margin:0 0 8px;font-size:21px}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font:500 13px var(--sans)}
.cal-d{display:grid;place-items:center;min-height:30px;border-radius:6px;text-decoration:none;color:var(--muted)}
.cal-d.has{background:var(--bg2);color:var(--rubric);font-weight:700}
.cal-d.today{outline:2px solid var(--gold);outline-offset:-2px}
.cal-nav{display:flex;justify-content:space-between;gap:12px;font-family:var(--sans);margin-top:22px}
.shelf{list-style:none;margin:0;padding:0}
.shelf-item{padding:16px 0;border-top:1px solid var(--line)}
.shelf-t b{font-size:19px}
.shelf-t .saint-meta{display:block}
.shelf-dl{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:4px 14px;margin:8px 0;font:14px var(--sans);color:var(--ink2)}
.shelf-dl dt{font-weight:600}
.shelf-dl dd{margin:0}
.shelf-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.saint-about{max-width:820px}
@media (max-width:640px){.saint-feasts,.shelf-dl{grid-template-columns:1fr}.saint-feasts dt,.shelf-dl dt{margin-top:6px}}
/* v15 added "Saints" to the secondary nav row; tighten that row slightly so it stays one line (header height unchanged) */
@media (min-width:721px) and (max-width:1100px){.nav-secondary a{padding-left:6px;padding-right:6px}}
@media (min-width:721px) and (max-width:1000px){.nav-secondary a{padding-left:4px;padding-right:4px}}
