/* jmba-shared.css — ONE place for large print + high contrast across all jmba.com pages.
   Edit here, upload, every page changes. Linked as /jmba-shared.css */
  /* ── LARGE PRINT / HIGH CONTRAST (matches senior driving course) ── */
  body { font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.6; }
  .lightbox-request-btn, .pick-cta, .portfolio-cta-btn, a.donate-link { min-height: 52px; border-width: 2px; font-size: 18px; letter-spacing: 0.02em; }
  a:focus-visible, button:focus-visible { outline: 4px solid #f90; outline-offset: 2px; }
  .a11y-tools { display: flex; gap: 8px; align-items: center; margin-left: 16px; }
  .a11y-tools button { min-height: 44px; padding: 6px 14px; border-radius: 10px; border: 2px solid var(--accent); background: var(--white); color: var(--ink); cursor: pointer; font-size: 17px; }
  body.hc { --bg:#000; --bg2:#000; --bg3:#111; --white:#111; --ink:#fff; --mid:#fff; --muted:#fff; --accent:#ffd400; --accent2:#ffd400; --gold:#ffd400; --border:#fff; --panel:#111; --soft:#fff; --line:#fff; --accentInk:#000; --accent-ink:#000; --card:#111; }
  body.hc nav { background: #000; }
  body.hc a { color: #ffd400; }
  body.hc .a11y-tools button { background: #111; color: #fff; border-color: #ffd400; }
  body.hc .lightbox-request-btn, body.hc .pick-cta, body.hc .portfolio-cta-btn, body.hc a.donate-link { color: #000; background: #ffd400; }
  @media print { .a11y-tools { display: none; } }

/* --- extras for every page --- */
body.hc main, body.hc section, body.hc header, body.hc footer, body.hc article, body.hc aside, body.hc .card { background-color: #000; color: #fff; border-color: #fff; }
body.hc h1, body.hc h2, body.hc h3, body.hc h4, body.hc p, body.hc li, body.hc td, body.hc th, body.hc label { color: #fff; }
body.hc a { color: #ffd400; }
body.hc button { background: #111; color: #fff; border-color: #ffd400; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 4px solid #f90; outline-offset: 2px; }
p, li { line-height: 1.6; }
.a11y-float { display: flex; justify-content: flex-end; gap: 8px; margin: 6px 12px 0; padding: 0; background: none; border: 0; }
.nav-links a.nav-donate { background: var(--accent); color: #fff; padding: 8px 18px; border-radius: 10px; }
body.hc .nav-links a.nav-donate { background: #ffd400; color: #000; }

/* high contrast: panels/inputs/buttons on chess and tool pages (they use --panel) */
body.hc .card, body.hc .btn, body.hc input, body.hc textarea, body.hc select, body.hc .cat, body.hc .chip, body.hc .fbnear { background:#111; color:#fff; border-color:#fff; }
body.hc .btn.pri, body.hc .btn.primary { background:#ffd400; color:#000; border-color:#ffd400; }
