/* Free Food Today — print stylesheet.
   Renders per-ward flyer output for QR posters and paper handouts.
   Loaded via <link rel="stylesheet" href="print.css" media="print">. */

@page {
  size: letter;
  margin: 0.5in;
}

body {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11pt;
  line-height: 1.35;
  color: #000;
  background: #fff;
}

/* Hide interactive chrome */
nav.tabs,
section.filters,
.tabs,
#month-view,
#week-view,
#floating-section,
.section-head h2,
.empty,
button {
  display: none !important;
}

/* Header: title + hotline, then a page-break candidate */
header.main {
  text-align: left;
  padding: 0 0 0.15in;
  border-bottom: 2pt solid #000;
  background: transparent;
}
header.main h1 { font-size: 22pt; margin: 0 0 4pt; color: #000; }
header.main .tagline { font-size: 12pt; font-style: italic; margin: 0 0 6pt; }
header.main .promise { font-size: 11pt; font-weight: bold; margin: 4pt 0; }
header.main .reassure { display: none; }
header.main .fallback {
  display: inline-block;
  padding: 4pt 8pt;
  border: 1.5pt solid #000;
  color: #000;
  background: transparent;
  text-decoration: none;
  font-weight: bold;
  font-size: 11pt;
}

/* One column of cards, stacked, per ward */
main { max-width: none; margin: 0; padding: 0; }
.view.hidden { display: block; } /* show all views for print */
#today-view > div { padding: 0; }
.cards {
  display: block;
  padding: 0;
  gap: 0;
}
.site {
  border: 0.5pt solid #666;
  border-radius: 0;
  padding: 6pt 8pt;
  margin: 0 0 6pt;
  page-break-inside: avoid;
  box-shadow: none;
  background: transparent;
}
.site.open-now { border-left: 3pt solid #000; }

.site-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.site h3 { margin: 0; font-size: 12pt; }
.site h3 a { color: #000; text-decoration: none; }
.region-tag {
  background: transparent;
  color: #000;
  border: 0.5pt solid #000;
  padding: 1pt 4pt;
  font-size: 9pt;
  font-weight: bold;
  border-radius: 0;
}
.site .address, .site .notes, .site .meta, .site .phone-row { margin: 2pt 0; font-size: 10pt; }
.site .hours { margin: 3pt 0; font-weight: bold; color: #000; font-size: 10.5pt; }
.site .seasonal-note { font-weight: bold; font-size: 9.5pt; color: #000; }

.badges { margin: 3pt 0; padding: 0; list-style: none; }
.badge {
  display: inline-block;
  border: 0.5pt solid #000;
  background: transparent;
  color: #000;
  padding: 1pt 4pt;
  margin-right: 3pt;
  border-radius: 0;
  font-size: 9pt;
  font-weight: bold;
}

.phone-row a {
  color: #000;
  font-size: 13pt;
  font-weight: bold;
  text-decoration: none;
}

.meta { font-size: 9pt; color: #333; gap: 6pt; }
.confidence.directory_only::before { content: "* "; }
.confidence.verified::before { content: "✓ "; }
.source::before { content: "Source: "; font-style: italic; }
.source { text-decoration: none; color: #333; }
.stale { font-weight: bold; }

/* Force new page between wards. Uses attr selector on ward-tagged cards. */
.site[data-region]:not([data-region="1"]) { }
/* Simple approach: page-break-before on the first site of each ward.
   Requires ordering in JS render; build.js sorts by region + name. */

footer {
  border-top: 1pt solid #000;
  padding: 4pt 0;
  background: transparent;
  margin-top: 8pt;
  font-size: 9pt;
}
footer h3 { font-size: 10pt; margin: 4pt 0 2pt; }
footer .footer-inner { display: block; }
footer section { margin: 0 0 6pt; }
footer dl {
  display: block;
}
footer dt { display: inline-block; font-weight: bold; margin-right: 4pt; }
footer dd { display: inline; margin: 0 12pt 0 0; }
footer dd::after { content: ""; display: block; height: 0; }
footer .credit { font-size: 8pt; margin: 4pt 0 0; text-align: left; }

/* Print URLs beside links */
a[href^="http"]::after,
a[href^="tel:"]::after {
  content: "";
}
.source[href]::after {
  content: " (" attr(href) ")";
  font-size: 8pt;
  font-style: italic;
}
