/* ========================================
   PRINT STYLES FOR CONEXUS
   ======================================== */

@media print {
  
  /* ---- RESET & BASICS ---- */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  body {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 12pt;
    line-height: 1.5;
    color: #000;
    background: #fff;
    margin: 0;
    padding: 0;
  }
  
  /* ---- HIDE NON-ESSENTIAL ELEMENTS ---- */
  #nav,
  #search-bar,
  #sharer,
  .mobile-toggle,
  .search-toggle,
  #top,
  #footer,
  .social,
  .btns,
  .button,
  .sharing-controls,
  .controls,
  .slick-arrow,
  .slick-dots,
  video,
  audio,
  iframe,
  .embed-outer,
  form,
  .gform_wrapper,
  #to-home,
  .theme-bg,
  .circle,
  script,
  noscript {
    display: none !important;
  }
  
  /* ---- PAGE SETUP ---- */
  @page {
    margin: 1.5cm 2cm;
    size: auto;
  }
  
  /* ---- TYPOGRAPHY ---- */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
    font-family: Arial, Helvetica, sans-serif;
    color: #000 !important;
    font-weight: bold;
  }
  
  h1, .h1 {
    font-size: 24pt;
    margin: 0 0 12pt 0;
    border-bottom: 2pt solid #000;
    padding-bottom: 6pt;
  }
  
  h2, .h2 {
    font-size: 18pt;
    margin: 18pt 0 10pt 0;
  }
  
  h3, .h3 {
    font-size: 14pt;
    margin: 14pt 0 8pt 0;
  }
  
  h4, .h4 {
    font-size: 12pt;
    margin: 12pt 0 6pt 0;
  }
  
  h5, .h5,
  h6, .h6 {
    font-size: 11pt;
    margin: 10pt 0 6pt 0;
  }
  
  p {
    margin: 0 0 10pt 0;
    orphans: 3;
    widows: 3;
  }
  
  /* ---- LINKS ---- */
  a {
    color: #000;
    text-decoration: underline;
  }
  
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    font-style: italic;
  }
  
  a[href^="#"]:after,
  a[href^="javascript:"]:after,
  a[href=""]:after {
    content: "";
  }
  
  /* ---- IMAGES ---- */
  img {
    max-width: 100% !important;
    max-height: 400pt !important;
    height: auto !important;
    page-break-inside: avoid;
    display: block;
  }
  
  .image img {
    position: static !important;
    object-fit: contain !important;
    max-height: 400pt !important;
  }
  
  .mm-img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
  }
  
  /* ---- LISTS ---- */
  ul, ol {
    margin: 0 0 10pt 20pt;
    padding: 0;
  }
  
  li {
    margin: 0 0 4pt 0;
  }
  
  /* ---- TABLES ---- */
  table {
    border-collapse: collapse;
    width: 100%;
    margin: 10pt 0;
  }
  
  th, td {
    border: 1pt solid #000;
    padding: 4pt 6pt;
    text-align: left;
  }
  
  th {
    font-weight: bold;
    background: #f0f0f0 !important;
  }
  
  /* ---- LAYOUT ADJUSTMENTS ---- */
  .w-full,
  .w-content,
  .w-max {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .section {
    page-break-inside: avoid;
    margin: 0 0 20pt 0;
  }
  
  .spacer {
    display: none !important;
  }
  
  /* ---- FLEXIBLE LAYOUTS ---- */
  .flex,
  .flex-buckets,
  .flex-spaced,
  .flex-centered {
    display: block !important;
  }
  
  .flex-w-2,
  .flex-w-3,
  .flex-w-4 {
    width: 100% !important;
    margin-bottom: 10pt;
  }
  
  /* ---- CONTENT BLOCKS ---- */
  .text {
    color: #000 !important;
  }
  
  .standout,
  blockquote {
    border-left: 3pt solid #000;
    padding-left: 10pt;
    margin: 10pt 0 10pt 15pt;
    font-style: italic;
  }
  
  /* ---- ARTICLE SPECIFIC ---- */
  #hero {
    display: none !important;
  }
  
  #header {
    display: none !important;
  }
  
  #wrapper {
    margin-top: 0 !important;
  }
  
  #insights {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  
  #insights h1 {
    display: block !important;
    margin-top: 0;
    page-break-before: avoid;
  }
  
  article {
    page-break-before: avoid !important;
  }
  
  article .post-meta {
    border-bottom: 1pt solid #000;
    padding-bottom: 6pt;
    margin-bottom: 12pt;
    font-size: 10pt;
  }
  
  /* ---- BUCKETS & ITEMS ---- */
  .bucket,
  .item {
    page-break-inside: avoid;
    margin-bottom: 12pt;
    border: none !important;
  }
  
  .buckets .bucket {
    padding: 0 !important;
    background: none !important;
  }
  
  /* ---- STEPS & NUMBERED ITEMS ---- */
  .steps .num {
    font-weight: bold;
    font-size: 14pt;
  }
  
  /* ---- BOXES ---- */
  .boxes .box {
    border: 1pt solid #000;
    padding: 10pt;
    margin-bottom: 10pt;
    page-break-inside: avoid;
  }
  
  /* ---- CHECKLISTS ---- */
  .checklist li:before {
    content: "☐ ";
    font-size: 12pt;
    margin-right: 4pt;
  }
  
  /* ---- EMPHASIS ---- */
  strong, b {
    font-weight: bold;
    color: #000 !important;
  }
  
  em, i {
    font-style: italic;
  }
  
  /* ---- PAGE BREAKS ---- */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  
  img, table, figure, .bucket, .item, .box {
    page-break-inside: avoid;
  }
  
  /* ---- CONTENT-IMAGE LAYOUTS ---- */
  .content-image {
    display: block !important;
    page-break-inside: avoid;
  }
  
  .content-image .flex-spaced {
    display: block !important;
    overflow: hidden;
  }
  
  .content-image .txt {
    width: 65% !important;
    float: left !important;
    padding-right: 15pt !important;
    display: block !important;
  }
  
  .content-image .img {
    width: 30% !important;
    float: right !important;
    padding: 0 !important;
    display: block !important;
    margin-bottom: 10pt;
  }
  
  .content-image .img img {
    max-width: 100% !important;
    max-height: 200pt !important;
    width: 100% !important;
    height: auto !important;
  }
  
  .content-image .image.natural {
    max-height: 200pt;
  }
  
  .content-image .image.natural img {
    max-height: 200pt !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Clear floats after content-image sections */
  .content-image:after {
    content: "";
    display: table;
    clear: both;
  }
  
  /* ---- HEADER INFO ---- */
  #logo {
    display: block !important;
    margin-bottom: 20pt;
    page-break-after: avoid;
  }
  
  #logo img {
    max-width: 200px !important;
    filter: none !important;
  }
  
  #wrapper:before {
    content: "Printed from: www.cnxsi.com";
    display: block;
    text-align: right;
    font-size: 9pt;
    color: #666;
    margin-bottom: 10pt;
    page-break-after: avoid;
  }
  
  /* ---- FOOTER INFO ---- */
  #wrapper:after {
    content: "© 2026 Conexus Solutions, Inc.";
    display: block;
    text-align: center;
    font-size: 9pt;
    color: #666;
    margin-top: 20pt;
    padding-top: 10pt;
    border-top: 1pt solid #ccc;
  }
  
  /* ---- SPECIAL ELEMENTS ---- */
  .title-bar {
    page-break-inside: avoid;
    margin: 12pt 0;
  }
  
  .title-bar img {
    display: inline-block;
    max-width: 20pt;
    vertical-align: middle;
    margin-right: 6pt;
  }
  
  /* ---- INSIGHTS SPECIFIC ---- */
  .single-insights .text ul.flags li,
  .single-insights .text ul.check li {
    background: none !important;
    padding-left: 0 !important;
  }
  
  .single-insights .text ul.flags li:before {
    content: "► ";
  }
  
  .single-insights .text ul.check li:before {
    content: "✓ ";
  }
  
  /* ---- UTILITY CLASSES ---- */
  .hide, .fhide, .mobile-only, .small-only {
    display: none !important;
  }
  
  .rel, .abs {
    position: static !important;
  }
  
  /* ---- CLEAN UP BACKGROUNDS ---- */
  .bg-dark,
  .bg-light,
  .bg-blue,
  .bg-cover,
  [class*="bg-"] {
    background: none !important;
    color: #000 !important;
  }
  
  /* ---- ROUNDED CORNERS (remove for print) ---- */
  .rounded {
    border-radius: 0 !important;
  }
  
  /* ---- ACCENT BORDERS ---- */
  .accent-bordered:after,
  .accent-bordered.b.r:after,
  .accent-bordered.b.l:after,
  .accent-bordered.t.r:after,
  .accent-bordered.t.l:after,
  h2.accent:after,
  .accent:after {
    display: none !important;
    content: none !important;
  }
  
  /* ---- OVERLAYS ---- */
  .overlay {
    display: none !important;
  }
  
}