/* ==========================================================================
   PRINT STYLES — The Mirror Matrix
   Single source of truth for all print rules.
   Loaded via <link rel="stylesheet" href="css/print.css" media="print">
   ========================================================================== */

@media print {

  /* Page setup
     ======================================================================== */
  @page {
    size: A4;
    margin: 2cm 2.5cm;
  }

  /* Global reset
     ======================================================================== */
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Body typography
     ======================================================================== */
  body {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
    line-height: 1.6;
    orphans: 3;
    widows: 3;
  }

  /* Hidden elements
     ======================================================================== */
  .site-header,
  .skip-link,
  .site-footer__nav,
  .btn,
  .btn--primary,
  .btn--secondary,
  .hero__cta,
  .form-signup,
  .form-inquiry,
  #bulk-inquiry-form,
  #inquiry-confirmation,
  .share__actions,
  .book-display__actions,
  .excerpt__cta,
  .site-header__hamburger,
  noscript,
  .u-divider {
    display: none !important;
  }

  /* Footer: keep credit only
     ======================================================================== */
  .site-footer__credit {
    display: block !important;
    text-align: center;
    font-size: 10pt;
    border-top: 0.5pt solid #999;
    padding-top: 8pt;
    margin-top: 12pt;
  }

  /* Flatten grids to single column
     ======================================================================== */
  .hero__container,
  .book-display,
  .share {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .container,
  .container--prose,
  .prose,
  .section,
  .page-header {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .hero {
    min-height: auto;
    padding: 0;
  }

  .section {
    padding-top: 24pt;
    padding-bottom: 24pt;
  }

  /* Images
     ======================================================================== */
  img {
    max-width: 100%;
    page-break-inside: avoid;
  }

  .page-header__image {
    display: none !important;
  }

  .hero__image,
  .book-display__cover,
  .about-portrait {
    display: block !important;
    max-width: 50% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Links — show URL after text
     ======================================================================== */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    font-style: italic;
  }

  a[href^="#"]::after,
  .site-footer a::after {
    content: "" !important;
  }

  /* Scripture blocks
     ======================================================================== */
  .scripture {
    font-style: italic;
    border-left: 2pt solid #666 !important;
    margin: 16pt 24pt;
    padding-left: 12pt;
  }

  .scripture__reference {
    font-size: 9pt;
    font-style: normal;
    display: block;
  }

  /* Character threads
     ======================================================================== */
  .character-threads__link {
    display: block;
    margin-bottom: 8pt;
    border-bottom: 0.5pt solid #ccc;
    padding-bottom: 6pt;
    text-decoration: none;
  }

  /* Page break rules
     ======================================================================== */
  h2,
  h3 {
    page-break-after: avoid;
  }

  section {
    page-break-inside: avoid;
  }

  /* Print header
     ======================================================================== */
  main::before {
    content: "The Mirror Matrix — themirrormatrix.com";
    display: block;
    font-size: 10pt;
    font-style: italic;
    margin-bottom: 18pt;
    padding-bottom: 8pt;
    border-bottom: 0.5pt solid #999;
  }
}
