/* Shared print stylesheet (#162) — loaded via <link ... media="print"> on
   every page across all 3 sites. Universal resets (rather than enumerating
   every dark section class) so new sections don't need a print rule added
   by hand later. */
@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  html, body, body * {
    color: #000 !important;
    -webkit-text-fill-color: unset !important;
  }
  html, body {
    background: #fff !important;
  }

  /* The fixed header would otherwise stamp over every printed page. */
  .site-header {
    position: static !important;
    border-bottom: 1px solid #000;
  }

  /* Interactive/decorative chrome that means nothing on paper. */
  .hamburger, .nav-toggle, .navbar, .main-nav, nav,
  .mb-contact-btn, .btn-nav, .btn, button,
  form, .contact-wrapper, .mb-contact-section,
  video, .slider, #media,
  .grecaptcha-badge {
    display: none !important;
  }
  /* #150: the hero mark's black plate relies on mix-blend-mode, which
     print rendering can't be trusted to honor — hide it rather than risk
     a black box on paper. */
  .hero-overlay img[src*="zz-logo-black"] {
    display: none !important;
  }
  /* The zuzzax sub-page masthead repeats the header logo behind the page
     title; on paper it prints as a pale smear under the heading. The
     header already carries the mark, so drop the repeat. */
  .hero-overlay img {
    display: none !important;
  }
  /* The ZUZZAX mark is pale gold/silver on transparent — near-invisible on
     white paper. Darken it (keeps the two-tone detail; plain black would
     flatten it) rather than swap in the black-plate jpg. #182 guarantees
     every header mark carries alt="ZUZZAX", so that is the hook. */
  img[alt="ZUZZAX"] {
    filter: brightness(0.45) contrast(1.6) !important;
  }
  /* MI's hero seal badges are absolutely positioned against the full-height
     hero; collapsing the hero for print leaves them overlapping the heading. */
  #responders3 {
    display: none !important;
  }

  /* Collapse the full-bleed dark hero banners down to their headline text. */
  .hero, .mb-hero, .subpage-hero {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 0 !important;
  }
  .hero-overlay {
    height: auto !important;
    padding: 0 !important;
  }
  .hero-overlay h1, .mb-hero-copy h1, .subpage-hero h1 {
    position: static !important;
    transform: none !important;
    font-size: 24pt !important;
    padding-top: 0 !important;
  }

  /* MI "Ensure readiness" block: on screen it is a two-column flex row with
     an accordion; on paper stack it, let the photo sit above its caption
     (the caption otherwise spills into the accordion column), and show the
     numbered accordion headings — they are <button>s, which the rule above
     hides, but here they are the section's structure, not chrome. */
  #features .block {
    display: block !important;
  }
  #features .content, #features .accordion {
    width: 100% !important;
  }
  #features .info {
    display: block !important;
  }
  #features .info img {
    width: 45% !important;
    height: auto !important;
    display: block;
    margin-bottom: 8px;
  }
  .accordion-header {
    display: flex !important;
    padding: 6px 0 !important;
  }
  .accordion-header::after {
    content: none !important;
  }

  /* Don't split a card across a page break. */
  .service-tile, .mb-tile, .accordion-item {
    break-inside: avoid;
  }

  /* Accordions collapse to just the active pane on screen; on paper there's
     no way to click the rest open, so show everything. */
  .accordion-content {
    display: block !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* A link's destination isn't clickable on paper. Skip image links (the
     header logo) — a URL printed beside a picture is noise, not help. */
  a[href^="http"]:not(:has(img))::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }

  @page {
    margin: 1.5cm;
  }
}
