print.css

I’ll build this as a full advanced print.css utility file for RX Theme, focused on clean medical-article printing, hiding web-only UI, preserving readable content, and avoiding wasted paper.

My dear friend, create this file:

assets/static/static-css/utilities/print.css

Then paste this full advanced print CSS:

/*!
Theme Name: RX Theme
File: assets/static/static-css/utilities/print.css
Purpose: Advanced print stylesheet for RX Theme
Author: RxHarun
Description:
This file optimizes RX Theme pages, posts, medical articles, documentation,
author pages, and content pages for clean printing and PDF saving.
*/

/* =========================================================
   01. PRINT PAGE SETUP
   ========================================================= */

@page {
  size: auto;
  margin: 18mm 16mm 20mm 16mm;
}

@page :first {
  margin-top: 20mm;
}

@media print {

  /* =========================================================
     02. ROOT PRINT VARIABLES
     ========================================================= */

  :root {
    --rx-print-font-family: Georgia, "Times New Roman", Times, serif;
    --rx-print-ui-font-family: Arial, Helvetica, sans-serif;
    --rx-print-text-color: #000;
    --rx-print-muted-color: #444;
    --rx-print-border-color: #999;
    --rx-print-light-border-color: #ddd;
    --rx-print-background: #fff;
    --rx-print-link-color: #000;
    --rx-print-font-size: 11.5pt;
    --rx-print-line-height: 1.45;
    --rx-print-heading-line-height: 1.25;
    --rx-print-content-width: 100%;
  }

  /* =========================================================
     03. GLOBAL RESET FOR PRINT
     ========================================================= */

  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
    color-adjust: exact;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html {
    background: var(--rx-print-background) !important;
    color: var(--rx-print-text-color) !important;
    font-size: 100% !important;
    overflow: visible !important;
  }

  body {
    background: var(--rx-print-background) !important;
    color: var(--rx-print-text-color) !important;
    font-family: var(--rx-print-font-family) !important;
    font-size: var(--rx-print-font-size) !important;
    line-height: var(--rx-print-line-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body,
  .rx-site,
  .site,
  .site-content,
  .rx-site-content,
  .rx-main,
  main,
  article,
  .entry-content,
  .post-content,
  .page-content {
    display: block !important;
    float: none !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  iframe,
  video,
  audio,
  canvas,
  svg {
    max-width: 100% !important;
  }

  /* =========================================================
     04. REMOVE WEB-ONLY ELEMENTS
     ========================================================= */

  header,
  footer,
  nav,
  aside,
  form,
  button,
  input,
  select,
  textarea,
  dialog,
  iframe,
  video,
  audio,
  canvas,
  embed,
  object,
  noscript,
  script,
  style,
  .site-header,
  .site-footer,
  .rx-header,
  .rx-footer,
  .rx-topbar,
  .rx-navbar,
  .rx-mobile-menu,
  .rx-offcanvas,
  .rx-sidebar,
  .rx-widget-area,
  .rx-search,
  .rx-search-form,
  .rx-comments,
  .comments-area,
  .comment-respond,
  .comment-form,
  .navigation,
  .post-navigation,
  .posts-navigation,
  .pagination,
  .page-links,
  .breadcrumb,
  .breadcrumbs,
  .rx-breadcrumbs,
  .rx-share,
  .share-buttons,
  .social-share,
  .social-icons,
  .rx-related-posts,
  .related-posts,
  .rx-ad,
  .rx-ads,
  .advertisement,
  .ads,
  .ad,
  .sponsored,
  .cookie-banner,
  .cookie-notice,
  .modal,
  .popup,
  .newsletter,
  .newsletter-form,
  .subscribe-box,
  .back-to-top,
  .scroll-to-top,
  .floating-button,
  .floating-share,
  .sticky-header,
  .sticky-sidebar,
  .rx-loader,
  .preloader,
  .skip-link,
  .screen-reader-text,
  .wp-block-search,
  .wp-block-buttons,
  .wp-block-button,
  .wp-block-embed,
  .wp-block-video,
  .wp-block-audio,
  .wp-block-social-links,
  .wp-block-comments,
  .wp-block-post-navigation-link,
  .wp-block-query-pagination,
  .wp-block-loginout,
  .wp-block-calendar,
  .wp-block-rss,
  .wp-block-tag-cloud,
  .no-print,
  [data-print="hide"],
  [aria-hidden="true"].no-print {
    display: none !important;
    visibility: hidden !important;
  }

  /* =========================================================
     05. KEEP IMPORTANT CONTENT VISIBLE
     ========================================================= */

  .print-only,
  .rx-print-only,
  [data-print="show"] {
    display: block !important;
    visibility: visible !important;
  }

  .entry-content,
  .post-content,
  .page-content,
  .rx-content,
  .rx-article,
  .rx-medical-article,
  .rx-main-content {
    display: block !important;
    visibility: visible !important;
  }

  /* =========================================================
     06. TYPOGRAPHY
     ========================================================= */

  p,
  li,
  dd,
  dt,
  blockquote,
  figcaption,
  table,
  address {
    color: var(--rx-print-text-color) !important;
    font-family: var(--rx-print-font-family) !important;
    font-size: var(--rx-print-font-size) !important;
    line-height: var(--rx-print-line-height) !important;
  }

  p {
    margin: 0 0 9pt !important;
    orphans: 3;
    widows: 3;
  }

  strong,
  b {
    font-weight: 700 !important;
  }

  em,
  i {
    font-style: italic !important;
  }

  small {
    font-size: 9pt !important;
  }

  mark {
    color: #000 !important;
    background: transparent !important;
    border-bottom: 1px solid #000 !important;
  }

  abbr[title] {
    text-decoration: none !important;
    border-bottom: 1px dotted #000 !important;
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
    font-size: 9pt;
  }

  hr {
    border: 0 !important;
    border-top: 1px solid var(--rx-print-border-color) !important;
    margin: 16pt 0 !important;
  }

  /* =========================================================
     07. HEADINGS
     ========================================================= */

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #000 !important;
    font-family: var(--rx-print-ui-font-family) !important;
    font-weight: 700 !important;
    line-height: var(--rx-print-heading-line-height) !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  h1 {
    font-size: 22pt !important;
    margin: 0 0 12pt !important;
  }

  h2 {
    font-size: 17pt !important;
    margin: 18pt 0 8pt !important;
    border-bottom: 1px solid var(--rx-print-border-color) !important;
    padding-bottom: 3pt !important;
  }

  h3 {
    font-size: 14pt !important;
    margin: 14pt 0 6pt !important;
  }

  h4 {
    font-size: 12.5pt !important;
    margin: 12pt 0 5pt !important;
  }

  h5 {
    font-size: 11.5pt !important;
    margin: 10pt 0 4pt !important;
  }

  h6 {
    font-size: 10.5pt !important;
    margin: 9pt 0 4pt !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
  }

  /* =========================================================
     08. ARTICLE TITLE AND META
     ========================================================= */

  .entry-title,
  .post-title,
  .page-title,
  .rx-entry-title,
  .rx-article-title {
    color: #000 !important;
    font-size: 23pt !important;
    line-height: 1.2 !important;
    margin: 0 0 10pt !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .entry-meta,
  .post-meta,
  .rx-entry-meta,
  .rx-post-meta,
  .byline,
  .posted-on,
  .updated-on,
  .author-name,
  .reviewed-by,
  .medically-reviewed,
  .rx-medical-review {
    color: var(--rx-print-muted-color) !important;
    font-family: var(--rx-print-ui-font-family) !important;
    font-size: 9pt !important;
    line-height: 1.35 !important;
    margin: 0 0 10pt !important;
  }

  .entry-meta a,
  .post-meta a,
  .rx-entry-meta a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* =========================================================
     09. LINKS
     ========================================================= */

  a,
  a:visited {
    color: var(--rx-print-link-color) !important;
    text-decoration: underline !important;
    word-break: break-word !important;
  }

  a[href^="#"]::after,
  a[href^="javascript:"]::after,
  a[href^="mailto:"]::after,
  a[href^="tel:"]::after,
  .site-title a::after,
  .custom-logo-link::after,
  .wp-block-button__link::after {
    content: "" !important;
  }

  .entry-content a[href^="http"]::after,
  .post-content a[href^="http"]::after,
  .page-content a[href^="http"]::after,
  .rx-content a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8.5pt;
    font-weight: 400;
    text-decoration: none;
    word-break: break-all;
  }

  .entry-content a[href^="/"]::after,
  .post-content a[href^="/"]::after,
  .page-content a[href^="/"]::after {
    content: " (" attr(href) ")";
    font-size: 8.5pt;
    text-decoration: none;
  }

  /* =========================================================
     10. LISTS
     ========================================================= */

  ul,
  ol {
    margin: 0 0 10pt 18pt !important;
    padding: 0 !important;
  }

  li {
    margin: 0 0 5pt !important;
    padding: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-top: 5pt !important;
    margin-bottom: 5pt !important;
  }

  dl {
    margin: 0 0 10pt !important;
  }

  dt {
    font-weight: 700 !important;
    margin-top: 7pt !important;
  }

  dd {
    margin: 0 0 7pt 16pt !important;
  }

  /* =========================================================
     11. BLOCKQUOTES AND NOTES
     ========================================================= */

  blockquote,
  .wp-block-quote,
  .rx-note,
  .rx-info-box,
  .rx-warning-box,
  .rx-alert,
  .rx-medical-note,
  .rx-clinical-note {
    border: 1px solid var(--rx-print-border-color) !important;
    border-left: 4px solid #000 !important;
    margin: 12pt 0 !important;
    padding: 8pt 10pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  blockquote p:last-child,
  .wp-block-quote p:last-child {
    margin-bottom: 0 !important;
  }

  cite {
    color: var(--rx-print-muted-color) !important;
    display: block !important;
    font-size: 9pt !important;
    margin-top: 5pt !important;
  }

  /* =========================================================
     12. CODE AND PRE
     ========================================================= */

  code,
  kbd,
  samp {
    color: #000 !important;
    font-family: Consolas, "Courier New", monospace !important;
    font-size: 9.5pt !important;
    border: 1px solid var(--rx-print-light-border-color) !important;
    padding: 1pt 3pt !important;
  }

  pre {
    color: #000 !important;
    font-family: Consolas, "Courier New", monospace !important;
    font-size: 9pt !important;
    line-height: 1.35 !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    border: 1px solid var(--rx-print-border-color) !important;
    padding: 8pt !important;
    margin: 12pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: visible !important;
  }

  pre code {
    border: 0 !important;
    padding: 0 !important;
  }

  /* =========================================================
     13. IMAGES AND FIGURES
     ========================================================= */

  img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border: 0 !important;
  }

  figure,
  .wp-block-image,
  .wp-caption,
  .gallery,
  .rx-image-box {
    display: block !important;
    max-width: 100% !important;
    margin: 12pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  figcaption,
  .wp-caption-text,
  .gallery-caption {
    color: var(--rx-print-muted-color) !important;
    font-family: var(--rx-print-ui-font-family) !important;
    font-size: 8.5pt !important;
    line-height: 1.35 !important;
    margin-top: 4pt !important;
    text-align: center !important;
  }

  .custom-logo,
  .site-logo,
  .rx-logo {
    max-width: 140px !important;
    height: auto !important;
  }

  /* =========================================================
     14. TABLES
     ========================================================= */

  table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 12pt 0 !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  thead {
    display: table-header-group !important;
  }

  tfoot {
    display: table-footer-group !important;
  }

  tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  th,
  td {
    color: #000 !important;
    border: 1px solid var(--rx-print-border-color) !important;
    padding: 5pt 6pt !important;
    text-align: left !important;
    vertical-align: top !important;
    font-size: 9.5pt !important;
    line-height: 1.35 !important;
  }

  th {
    font-weight: 700 !important;
  }

  caption {
    caption-side: top !important;
    color: #000 !important;
    font-weight: 700 !important;
    margin-bottom: 5pt !important;
    text-align: left !important;
  }

  .wp-block-table {
    overflow: visible !important;
  }

  .wp-block-table table {
    width: 100% !important;
  }

  /* =========================================================
     15. WORDPRESS BLOCKS
     ========================================================= */

  .wp-block-group,
  .wp-block-columns,
  .wp-block-column,
  .wp-block-media-text,
  .wp-block-cover,
  .wp-block-cover-image {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .wp-block-cover,
  .wp-block-cover-image {
    border: 1px solid var(--rx-print-light-border-color) !important;
    padding: 10pt !important;
  }

  .wp-block-cover__inner-container {
    color: #000 !important;
    width: auto !important;
  }

  .wp-block-separator {
    border: 0 !important;
    border-top: 1px solid var(--rx-print-border-color) !important;
    margin: 14pt 0 !important;
  }

  .wp-block-pullquote {
    border-top: 2px solid #000 !important;
    border-bottom: 2px solid #000 !important;
    padding: 10pt 0 !important;
    margin: 14pt 0 !important;
  }

  .wp-block-pullquote blockquote {
    border: 0 !important;
    padding: 0 !important;
  }

  .alignleft,
  .alignright,
  .aligncenter,
  .alignwide,
  .alignfull {
    float: none !important;
    display: block !important;
    margin: 12pt auto !important;
    max-width: 100% !important;
    width: auto !important;
  }

  /* =========================================================
     16. MEDICAL ARTICLE SPECIAL SECTIONS
     ========================================================= */

  .rx-medical-disclaimer,
  .medical-disclaimer,
  .rx-disclaimer {
    border: 1px solid #000 !important;
    padding: 8pt 10pt !important;
    margin: 12pt 0 !important;
    font-size: 9.5pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .rx-medical-disclaimer::before,
  .medical-disclaimer::before,
  .rx-disclaimer::before {
    content: "Medical disclaimer: ";
    font-weight: 700;
  }

  .rx-key-points,
  .key-points,
  .rx-summary-box,
  .rx-quick-summary,
  .rx-clinical-summary {
    border: 1px solid #000 !important;
    padding: 9pt 10pt !important;
    margin: 12pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .rx-key-points h2,
  .key-points h2,
  .rx-summary-box h2,
  .rx-quick-summary h2,
  .rx-clinical-summary h2 {
    margin-top: 0 !important;
    border-bottom: 1px solid #000 !important;
  }

  .rx-definition,
  .rx-causes,
  .rx-symptoms,
  .rx-diagnosis,
  .rx-treatment,
  .rx-prevention,
  .rx-faq,
  .rx-references {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  .rx-faq-item,
  .faq-item,
  .schema-faq-section {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: 10pt !important;
  }

  .schema-faq-question,
  .faq-question {
    font-weight: 700 !important;
  }

  .schema-faq-answer,
  .faq-answer {
    margin-top: 4pt !important;
  }

  /* =========================================================
     17. REFERENCES AND CITATIONS
     ========================================================= */

  sup,
  sub {
    font-size: 75% !important;
    line-height: 0 !important;
  }

  sup {
    vertical-align: super !important;
  }

  sub {
    vertical-align: sub !important;
  }

  .rx-reference-list,
  .references,
  .citation-list,
  .wp-block-footnotes,
  .footnotes {
    font-size: 9pt !important;
    line-height: 1.35 !important;
    page-break-before: auto !important;
  }

  .rx-reference-list li,
  .references li,
  .citation-list li,
  .wp-block-footnotes li,
  .footnotes li {
    font-size: 9pt !important;
    margin-bottom: 5pt !important;
    word-break: break-word !important;
  }

  .rx-citation,
  .citation,
  .reference-link {
    font-size: 8.5pt !important;
  }

  /* =========================================================
     18. PAGE BREAK UTILITIES
     ========================================================= */

  .rx-print-page-break-before,
  .print-page-break-before,
  .page-break-before {
    page-break-before: always !important;
    break-before: page !important;
  }

  .rx-print-page-break-after,
  .print-page-break-after,
  .page-break-after {
    page-break-after: always !important;
    break-after: page !important;
  }

  .rx-print-page-break-avoid,
  .print-page-break-avoid,
  .page-break-avoid,
  .avoid-break {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .rx-print-page-break-auto,
  .print-page-break-auto {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  img,
  table,
  blockquote,
  pre,
  figure,
  .rx-card,
  .card,
  .rx-box {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* =========================================================
     19. CARDS, BOXES, PANELS
     ========================================================= */

  .rx-card,
  .card,
  .rx-box,
  .box,
  .panel,
  .rx-panel,
  .rx-content-box,
  .rx-feature-box {
    border: 1px solid var(--rx-print-border-color) !important;
    padding: 9pt 10pt !important;
    margin: 12pt 0 !important;
    border-radius: 0 !important;
  }

  .rx-card-title,
  .card-title,
  .rx-box-title {
    font-weight: 700 !important;
    margin-bottom: 5pt !important;
  }

  /* =========================================================
     20. GRID AND FLEX RESET
     ========================================================= */

  .row,
  .columns,
  .grid,
  .rx-grid,
  .rx-row,
  .rx-columns,
  .rx-layout,
  .rx-container,
  .container,
  .wrap,
  .wrapper {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  [class*="col-"],
  [class*="column"],
  [class*="grid"],
  [class*="flex"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* =========================================================
     21. POSITION RESET
     ========================================================= */

  .fixed,
  .sticky,
  .is-sticky,
  .position-fixed,
  .position-sticky,
  [style*="position: fixed"],
  [style*="position:fixed"],
  [style*="position: sticky"],
  [style*="position:sticky"] {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
  }

  /* =========================================================
     22. WIDTH AND SPACING UTILITIES
     ========================================================= */

  .rx-print-full-width,
  .print-full-width {
    width: 100% !important;
    max-width: 100% !important;
  }

  .rx-print-no-margin,
  .print-no-margin {
    margin: 0 !important;
  }

  .rx-print-no-padding,
  .print-no-padding {
    padding: 0 !important;
  }

  .rx-print-compact p,
  .print-compact p {
    margin-bottom: 5pt !important;
  }

  .rx-print-compact li,
  .print-compact li {
    margin-bottom: 3pt !important;
  }

  /* =========================================================
     23. COLORS FOR PRINT
     ========================================================= */

  .has-background,
  .has-text-color,
  .has-link-color,
  [class*="has-"][class*="-background-color"],
  [class*="has-"][class*="-color"] {
    color: #000 !important;
    background: transparent !important;
  }

  .text-muted,
  .rx-text-muted,
  .muted {
    color: var(--rx-print-muted-color) !important;
  }

  .text-primary,
  .text-secondary,
  .text-success,
  .text-danger,
  .text-warning,
  .text-info,
  .rx-text-primary,
  .rx-text-secondary,
  .rx-text-success,
  .rx-text-danger,
  .rx-text-warning,
  .rx-text-info {
    color: #000 !important;
  }

  /* =========================================================
     24. FORMS PRINT FALLBACK
     ========================================================= */

  .rx-print-forms form,
  .print-forms form {
    display: block !important;
    visibility: visible !important;
  }

  .rx-print-forms input,
  .rx-print-forms textarea,
  .rx-print-forms select,
  .print-forms input,
  .print-forms textarea,
  .print-forms select {
    display: block !important;
    visibility: visible !important;
    border: 1px solid #000 !important;
    padding: 4pt !important;
    min-height: 18pt !important;
    color: #000 !important;
  }

  /* =========================================================
     25. DETAILS / ACCORDION
     ========================================================= */

  details {
    display: block !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  details[open],
  details {
    height: auto !important;
  }

  details > summary {
    font-weight: 700 !important;
    cursor: default !important;
    list-style: none !important;
  }

  details > summary::marker,
  details > summary::-webkit-details-marker {
    display: none !important;
  }

  details:not([open]) > *:not(summary) {
    display: block !important;
  }

  .accordion-content,
  .collapse,
  .collapsed,
  .tab-content,
  .tabs-panel {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .tabs-nav,
  .accordion-button,
  .accordion-header {
    display: none !important;
  }

  /* =========================================================
     26. RX TABLE OF CONTENTS PRINT
     ========================================================= */

  .rx-toc,
  .table-of-contents,
  .toc {
    border: 1px solid #000 !important;
    padding: 9pt 10pt !important;
    margin: 12pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .rx-toc::before,
  .table-of-contents::before,
  .toc::before {
    content: "Contents";
    display: block;
    font-family: var(--rx-print-ui-font-family);
    font-size: 12pt;
    font-weight: 700;
    margin-bottom: 6pt;
  }

  .rx-toc a::after,
  .table-of-contents a::after,
  .toc a::after {
    content: "" !important;
  }

  /* =========================================================
     27. PRINT HEADER / FOOTER CUSTOM BLOCKS
     ========================================================= */

  .rx-print-header,
  .print-header {
    display: block !important;
    border-bottom: 1px solid #000 !important;
    padding-bottom: 6pt !important;
    margin-bottom: 12pt !important;
    font-family: var(--rx-print-ui-font-family) !important;
    font-size: 9pt !important;
  }

  .rx-print-footer,
  .print-footer {
    display: block !important;
    border-top: 1px solid #000 !important;
    padding-top: 6pt !important;
    margin-top: 12pt !important;
    font-family: var(--rx-print-ui-font-family) !important;
    font-size: 8.5pt !important;
    color: var(--rx-print-muted-color) !important;
  }

  .rx-print-url::after,
  .print-url::after {
    content: attr(data-url);
  }

  .rx-print-date::after,
  .print-date::after {
    content: attr(data-date);
  }

  /* =========================================================
     28. AUTHOR BOX
     ========================================================= */

  .author-box,
  .rx-author-box,
  .rx-reviewer-box,
  .reviewer-box {
    border: 1px solid #000 !important;
    padding: 9pt 10pt !important;
    margin: 12pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .author-avatar,
  .avatar {
    max-width: 60px !important;
    height: auto !important;
    float: left !important;
    margin: 0 8pt 6pt 0 !important;
  }

  /* =========================================================
     29. HIDE EMPTY ELEMENTS
     ========================================================= */

  p:empty,
  div:empty,
  span:empty,
  section:empty,
  article:empty {
    display: none !important;
  }

  /* =========================================================
     30. ACCESSIBILITY PRINT SUPPORT
     ========================================================= */

  [hidden] {
    display: none !important;
  }

  [aria-expanded="false"] + .accordion-content,
  [aria-hidden="true"]:not(.print-only):not(.rx-print-only) {
    display: block !important;
    visibility: visible !important;
  }

  .sr-only,
  .screen-reader-text {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }

  /* =========================================================
     31. MEDICAL WARNING LABELS
     ========================================================= */

  .rx-emergency-note,
  .emergency-note {
    border: 2px solid #000 !important;
    padding: 10pt !important;
    margin: 12pt 0 !important;
    font-weight: 700 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .rx-emergency-note::before,
  .emergency-note::before {
    content: "Important: ";
  }

  .rx-drug-warning,
  .drug-warning,
  .rx-side-effects,
  .side-effects {
    border: 1px solid #000 !important;
    padding: 8pt 10pt !important;
    margin: 10pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* =========================================================
     32. PRINT UTILITY CLASSES
     ========================================================= */

  .rx-print-block,
  .print-block {
    display: block !important;
  }

  .rx-print-inline,
  .print-inline {
    display: inline !important;
  }

  .rx-print-inline-block,
  .print-inline-block {
    display: inline-block !important;
  }

  .rx-print-hidden,
  .print-hidden {
    display: none !important;
  }

  .rx-print-text-left,
  .print-text-left {
    text-align: left !important;
  }

  .rx-print-text-center,
  .print-text-center {
    text-align: center !important;
  }

  .rx-print-text-right,
  .print-text-right {
    text-align: right !important;
  }

  .rx-print-bold,
  .print-bold {
    font-weight: 700 !important;
  }

  .rx-print-normal,
  .print-normal {
    font-weight: 400 !important;
  }

  .rx-print-small,
  .print-small {
    font-size: 9pt !important;
  }

  .rx-print-large,
  .print-large {
    font-size: 13pt !important;
  }

  .rx-print-border,
  .print-border {
    border: 1px solid #000 !important;
  }

  .rx-print-border-top,
  .print-border-top {
    border-top: 1px solid #000 !important;
  }

  .rx-print-border-bottom,
  .print-border-bottom {
    border-bottom: 1px solid #000 !important;
  }

  /* =========================================================
     33. BODY PRINT STATE HELPERS
     ========================================================= */

  body.print-clean header,
  body.print-clean footer,
  body.print-clean nav,
  body.print-clean aside {
    display: none !important;
  }

  body.print-with-sidebar aside,
  body.print-with-sidebar .rx-sidebar {
    display: block !important;
    visibility: visible !important;
    border-top: 1px solid #000 !important;
    margin-top: 12pt !important;
    padding-top: 10pt !important;
  }

  body.print-no-links a::after {
    content: "" !important;
  }

  body.print-no-images img,
  body.print-no-images figure {
    display: none !important;
  }

  body.print-large-text {
    font-size: 13pt !important;
  }

  body.print-large-text p,
  body.print-large-text li {
    font-size: 13pt !important;
    line-height: 1.55 !important;
  }

  /* =========================================================
     34. PRINT FOR MEDICAL LONG ARTICLES
     ========================================================= */

  .single-post .entry-content,
  .single .entry-content,
  .rx-long-medical-article,
  .rx-seo-medical-article {
    max-width: none !important;
    width: 100% !important;
  }

  .rx-long-medical-article h2,
  .rx-seo-medical-article h2 {
    page-break-before: auto !important;
  }

  .rx-long-medical-article h2:not(:first-child),
  .rx-seo-medical-article h2:not(:first-child) {
    margin-top: 20pt !important;
  }

  .rx-long-medical-article .rx-references,
  .rx-seo-medical-article .rx-references {
    page-break-before: always !important;
    break-before: page !important;
  }

  /* =========================================================
     35. PRINT URL FOOTNOTE SYSTEM
     ========================================================= */

  .rx-print-source,
  .print-source {
    color: var(--rx-print-muted-color) !important;
    font-size: 8.5pt !important;
    font-family: var(--rx-print-ui-font-family) !important;
    margin-top: 8pt !important;
  }

  .rx-print-source::before,
  .print-source::before {
    content: "Source: ";
    font-weight: 700;
  }

  /* =========================================================
     36. WOOCOMMERCE / PRODUCT PRINT CLEANUP
     ========================================================= */

  .woocommerce-breadcrumb,
  .woocommerce-result-count,
  .woocommerce-ordering,
  .woocommerce-pagination,
  .woocommerce-product-gallery__trigger,
  .single_add_to_cart_button,
  .cart,
  .quantity,
  .product_meta,
  .related.products,
  .upsells.products,
  .cross-sells,
  .woocommerce-tabs ul.tabs {
    display: none !important;
  }

  .woocommerce div.product,
  .woocommerce-page div.product {
    display: block !important;
    width: auto !important;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
  }

  /* =========================================================
     37. PRINT SAFETY FOR ADS / TRACKERS / THIRD-PARTY
     ========================================================= */

  [id*="ad"],
  [class*="ad-"],
  [class*="-ad"],
  [class*="ads"],
  [id*="ads"],
  [class*="banner"],
  [id*="banner"],
  [class*="tracking"],
  [id*="tracking"],
  [class*="analytics"],
  [id*="analytics"] {
    display: none !important;
  }

  .rx-medical-article [class*="advice"],
  .rx-medical-article [class*="diagnosis"],
  .rx-medical-article [class*="treatment"] {
    display: initial;
  }

  /* =========================================================
     38. FINAL OVERFLOW FIXES
     ========================================================= */

  body,
  html,
  .site,
  .rx-site,
  .site-content,
  .rx-site-content,
  .content-area,
  .rx-content-area,
  .entry-content,
  .post-content,
  .page-content {
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  * {
    max-width: 100% !important;
  }

  table,
  pre,
  code {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* =========================================================
     39. FINAL PRINT QUALITY
     ========================================================= */

  body::before,
  body::after {
    display: none !important;
  }

  .entry-content > *:first-child,
  .post-content > *:first-child,
  .page-content > *:first-child {
    margin-top: 0 !important;
  }

  .entry-content > *:last-child,
  .post-content > *:last-child,
  .page-content > *:last-child {
    margin-bottom: 0 !important;
  }
}

Then enqueue it in your RX Theme functions.php or your enqueue file:

function rx_theme_enqueue_print_css() {
    wp_enqueue_style(
        'rx-theme-print',
        get_template_directory_uri() . '/assets/static/static-css/utilities/print.css',
        array(),
        wp_get_theme()->get( 'Version' ),
        'print'
    );
}
add_action( 'wp_enqueue_scripts', 'rx_theme_enqueue_print_css' );

Best structure:

assets/
└── static/
    └── static-css/
        └── utilities/
            └── print.css

This file is especially good for RX Theme medical articles because it hides header, footer, ads, sidebar, comments, buttons, popups, videos, search forms, and social share buttons during printing while keeping the main article, headings, tables, references, FAQ, images, warnings, and medical disclaimer clean and readable.

Leave a Reply

Your email address will not be published. Required fields are marked *