/* ==========================================================================
   Godfident Giving — print stylesheet
   Only loads when a page is printed (or "Saved as PDF" from the print
   dialog). Never touches the on-screen dark design in css/styles.css.

   Goal: legible on plain paper, minimal ink. White background, dark text,
   no photos/glows/gradients/animation. Reuses the same HTML as the live
   site, so any future copy edit shows up here automatically — nothing in
   this file references specific wording, only structure/classes.
   ========================================================================== */

@media print {

  /* ---------- Reset: kill every dark-theme paint effect in one pass ----------
     `*` only matches real elements — ::before/::after need their own line,
     otherwise things like list-bullet dots keep their on-screen gold fill. */
  *, *::before, *::after {
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    color: #111 !important;
    border-color: #999 !important;
  }

  html, body {
    background: #fff !important;
    color: #111 !important;
  }

  /* belt-and-suspenders for gold-gradient text (Kingdom Impact, big stat
     numbers): the wildcard reset above already restores a solid readable
     color, this just guarantees it across engines */
  .gold-gradient-text,
  .stat-value.gold-value,
  .rs-value,
  .need-value {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    color: #111 !important;
  }

  /* ---------- Remove anything decorative or non-functional on paper ---------- */
  .nav,
  .hero-particles,
  .section-glow::before,
  .section-glow::after,
  .contact-atmosphere,
  .founder-atmosphere,
  .mission-atmosphere,
  .seam,
  .photo-marquee,
  .play-btn,
  .modal,
  #contact form,
  .rhythm-loop,
  .flow-track,
  #printPageLink {
    display: none !important;
  }

  body::after { content: none !important; } /* page grain texture */

  /* nav is hidden for print; give the page normal top spacing back */
  main { padding-top: 0 !important; }
  .hero { padding-top: 40px !important; }

  /* ---------- Typography ---------- */
  body { font-size: 12pt; line-height: 1.5; }
  h1, h2, h3, h4 { color: #000 !important; page-break-after: avoid; }
  a { text-decoration: underline; }

  /* print the actual destination after real external links, so a paper
     copy still tells the reader where a button/link would have gone */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    font-weight: 400;
    color: #555 !important;
  }

  /* internal anchor links (nav/CTA buttons that just scroll the live page)
     read as plain emphasized text on paper instead of a dead-looking button */
  a[href^="#"] {
    text-decoration: none;
    font-weight: 700;
  }

  /* ---------- Buttons: outline only, no ink-heavy fills ---------- */
  .btn {
    display: inline !important;
    background: none !important;
    color: #111 !important;
    border: 1px solid #999 !important;
    border-radius: 4px;
    padding: 2px 8px !important;
    height: auto !important;
  }

  /* ---------- Cards / boxes: thin border instead of dark fill ---------- */
  .info-card, .point-card, .fund-item, .testimonial-card, .trajectory-col,
  .return-stat, .rhythm-step, .accordion details, .skool-callout,
  .funds-goal, .need-numbers, .leader-quote, .letter-callout,
  .contact-panel, .board-member, .scripture {
    border: 1px solid #ccc !important;
    break-inside: avoid;
  }

  /* ---------- Component-specific fixes ---------- */

  /* testimonials scroll horizontally on screen; on paper they must stack
     so every quote actually prints instead of being clipped off-page */
  .testimonial-row {
    display: block !important;
    overflow: visible !important;
  }
  .testimonial-card { margin-bottom: 12px; }

  /* accordions: force every panel open, since a collapsed <details> would
     otherwise hide real content from the printed page entirely */
  .accordion details { display: block !important; }
  .accordion details:not([open]) .acc-body { display: block !important; }
  .accordion summary::after { content: none !important; }

  /* table header fill removed by the wildcard reset; keep its border */
  .impact-table thead th { border-bottom: 2px solid #111 !important; }

  /* the hand signature is a solid-white SVG — invert so it's visible ink
     on white paper instead of vanishing */
  .sig-img { filter: invert(1) !important; }

  /* logo mark still renders (it's not pure white), but the wordmark
     portion of the full logo lockup is white-on-transparent and would
     vanish on paper — swap to a plain text fallback in the footer */
  .footer-brand img { display: none !important; }
  .print-logo-text {
    display: inline-block !important;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
  }

  /* ---------- Force every scroll-reveal element visible ----------
     .reveal elements only get their "in" (visible) class from an
     IntersectionObserver as the visitor scrolls. A page that was never
     scrolled to the bottom on screen would print with whole sections
     still invisible. Printing is a distinct rendering pass, so this is
     safe to force globally. */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ---------- Sensible page breaks ---------- */
  .section, .final-cta { break-inside: avoid-page; }
  table, tr { break-inside: avoid; }
}
