/* Printing and "Save as PDF". Every printed page carries the snapshot date, the legal notice and a QR code back to the live page.
   Whole-area address lists (List, Map) do not print; addresses print one town at a time. */
:root, :root[data-skin] {
  --bg: #fff !important; --panel: #fff !important; --panel-2: #fff !important; --fg: #000 !important; --muted: #333 !important;
  --line: #999 !important; --line-2: #999 !important; --gold: #000 !important; --gold-2: #000 !important; --gold-ink: #fff !important;
  --pumpkin: #000 !important; --purple: #000 !important; --good: #000 !important; --warn: #000 !important; --bad: #000 !important;
}
@page { margin: 14mm 12mm 24mm; }
html, body { background: #fff !important; color: #000 !important; }
body { padding: 0 !important; font-size: 10.5pt; line-height: 1.35; }
header.site, .fab, .legal-strip, .gate, .sheet, .update-bar, .skip, .toast, .ribbon, .no-print,
#mytownSlot, .hero .moon, .minimap, .mapwrap, .map-note, .card[style*="padding:0"], .leaflet-container,
.chips[role="group"], .controls, .list-controls, .src, .work .c { display: none !important; }
.print-only { display: block !important; }
main.inner, .inner { max-width: none !important; padding: 0 !important; margin: 0 !important; }
a { color: #000 !important; text-decoration: none !important; }
h1 { font-family: var(--display) !important; color: #000 !important; font-size: 20pt !important; text-shadow: none !important; }
h2 { font-size: 13pt !important; }
.hero, .card, .bld, .unit, .work, .tip, .stat, .muni, .tonight-card, .mytown, .notice { background: #fff !important; border-color: #999 !important; box-shadow: none !important; }
.hero::before, .hero::after { display: none !important; }
.tag { background: none !important; color: #000 !important; border: 1px solid #000 !important; }
.bld, .unit, .work, tr, .tip, .print-town { break-inside: avoid; }
.grid.cols-2 { grid-template-columns: 1fr !important; }

#printMeta { border-bottom: 1.5pt solid #000; padding-bottom: 6pt; margin-bottom: 10pt; display: grid !important; grid-template-columns: 1fr auto; gap: 10pt; align-items: start; }
#printMeta .pm-title { font: 700 14pt var(--display, Georgia, serif); }
#printMeta .pm-lines { font-size: 9pt; }
#printMeta .pm-qr svg { width: 26mm; height: 26mm; display: block; }
#printMeta .pm-url { font: 8pt monospace; text-align: center; margin-top: 2pt; }
#printFoot { position: fixed; left: 0; right: 0; bottom: 0; font-size: 7.5pt; line-height: 1.3; border-top: 1pt solid #000; padding-top: 3pt; background: #fff; }

/* whole-area address pages never print */
body[data-route="list"] main, body[data-route="map"] main { display: none !important; }
#printBlocked { display: none !important; }
body[data-route="list"] #printBlocked, body[data-route="map"] #printBlocked { display: block !important; font-size: 12pt; border: 1pt solid #000; padding: 10pt; }

/* the printable hours sheet */
.ph-county { break-inside: avoid; margin-top: 8pt; }
.ph-list { columns: 2; column-gap: 10mm; font-size: 9.5pt; }
.ph-row { break-inside: avoid; display: flex; justify-content: space-between; gap: 6pt; border-bottom: .5pt solid #bbb; padding: 1.5pt 0; }
.ph-tips { columns: 2; column-gap: 10mm; font-size: 9pt; }
.tag.has-tip::after { content: none !important; }
.info-i, .tipbox, .find, #streetResults { display: none !important; }
.linkish { text-decoration: none !important; color: #000 !important; }
