@media print {
  @page {
    size: A4;
    margin: 22mm 18mm 25mm 18mm;
  }

  body {
    background: #FFFFFF !important;
    color: #111111 !important;
    font-size: 11pt !important;
    line-height: 1.65 !important;
  }

  body::before,
  .reading-progress-track,
  .reader-nav,
  .bottom-nav,
  .toc-drawer,
  .toc-backdrop,
  .timer-controls,
  .btn,
  .days-nav-grid,
  .toast,
  .tool-btn {
    display: none !important;
  }

  .chapter-wrapper {
    page-break-before: always !important;
    break-before: page !important;
    padding: 0 !important;
    min-height: auto !important;
  }

  .cover-hero {
    page-break-after: always !important;
    break-after: page !important;
    min-height: 95vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .cover-image-preview {
    max-width: 80% !important;
    box-shadow: none !important;
  }

  .figure-frame {
    box-shadow: none !important;
    border: 1px solid #CCC !important;
    break-inside: avoid;
  }

  .figure-frame img {
    max-height: 320px;
    object-fit: cover;
  }

  .promise-box {
    border-left: 3pt solid #A0522D !important;
    background: #FBF8F4 !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .callout-box,
  .filter-card,
  .olhar-step,
  .day-card {
    box-shadow: none !important;
    border: 1px solid #DDD !important;
    break-inside: avoid;
  }

  .day-card {
    page-break-inside: avoid !important;
    margin-bottom: 25pt !important;
    padding: 18pt !important;
  }

  .journal-textarea {
    border: 1px solid #AAA !important;
    background: #FAFAFA !important;
    height: 90pt !important;
  }

  .prose p {
    text-align: justify;
    orphans: 3;
    widows: 3;
  }

  a {
    color: #111111 !important;
    text-decoration: none !important;
  }

  .discernment-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
    break-inside: avoid;
  }
}
