/* ==========================================================================
   Party Portions — print stylesheet
   Goal: any calculator result (or the homepage planner) prints as ONE clean
   ink-on-white shopping list with checkboxes. Everything else disappears.
   Loaded with media="print", so nothing here affects screen rendering.
   ========================================================================== */

/* Kill interactive chrome */
.site-header, .site-footer, .nav-toggle, #theme-toggle, #scroll-top,
#read-progress, #cookie-banner, .toc, .cta-inline, .breadcrumbs, .related,
.ad-slot, .list-actions, .btn-accent, .btn-ghost, .preset-chips,
.accuracy-strip, .season-banner, .skip-link { display: none !important; }

html, body {
  background: #fff !important;
  color: #1a1a1a !important;
  font-size: 11.5pt;
  line-height: 1.5;
}

h1, h2, h3, h4 { color: #111 !important; }
p, li, td, th, .lede { color: #262626 !important; }
a { color: #1a1a1a !important; text-decoration: none !important; }

/* When printing from a calculator page, hide the article and inputs —
   print ONLY the shopping list + schedule. ui.js adds .printing-list to <html>
   when the user clicks Print; plain Cmd+P still prints a sensible full page. */
html.printing-list main > *:not(.calc-zone):not(#planner-zone),
html.printing-list .calc-card .calc-form,
html.printing-list .calc-card > h2,
html.printing-list .calc-card .calc-note,
html.printing-list .hero { display: none !important; }
html.printing-list .calc-card { border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }

/* Print letterhead (hidden on screen via style.css .pdf-brand rule below) */
.pdf-brand { display: none; }
html.printing-list .pdf-brand,
.list-card .pdf-brand {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 2.5pt solid #1a1a1a;
  padding-bottom: 6pt;
  margin-bottom: 12pt;
}
.pdf-brand .pb-name {
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: 15pt; letter-spacing: 0.05em;
  text-transform: uppercase; color: #111;
}
.pdf-brand .pb-url { color: #666; font-size: 9pt; }

/* The shopping list card, stripped to ink on white */
.list-card, .sched-card {
  background: #fff !important;
  border: 1.5pt solid #1a1a1a !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 14pt 18pt !important;
  margin: 0 auto 12pt !important;
  max-width: 100% !important;
  break-inside: avoid;
  page-break-inside: avoid;
}
.list-card::before { display: none !important; }

.list-kicker { color: #555 !important; }
.buy-line .num { color: #1a1a1a !important; font-size: 34pt !important; }
.buy-line .unit { color: #1a1a1a !important; }
.buy-line .buy-label { color: #444 !important; }
.serve-line { border-color: #999 !important; color: #333 !important; }
.pkg-hint {
  background: #fff !important;
  border: 1pt dashed #555 !important;
  color: #1a1a1a !important;
}

/* Checkbox rows: real empty squares for pencil ticks */
.list-rows label { border-bottom: 0.75pt dashed #aaa !important; color: #1a1a1a !important; padding: 5pt 0 !important; }
.list-rows input[type="checkbox"] {
  -webkit-appearance: none; appearance: none;
  width: 11pt; height: 11pt;
  border: 1.25pt solid #1a1a1a; border-radius: 2pt;
  background: #fff !important;
}
.list-rows .qty { color: #1a1a1a !important; font-weight: 700; }
.list-rows label:has(input:checked) { opacity: 1 !important; text-decoration: none !important; }

.verified-badge {
  color: #333 !important; border: 0.75pt solid #888 !important;
  text-decoration: none !important;
}

/* Scheduler prints as a simple checklist */
.sched-steps::before { background: #bbb !important; }
.sched-steps li { color: #262626 !important; }
.sched-steps li::before { background: #fff !important; border-color: #1a1a1a !important; }
.sched-steps .sched-date { color: #1a1a1a !important; font-weight: 700; }
.sched-warn { background: #fff !important; border-left: 2pt solid #1a1a1a !important; color: #1a1a1a !important; }

/* Tables print with visible rules */
.table-scroll { border: none !important; overflow: visible !important; }
table { background: #fff !important; }
th, td { border-bottom: 0.75pt solid #999 !important; }
thead th { background: #fff !important; color: #111 !important; border-bottom: 1.5pt solid #1a1a1a !important; }
tbody th[scope="row"] { background: #fff !important; }

.callout { background: #fff !important; border: 1pt solid #888 !important; box-shadow: none !important; }
.featured-img { display: none !important; }

@page { margin: 14mm; }
