/* Basic print stylesheet */
@media print {
  /* Hide common non-content elements */
  header,
  footer,
  nav,
  aside,
  menu,
  form,
  iframe,
  video,
  audio,
  canvas,
  svg,
  .header,
  .footer,
  .nav,
  .navbar,
  .sidebar,
  .menu,
  .breadcrumb,
  .breadcrumbs,
  .pagination,
  .search,
  .filters,
  .toolbar,
  .actions,
  .buttons,
  .btn,
  .button,
  .cta,
  .modal,
  .popup,
  .overlay,
  .cookie-banner,
  .announcement,
  .alert,
  .ads,
  .ad,
  .advertisement,
  .social,
  .share,
  .newsletter,
  .no-print {
    display: none !important;
  }

  /* Reset page basics */
  html,
  body {
    margin: 0;
    padding: 0;
    background: #fff !important;
    color: #000 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
    line-height: 1.5;
  }

  /* Make main content print cleanly */
  main,
  article,
  section,
  .content,
  .main-content,
  .page-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Remove decorative effects */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Links */
  a {
    color: #000 !important;
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 90%;
  }

  /* Avoid awkward page breaks */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
    break-after: avoid;
  }

  p,
  blockquote,
  table,
  ul,
  ol,
  img {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  table {
    width: 100%;
    border-collapse: collapse;
  }

  th,
  td {
    border: 1px solid #000;
    padding: 0.25rem;
  }

  /* Page setup */
  @page {
    margin: 0.75in;
  }
}