/* Police Chaplain Confidential in the Gravitas site system (site-system.css).
   Signature page: the navy hero with the CONFIDENTIAL stamp and the page's own section bar are kept as they are.
   Below the hero: shared type, labels, buttons and neumorphic surfaces. The rubber stamps stay; the typewriter
   face is kept only for the case-file labels (file tags, transcript slugs, the notes under a stamp). */

/* ---------- the signature pieces keep their own face ---------- */
body.gx-police-chaplain-confidential > header.hero,
body.gx-police-chaplain-confidential > nav[aria-label="Section navigation"] { font-family: var(--body); font-size: 17px; line-height: 1.65; }

/* ---------- shared tokens inside the page ---------- */
body.gx-police-chaplain-confidential main, body.gx-police-chaplain-confidential > footer {
  --ink: var(--gx-ink); --ink-soft: var(--gx-slate); --gold-ink: var(--gx-gold);
  --raise: var(--gx-raise); --raise-sm: var(--gx-raise-sm); --raise-xs: var(--gx-raise-sm);
  --inset: var(--gx-inset); --inset-sm: var(--gx-inset);
  --r-xl: var(--gx-r); --r-lg: var(--gx-r);
}
/* dark panels keep shadows derived for a dark ground */
body.gx-police-chaplain-confidential main .dark, body.gx-police-chaplain-confidential > footer.dark {
  --ink: #e2e8f4; --ink-soft: #b0bad0;
  --raise: -10px -10px 20px var(--sh-light), 10px 10px 20px var(--sh-dark);
  --raise-sm: -6px -6px 12px var(--sh-light), 6px 6px 12px var(--sh-dark);
  --raise-xs: -3px -3px 7px var(--sh-light), 3px 3px 7px var(--sh-dark);
  --inset-sm: inset 4px 4px 8px var(--sh-dark), inset -4px -4px 8px var(--sh-light);
}

