/* Hidden on screen; shown in print only. */
.rondo-print-header {
  display: none;
}

@media print {
  @page {
    size: auto;
    margin: 20mm 14mm 18mm;
  }

  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font: 11pt/1.45 Georgia, "Times New Roman", serif !important;
  }

  body {
    padding-top: 0 !important;
    padding-bottom: 10mm !important;
  }

  /* Print-only header with logo (left) + metadata (right). */
  .rondo-print-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: static !important;
    min-height: 22mm !important;
    margin: 0 0 4mm !important;
    padding: 0 0 2mm !important;
    border-bottom: 1px solid #ddd !important;
    background: #fff !important;
  }

  .rondo-print-logo {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
  }

  .rondo-print-logo img {
    display: block !important;
    height: 20mm !important;
    width: auto !important;
    max-width: 140mm !important;
    object-fit: contain !important;
  }

  .rondo-print-meta {
    flex: 0 1 auto;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 4mm;
    text-align: right;
    font: 8.5pt/1.25 "Helvetica Neue", Arial, sans-serif !important;
    color: #444 !important;
    white-space: nowrap;
  }

  .rondo-print-meta span {
    display: inline-block;
  }

  /* Print footer: page number + site label */
  body::after {
    content: "Rondo  |  Sivu " counter(page);
    position: fixed;
    left: 14mm;
    right: 14mm;
    bottom: 3mm;
    font: 8.5pt/1.2 "Helvetica Neue", Arial, sans-serif;
    color: #666;
    text-align: right;
    border-top: 1px solid #ddd;
    padding-top: 2mm;
    z-index: 9999;
  }

  /* Hide site chrome */
  .td-header-wrap,
  .td-header-menu-wrap,
  .td-mobile-nav,
  .td-footer-wrapper,
  .td-sub-footer-wrap,
  .td-scroll-up,
  .td-a-rec,
  .td_block_wrap,
  .td-post-sharing,
  .td-post-source-tags,
  .comments,
  .comment-respond,
  .sidebar,
  aside,
  nav,
  .no-print {
    display: none !important;
  }

  /* Layout reset */
  .td-container,
  .td-pb-row,
  .td-pb-span8,
  .td-pb-span12,
  .td-main-content-wrap,
  .td-post-content,
  .entry-content,
  .post,
  article {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .td-main-content-wrap,
  .td-post-content,
  .entry-content,
  article {
    margin-top: 0 !important;
  }

  /* Title + lead */
  h1,
  .entry-title,
  .tdb-title-text,
  .td-post-title {
    display: block !important;
    visibility: visible !important;
    color: #000 !important;
    font: 700 22pt/1.2 "Helvetica Neue", Arial, sans-serif !important;
    margin: 0 0 6mm !important;
    page-break-after: avoid;
  }

  .td-post-sub-title,
  .entry-subtitle,
  .dek {
    font: 12pt/1.35 "Helvetica Neue", Arial, sans-serif !important;
    margin: 0 0 6mm !important;
    color: #111 !important;
    page-break-after: avoid;
  }

  /* Meta */
  .td-post-author-name,
  .td-post-date,
  .td-post-views,
  .entry-meta,
  .byline {
    font: 9pt/1.35 "Helvetica Neue", Arial, sans-serif !important;
    color: #333 !important;
  }

  .td-post-author-name,
  .entry-meta {
    margin: 0 0 4mm !important;
    page-break-after: avoid;
  }

  /* Body typography */
  p,
  li,
  blockquote,
  figcaption {
    color: #000 !important;
    font-size: 11pt !important;
    line-height: 1.45 !important;
  }

  p,
  ul,
  ol,
  blockquote {
    orphans: 3;
    widows: 3;
  }

  p,
  li {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  h2,
  h3,
  h4 {
    page-break-after: avoid;
    break-after: avoid-page;
    margin-top: 7mm !important;
    margin-bottom: 2.5mm !important;
  }

  /* Images */
  img,
  figure {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
    break-inside: avoid;
    page-break-before: auto;
    page-break-after: auto;
  }

  figure {
    margin: 4mm 0 !important;
    break-before: avoid-page;
    break-after: avoid-page;
  }

  .wp-caption,
  .wp-block-image,
  .wp-block-gallery,
  .td-post-featured-image {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    break-before: avoid-page !important;
    break-after: avoid-page !important;
  }

  /* Prevent ugly mid-image cuts; if image is too tall, browser still may split. */
  .td-post-content img,
  .entry-content img,
  figure img {
    display: block !important;
    max-height: 62vh !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    break-before: avoid-page !important;
    break-after: avoid-page !important;
  }

  figcaption,
  .wp-caption-text {
    margin-top: 2mm !important;
    font-size: 9pt !important;
    color: #333 !important;
  }

  /* Links as plain text */
  a,
  a:visited {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* Avoid page breaks inside key blocks */
  .td-post-featured-image,
  .entry-content blockquote,
  table {
    page-break-inside: avoid;
    break-inside: avoid;
  }
}
