/* ==========================================================================
   PRINT STYLES
   Optimized for one-pagers (volunteer signup, issue brief, event flyer).
   ========================================================================== */

@media print {
  /* Reset */
  *, *::before, *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
  }

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

  html, body {
    font-size: 11pt;
    line-height: 1.5;
    background: #fff;
  }

  body {
    font-family: Georgia, "Times New Roman", serif;
  }

  /* Hide chrome */
  .site-header,
  .mobile-drawer,
  .site-footer,
  .menu-toggle,
  .lang-toggle,
  .nav-cta,
  .btn,
  .banner,
  .toast-host,
  .modal,
  .cta-band,
  .hero__countdown,
  .share,
  .no-print {
    display: none !important;
  }

  /* Visible-only-in-print elements */
  .print-only {
    display: block !important;
  }

  /* Typography */
  h1, h2, h3, h4, h5, h6 {
    font-family: Helvetica, Arial, sans-serif;
    color: #000 !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  h1 { font-size: 26pt; }
  h2 { font-size: 18pt; }
  h3 { font-size: 14pt; }
  h4 { font-size: 12pt; }

  p {
    orphans: 3;
    widows: 3;
  }

  a {
    color: #000 !important;
    text-decoration: underline;
  }

  a[href^="http"]:not([href*="mannykess.com"])::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #444 !important;
  }

  /* Strip backgrounds, but keep dividers */
  .section,
  .page-hero,
  .hero,
  .card,
  .news-card,
  .event-card,
  .issue-card,
  .stat-card,
  .quote-card {
    background: #fff !important;
    border: 0 !important;
    padding: 0.4in 0 !important;
    page-break-inside: avoid;
  }

  /* Print-only address block */
  .print-disclaimer {
    border-block-start: 1px solid #000;
    padding-block-start: 0.2in;
    margin-block-start: 0.4in;
    font-size: 9pt;
    text-align: center;
    color: #333 !important;
  }

  /* Print-friendly QR code */
  .print-qr {
    inline-size: 1.5in;
    block-size: 1.5in;
    margin-block: 0.3in;
  }

  /* Tables */
  table {
    page-break-inside: avoid;
    border-collapse: collapse;
  }

  th, td {
    border: 1px solid #000;
    padding: 0.1in;
  }

  /* Force page break helpers */
  .page-break-before { page-break-before: always; break-before: page; }
  .page-break-after { page-break-after: always; break-after: page; }
  .avoid-page-break { page-break-inside: avoid; break-inside: avoid; }
}