/* ---------- labels ---------- */
body.gx-police-chaplain-confidential main .sec-no { display: inline-block; font: 700 .8125rem/1.6 var(--gx-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gx-gold); }
body.gx-police-chaplain-confidential main .wall .sec-no { color: #d2b575; }
body.gx-police-chaplain-confidential main :is(.callout h4, .q-idx, .q-score, .case-lesson b, .habits h3, .plaque .where, .face .tap) {
  font-family: var(--gx-sans); font-weight: 700; font-size: .75rem; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase;
}
body.gx-police-chaplain-confidential main .callout h4 { color: var(--gx-gold); margin-bottom: .45rem; }
body.gx-police-chaplain-confidential main .q-score { color: var(--gx-slate); }
body.gx-police-chaplain-confidential main .habits h3 { color: var(--red-ink); }
body.gx-police-chaplain-confidential main .plaque .where { color: #b9c3d3; }
/* case-file labels keep the typewriter */
body.gx-police-chaplain-confidential main :is(.face .tag, .face.back .law-says, .q-transcript, summary .case-tag, .case-body h4, .stamp-note-inline) { font-family: var(--type); }

/* ---------- reading type ---------- */
body.gx-police-chaplain-confidential main :is(.sec-head h2, .history-compact h2) { font: 500 var(--gx-h2)/1.08 var(--gx-serif); text-transform: none; letter-spacing: -.02em; margin: .5rem 0 .75rem; }
body.gx-police-chaplain-confidential main .history-compact h2 { font-size: var(--gx-h3); line-height: 1.15; }
body.gx-police-chaplain-confidential main .sec-sub { font: italic 400 1.375rem/1.45 var(--gx-serif); color: var(--gx-slate); }
body.gx-police-chaplain-confidential main :is(.lede, .hc-copy p, .callout p, .two .card p, .verdict-txt p, .q-result p, .pin-list p, .habits li, .case-lesson) { font-family: var(--gx-text); font-size: var(--gx-body); line-height: 1.55; }
body.gx-police-chaplain-confidential main :is(.hc-note, .cop-copy p, .plaque p:not(.where), .q-verdict .echo) { font-family: var(--gx-text); font-size: 1.0625rem; line-height: 1.5; }
body.gx-police-chaplain-confidential main :is(.cop-fail, .fineprint) { font: 450 .9375rem/1.65 var(--gx-sans) !important; color: var(--gx-slate); }
body.gx-police-chaplain-confidential main .note { font: italic 400 1.1875rem/1.5 var(--gx-serif); }
body.gx-police-chaplain-confidential main :is(.cop-copy h3, .two .card h3, .q-verdict h4, .pin-list b) { font: 500 1.625rem/1.15 var(--gx-serif); text-transform: none; letter-spacing: -.01em; color: var(--gx-ink); }
body.gx-police-chaplain-confidential main .cop-copy h3 em { font: 700 .75rem/1.4 var(--gx-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gx-gold); }
body.gx-police-chaplain-confidential main .pin-list b { margin-bottom: .3rem; }
body.gx-police-chaplain-confidential main .pin-list li::before { font: 700 .875rem/1 var(--gx-sans); letter-spacing: .06em; color: var(--gx-gold); }
body.gx-police-chaplain-confidential main .face h3 { font: 500 1.75rem/1.1 var(--gx-serif); text-transform: none; letter-spacing: -.01em; color: var(--gx-ink); }
body.gx-police-chaplain-confidential main .face.back h3 { color: #f7f2e8; }
body.gx-police-chaplain-confidential main .face p { font-size: 1.125rem; line-height: 1.45; }
body.gx-police-chaplain-confidential main .face.back p { color: #dfe5f2; }
body.gx-police-chaplain-confidential main .q-text { font: 400 1.0625rem/1.7 var(--gx-sans); }
body.gx-police-chaplain-confidential main .q-result .score-line { font: 600 .875rem/1.5 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; }
body.gx-police-chaplain-confidential main .script-head h3 { font: 700 .8125rem/1.5 var(--gx-sans); letter-spacing: .14em; text-transform: uppercase; color: #d2b575; }
body.gx-police-chaplain-confidential main .script-body { font: italic 400 var(--gx-lead)/1.5 var(--gx-serif); }
body.gx-police-chaplain-confidential main .script-body em { color: #e5cf9d; }
body.gx-police-chaplain-confidential main .wall .sec-head h2 { color: #f7f2e8; }
body.gx-police-chaplain-confidential main .wall .sec-sub { color: #c9d1dd; }
body.gx-police-chaplain-confidential main .plaque h3 { font: 500 1.5rem/1.15 var(--gx-serif); text-transform: none; letter-spacing: 0; color: #e5cf9d; }
body.gx-police-chaplain-confidential main .plaque p:not(.where) { color: #d9dde2; }
body.gx-police-chaplain-confidential main .wall-close { font: italic 400 var(--gx-body)/1.55 var(--gx-serif); color: #d9dde2; }
body.gx-police-chaplain-confidential main summary { font: 500 1.375rem/1.25 var(--gx-serif); text-transform: none; letter-spacing: 0; }
body.gx-police-chaplain-confidential main .case-body .story { font: 400 var(--gx-body)/1.65 var(--gx-text); }

/* ---------- controls: shared raised pills; quiz answer states keep their colours ---------- */
body.gx-police-chaplain-confidential main .btn { border: 1px solid var(--gx-border); }
body.gx-police-chaplain-confidential main .btn.b-green { color: var(--green-ink); }
body.gx-police-chaplain-confidential main .btn.b-red { color: var(--red-ink); }
body.gx-police-chaplain-confidential main .btn:disabled { cursor: default; opacity: .45; }
body.gx-police-chaplain-confidential main .btn.picked-right { background: linear-gradient(145deg, #4a9a78, #35795c); color: #fff; opacity: 1; border-color: transparent; }
body.gx-police-chaplain-confidential main .btn.picked-wrong { background: linear-gradient(145deg, #cd6255, #a8463a); color: #fff; opacity: 1; border-color: transparent; }
body.gx-police-chaplain-confidential main .dark .btn.gold { background: linear-gradient(145deg, #dcb75e, #c09634); color: #33290f; border-color: transparent; box-shadow: -3px -3px 7px var(--sh-light), 3px 3px 7px var(--sh-dark); }
body.gx-police-chaplain-confidential main .dark .btn.gold:active { box-shadow: var(--inset-sm); }

/* ---------- surfaces ---------- */
body.gx-police-chaplain-confidential main :is(.history-compact, .card, .callout, .verdict, .quiz, .pin-card, details) { background: var(--gx-ground); }
body.gx-police-chaplain-confidential main .callout { box-shadow: var(--gx-raise); }
body.gx-police-chaplain-confidential main .cop-letter { background: var(--gx-ink); color: #e5cf9d; font-family: var(--gx-serif); font-weight: 500; }
body.gx-police-chaplain-confidential main .face.back { background: var(--gx-ink); }
body.gx-police-chaplain-confidential main .face.back .tag { background: var(--gx-ink); }
body.gx-police-chaplain-confidential main summary .case-tag { background: var(--gx-ink); }
body.gx-police-chaplain-confidential main .script-card { background: var(--gx-ink); box-shadow: var(--gx-raise); }
body.gx-police-chaplain-confidential main .script-body { box-shadow: inset 4px 4px 9px rgba(0,0,0,.45), inset -3px -3px 8px rgba(255,255,255,.06); }
body.gx-police-chaplain-confidential main :is(.q-head, .q-verdict) { border-color: var(--gx-border); }
body.gx-police-chaplain-confidential main :is(.hc-note, .habits) { border-top-color: var(--gx-border); }

/* the vault wall: a raised navy panel inside the shared frame */
body.gx-police-chaplain-confidential main .wall { box-sizing: border-box; width: var(--gx-frame); margin: 28px auto; border-radius: var(--gx-r); background: var(--gx-ink); box-shadow: var(--gx-raise); padding-inline: clamp(8px, 2vw, 24px); }
body.gx-police-chaplain-confidential main .plaque { background: #1b3954; }

/* footer: a raised navy panel inside the frame, shared labels */
body.gx-police-chaplain-confidential > footer.dark { box-sizing: border-box; width: var(--gx-frame); margin: 0 auto 28px; border-radius: var(--gx-r); background: var(--gx-ink); box-shadow: var(--gx-raise); font-family: var(--gx-text); }
body.gx-police-chaplain-confidential > footer h3, body.gx-police-chaplain-confidential > footer .credit { font: 700 .8125rem/1.6 var(--gx-sans); letter-spacing: .14em; text-transform: uppercase; color: #d2b575; }
body.gx-police-chaplain-confidential > footer p:not(.sources):not(.credit) { font: 400 1.0625rem/1.7 var(--gx-text); color: #d9dde2; }
body.gx-police-chaplain-confidential > footer .sources { font: 500 .75rem/1.7 var(--gx-sans); letter-spacing: .04em; color: #b9c3d3; }

@media (max-width: 560px) {
  /* the page's own phone rule put the bottom-line items into two columns; one column, number beside text */
  body.gx-police-chaplain-confidential main .pin-list { grid-template-columns: 1fr; }
  body.gx-police-chaplain-confidential main .pin-list li { grid-template-columns: 44px 1fr; gap: .9rem; }
  body.gx-police-chaplain-confidential main .face h3 { font-size: 1.5rem; }
  body.gx-police-chaplain-confidential main :is(.cop-copy h3, .two .card h3, .q-verdict h4, .pin-list b) { font-size: 1.375rem; }
}

/* correction (Oct 16): § 9 Case Files has no case files in any saved copy; hide it and its nav link until the files are restored */
body.gx-police-chaplain-confidential #cases, body.gx-police-chaplain-confidential li:has(> a[href="#cases"]) { display: none !important; }
