/* ============================================================
   Print Styles — Murder Mystery Game Packs
   Aged parchment aesthetic for printed documents
   ============================================================ */

@media print {
  /* --- Page setup --- */
  @page {
    margin: 1.5cm;
    size: A4;
  }

  /* --- Kill ALL decorative layers --- */
  body::before,
  body::after,
  .hero::before,
  .hero::after,
  .section::before {
    display: none !important;
    content: none !important;
  }

  /* --- Hide everything that isn't document content --- */
  header,
  nav,
  footer,
  canvas,
  .hero,
  .filter-bar,
  .pack-header,
  .doc-tabs,
  .btn-print,
  .btn-play,
  .btn-reveal,
  .site-footer,
  .theme-hero,
  .config-section,
  .related-themes,
  .sealed-interstitial,
  .config-coming-soon,
  .no-print,
  .character-grid,
  .character-download-btn {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* --- Aged parchment body --- */
  body {
    background: #f4e8c1 !important;
    background-image: none !important;
    color: #2c1810 !important;
    font-family: 'Crimson Text', 'Georgia', 'Times New Roman', serif !important;
    font-size: 11pt !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* --- Document content area --- */
  main,
  main.doc-content,
  .doc-content {
    display: block !important;
    background: #f4e8c1 !important;
    color: #2c1810 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    max-width: 100% !important;
    position: static !important;
  }

  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .doc-content__inner {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* --- Force aged ink on ALL content --- */
  #doc-content * {
    color: #2c1810 !important;
    background-color: transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }

  /* --- Title: old document heading style --- */
  h1 {
    color: #1a0e08 !important;
    font-size: 22pt !important;
    font-family: 'Playfair Display', 'Georgia', serif !important;
    margin: 0 0 6pt 0 !important;
    padding: 0 0 8pt 0 !important;
    border-bottom: 2pt solid #5a3318 !important;
    text-align: center !important;
    letter-spacing: 0.5pt !important;
  }

  /* Add a decorative skull under the title */
  h1::after {
    content: '\2620' !important;
    display: block !important;
    text-align: center !important;
    font-size: 14pt !important;
    color: #8b5a2b !important;
    margin-top: 4pt !important;
    opacity: 0.5 !important;
  }

  /* --- Section headings: aged ink stamp style --- */
  h2,
  .doc-section__heading {
    color: #5a3318 !important;
    font-size: 13pt !important;
    font-family: 'Playfair Display', 'Georgia', serif !important;
    margin: 16pt 0 6pt 0 !important;
    padding: 0 0 4pt 0 !important;
    border-bottom: 1pt solid #c4a882 !important;
    text-transform: none !important;
    letter-spacing: 0.3pt !important;
  }

  h3 {
    color: #6b2020 !important;
    font-size: 11pt !important;
    font-family: 'Georgia', serif !important;
    margin: 10pt 0 4pt 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1pt !important;
    font-weight: bold !important;
  }

  h4 {
    color: #5a3318 !important;
    font-size: 10.5pt !important;
    font-weight: bold !important;
    margin: 8pt 0 3pt 0 !important;
  }

  /* --- Body text in aged brown ink --- */
  p {
    color: #2c1810 !important;
    margin-bottom: 6pt !important;
    orphans: 3;
    widows: 3;
  }

  strong {
    color: #1a0e08 !important;
    font-weight: bold !important;
  }

  #doc-content strong {
    color: #1a0e08 !important;
  }

  em {
    color: #3a2010 !important;
    font-style: italic !important;
  }

  #doc-content em {
    color: #3a2010 !important;
  }

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

  ul, ol {
    color: #2c1810 !important;
    margin: 4pt 0 4pt 18pt !important;
    padding: 0 !important;
  }

  li {
    color: #2c1810 !important;
    margin-bottom: 3pt !important;
    list-style: disc !important;
  }

  ol li {
    list-style: decimal !important;
  }

  .text-muted {
    color: #8b7355 !important;
  }

  #doc-content .text-muted {
    color: #8b7355 !important;
  }

  /* --- Document sections --- */
  .doc-section {
    margin: 0 0 14pt 0 !important;
    padding: 0 0 10pt 0 !important;
    background: transparent !important;
    border-bottom: 1pt dotted #c4a882 !important;
    page-break-inside: avoid;
  }

  .doc-section:last-child {
    border-bottom: none !important;
  }

  .doc-section__content {
    color: #2c1810 !important;
    background: transparent !important;
  }

  /* --- Read-aloud: handwritten letter style --- */
  .read-aloud,
  #doc-content .read-aloud {
    font-style: italic !important;
    font-size: 11.5pt !important;
    padding: 10pt 14pt !important;
    border: none !important;
    border-left: 3pt solid #8b5a2b !important;
    margin: 8pt 0 !important;
    background: #ecdcab !important;
    color: #2c1810 !important;
    border-radius: 0 !important;
  }

  /* --- Host notes: wax-sealed note style --- */
  .host-note,
  #doc-content .host-note {
    font-size: 9pt !important;
    padding: 6pt 10pt !important;
    border: 1pt solid #c4a882 !important;
    margin: 6pt 0 !important;
    background: #e8d5a0 !important;
    color: #5a3318 !important;
    font-style: italic !important;
  }

  .host-note::before {
    color: #6b2020 !important;
    font-weight: bold !important;
    font-style: normal !important;
  }

  /* --- Clue Cards: evidence envelope style --- */
  .clue-card,
  #doc-content .clue-card {
    border: 2pt solid #8b5a2b !important;
    margin: 0 0 14pt 0 !important;
    page-break-inside: avoid;
    background: #f0e2b8 !important;
    border-radius: 0 !important;
  }

  .clue-card__header,
  #doc-content .clue-card__header {
    padding: 5pt 10pt !important;
    border-bottom: 1pt solid #8b5a2b !important;
    background: #e2cc8e !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .clue-card__title,
  #doc-content .clue-card__title {
    font-size: 11pt !important;
    font-weight: bold !important;
    color: #2c1810 !important;
    font-family: 'Playfair Display', 'Georgia', serif !important;
  }

  .clue-card__round,
  #doc-content .clue-card__round {
    font-size: 8pt !important;
    border: 1pt solid #8b5a2b !important;
    padding: 1pt 5pt !important;
    color: #5a3318 !important;
    background: transparent !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5pt !important;
  }

  .clue-card__body,
  #doc-content .clue-card__body {
    padding: 8pt 10pt !important;
    background: #f0e2b8 !important;
  }

  .clue-card__text,
  #doc-content .clue-card__text {
    color: #2c1810 !important;
    font-size: 10.5pt !important;
    font-family: 'Crimson Text', 'Georgia', serif !important;
  }

  .clue-card__delivery,
  #doc-content .clue-card__delivery {
    color: #8b5a2b !important;
    font-size: 9pt !important;
    font-style: italic !important;
  }

  .clue-card__host-note,
  #doc-content .clue-card__host-note {
    border-top: 1pt dashed #c4a882 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    padding-top: 4pt !important;
    margin-top: 6pt !important;
    font-size: 8pt !important;
    color: #8b7355 !important;
    font-style: italic !important;
  }

  /* --- Voting Sheet: aged ballot --- */
  .voting-sheet {
    max-width: 100% !important;
    color: #2c1810 !important;
    background: transparent !important;
  }

  .voting-field {
    margin-bottom: 18pt !important;
  }

  .voting-field__label,
  #doc-content .voting-field__label {
    font-weight: bold !important;
    font-size: 11pt !important;
    color: #5a3318 !important;
    margin-bottom: 2pt !important;
    font-family: 'Playfair Display', 'Georgia', serif !important;
  }

  .voting-field__line {
    border: none !important;
    border-bottom: 1pt solid #8b5a2b !important;
    min-height: 2em !important;
    display: block !important;
    width: 100% !important;
  }

  /* --- Timeline events --- */
  div[style*="display: flex"][style*="gap"] {
    display: flex !important;
  }

  div[style*="display: flex"] strong[style*="color"] {
    color: #6b2020 !important;
  }

  /* --- Checklist items --- */
  .doc-section__content li[style*="padding"] {
    color: #2c1810 !important;
    list-style: none !important;
  }

  /* --- Horizontal rules --- */
  #doc-content hr {
    border: none !important;
    border-top: 1pt solid #c4a882 !important;
    margin: 12pt 0 !important;
  }

  /* --- Page decorative footer on each printed page --- */
  @page {
    @bottom-center {
      content: '\2620';
      font-size: 10pt;
      color: #c4a882;
    }
  }
}
