/* Paper copies of Stays and Contacts. */
@media print {
  :root, [data-region] {
    --bg: #fff; --surface: #fff; --surface-2: #f2f2f2; --ink: #000; --muted: #333; --line: #888;
    --a: #000; --a-ink: #fff; --a-soft: #eee; --b: #000; --b-soft: #eee;
    --gold: #000; --gold-soft: #eee; --ok: #000; --ok-bg: #fff; --warn: #000; --warn-bg: #fff; --bad: #000; --bad-bg: #fff;
  }
  body { font-size: 11pt; background: #fff; color: #000; }
  .topbar, .nav, .foot, .contacts-fab, .feedback-fab, .feedback-top, .jump-bar, dialog.sheet, .toast-host, .banner, .no-print, .skip, .chips, .vote-btn, .hero, .quick, .tabbar, .to-top, .route-wrap { display: none !important; }
  .shell { display: block; padding: 0; }
  .content { padding: 0; }
  .card, .day, .phone-group, .callout, .blk-details, .tbl tr { break-inside: avoid; page-break-inside: avoid; }
  .card, .day, .phone-group, .callout { border: 1.5px solid #000; box-shadow: none; border-radius: 6px !important; overflow: visible; }
  .card::before, .day::before { display: none !important; }
  .status-gap { border: 2.5px dashed #000; background: none; }
  .page-icon { display: none; }
  .blk-details > summary { border: 0; }
  details:not([open]) > :not(summary) { display: block; }
  details::details-content { content-visibility: visible; display: block; }
  .field { grid-template-columns: 30% 70%; padding: 4px 0; }
  a { color: #000; text-decoration: none; }
  .print-page a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; overflow-wrap: anywhere; }
  .print-page a[href^="tel"] { font-weight: 700; }
  a.tel { min-height: 0; }
  .tag, .gap, .badge { border: 1px solid #000; background: #fff; color: #000; }
  .cancel-left { border: 1px solid #000; background: #fff; color: #000; }
  .vote-print { display: inline !important; font-weight: 700; }
  .cards { gap: 8px; }
  .card, .day, .phone-group, .callout, .stat, .index-card, .tbl tr, .btn, .dl a, .transfers li { box-shadow: none !important; }
  body, .topbar { font-family: var(--font-body), Arial, sans-serif; }
  h1, h2, h3 { font-family: var(--font-display), Georgia, serif; }
  .tbl th, .tbl td:first-child { background: #eee !important; color: #000 !important; }
  /* kolam art is decoration: none of it on paper */
  .kolam, .k-divider, .k-empty, .k-trace, .k-sweep, .k-flourish, .pad, .page-icon-badge { display: none !important; }
  body, .card, .day, .index-card, .phone-group, .soon-card, .blk-details { background-image: none !important; }
  .blk-h::before { display: none !important; }
  /* photographs and block-print ornaments stay on screen */
  .region-band, .hero-photo, .photo-credit, .hero-hello { display: none !important; }
  .page-head h1::after, .foot::before, .nav ul::before { display: none !important; }
  .card, .day { box-shadow: none !important; }
  .card[data-region]::before { display: none !important; }
}
