/**
 * IGC Enterprises - Print Stylesheet
 * ============================================================================
 * A comprehensive print stylesheet designed for professional document output.
 * Optimizes readability, conserves ink, and ensures proper page formatting.
 * 
 * @author IGC Enterprises
 * @version 1.0.0
 * ============================================================================
 */

/* ============================================================================
   RESET & BASE PRINT STYLES
   ============================================================================ */

@media print {

  /* --- Global Reset for Print --- */
  *,
  *::before,
  *::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* --- Page Setup --- */
  @page {
    size: A4;
    margin: 2cm 1.5cm 2.5cm 1.5cm;
  }

  @page :first {
    margin-top: 1.5cm;
  }

  /* --- Page Breaks --- */
  @page :left {
    margin-left: 2cm;
    margin-right: 1.5cm;
  }

  @page :right {
    margin-left: 1.5cm;
    margin-right: 2cm;
  }

  html {
    font-size: 11pt;
    background: #ffffff !important;
    background-color: #ffffff !important;
  }

  body {
    font-family: "Arial", "Helvetica Neue", Helvetica, sans-serif;
    font-size: 11pt;
    line-height: 1.6;
    color: #000000 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: none;
  }

  /* Force white backgrounds on key containers */
  html, body, main, article, section, header, .container, .row, [class*="col-"],
  .page-content, .card, .card-body, .accordion, .accordion-item {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /* Override all dark/black background classes */
  .bg-black, .bg-dark, .bg-gray-200, .bg-gray-900, .bg-primary, .bg-secondary,
  [class*="bg-"], [style*="background"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /* Ensure all text is black or dark gray */
  .text-white, .text-white-75, .text-light, .text-muted, .text-gray-700,
  .text-gray-600, .text-gray-500, [class*="text-"] {
    color: #000000 !important;
  }

  .text-muted, .text-gray-700, .text-gray-600 {
    color: #4a4a4a !important;
  }

  /* ============================================================================
     HIDE NON-ESSENTIAL ELEMENTS
     ============================================================================ */

  /* Navigation & Interactive Elements */
  nav,
  .navbar,
  .navbar-brand,
  .navbar-nav,
  .navbar-toggler,
  .navbar-collapse,
  .dropdown-menu,
  .nav-link,
  #navbarCollapse {
    display: none !important;
  }

  /* Footer - Hide most, keep attribution */
  footer,
  .footer,
  footer .list-social,
  footer .social-icons,
  footer a[href*="twitter"],
  footer a[href*="linkedin"],
  footer a[href*="github"],
  footer a[href*="facebook"],
  footer a[href*="instagram"] {
    display: none !important;
  }

  /* Call-to-Action Sections */
  .cta,
  .ctas,
  [class*="cta-"],
  section[class*="cta"],
  .sticky-cta {
    display: none !important;
  }

  /* Buttons & Interactive Elements */
  button,
  .btn,
  input[type="submit"],
  input[type="reset"],
  input[type="button"],
  [role="button"],
  .navbar-btn {
    display: none !important;
  }

  /* Forms - hide entire form sections in print */
  form,
  .form,
  .newsletter,
  .contact-form,
  input,
  textarea,
  select {
    display: none !important;
  }

  /* Modals & Overlays */
  .modal,
  .modal-overlay,
  .modal-backdrop,
  [class*="modal-"] {
    display: none !important;
  }

  /* Shapes & Decorative SVGs */
  .shape,
  .shape-bottom,
  .shape-top,
  [class*="shape-"],
  .custom-shape-divider,
  svg[class*="curve"],
  svg[class*="blur"],
  .blurs,
  footer > img[src*="swish"] {
    display: none !important;
  }

  /* Background Images & Decorations */
  [data-jarallax],
  .jarallax,
  .parallax,
  .bg-cover::before,
  .overlay,
  [class*="overlay-"] {
    display: none !important;
  }

  /* Video & Animations */
  video,
  iframe[src*="youtube"],
  iframe[src*="vimeo"],
  .video-wrapper,
  [data-aos],
  .flickity-viewport-visible,
  .flickity-button {
    display: none !important;
  }

  /* Breadcrumbs - optional, can show for context */
  .breadcrumb {
    display: block !important;
    margin-bottom: 0.5cm !important;
    padding: 0 !important;
    font-size: 9pt !important;
    color: var(--print-text-muted) !important;
    border: none !important;
    background: none !important;
  }

  .breadcrumb-item::before {
    color: var(--print-text-light) !important;
  }

  .breadcrumb a {
    color: var(--print-text-muted) !important;
    text-decoration: none !important;
  }

  /* Social Media Links */
  .list-social,
  .social-links,
  [class*="social-"],
  a[href*="twitter.com"],
  a[href*="linkedin.com"],
  a[href*="github.com"],
  a[href*="facebook.com"],
  a[href*="instagram.com"] {
    display: none !important;
  }

  /* Icons - Feather icons and similar */
  .fe,
  [class*="fe-"],
  .icon:not(.print-icon),
  .icon-circle:not(.print-icon) {
    display: none !important;
  }

  /* Badges in non-content areas */
  nav .badge,
  header .badge,
  .navbar .badge {
    display: none !important;
  }

  /* Carousels & Sliders */
  .flickity-enabled,
  .carousel,
  .slider,
  [data-flickity] {
    display: block !important;
  }

  .flickity-slider {
    transform: none !important;
    position: static !important;
  }

  .flickity-cell {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 1cm !important;
  }

  /* Cookie Notices & Popups */
  .cookie-notice,
  .cookie-consent,
  [class*="cookie-"],
  .popup,
  .notification-bar {
    display: none !important;
  }

  /* ============================================================================
     PAGE HEADER - STYLED FOR PRINT
     ============================================================================ */

  /* Main page header styling */
  header,
  .page-header,
  section[class*="pt-12"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    padding: 0 !important;
    margin: 0 0 1cm 0 !important;
    /* border-bottom: 2pt solid #cccccc !important; */
  }

  header .container,
  .page-header .container {
    padding: 0 !important;
    background: #ffffff !important;
  }

  header .row,
  .page-header .row {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  /* Display titles prominently */
  header h1 {
    font-size: 24pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 0.5cm 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    background: transparent !important;
    border: none !important;
  }

  header h2.display-1 {
    font-size: 20pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 0.5cm 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    background: transparent !important;
  }

  header .lead,
  .page-header .lead {
    font-size: 12pt !important;
    color: #4a4a4a !important;
    margin: 0 !important;
  }

  /* ============================================================================
     MAIN CONTENT AREA
     ============================================================================ */

  main,
  article,
  .page-content,
  section {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .row {
    margin: 0 !important;
    display: block !important;
  }

  [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
    flex: none !important;
  }

  /* ============================================================================
     TYPOGRAPHY
     ============================================================================ */

  /* --- Headings --- */
  h1, h2, h3, h4, h5, h6 {
    font-family: "Helvetica Neue", "Arial", sans-serif;
    color: #000000 !important;
    background: transparent !important;
    page-break-after: avoid;
    page-break-inside: avoid;
    break-after: avoid;
    break-inside: avoid;
    orphans: 3;
    widows: 3;
  }

  h1 {
    font-size: 22pt !important;
    font-weight: 700 !important;
    margin: 0 0 0.5cm 0 !important;
    line-height: 1.2 !important;
    /* border-bottom: 1pt solid #e0e0e0; */
    padding-bottom: 0.3cm !important;
    color: #000000 !important;
  }

  h1.display-4,
  h1.display-1 {
    font-size: 24pt !important;
    color: #000000 !important;
  }

  h2 {
    font-size: 16pt !important;
    font-weight: 600 !important;
    margin: 0.8cm 0 0.4cm 0 !important;
    line-height: 1.3 !important;
    color: #1a5490 !important;
  }

  h3 {
    font-size: 13pt !important;
    font-weight: 600 !important;
    margin: 0.6cm 0 0.3cm 0 !important;
    line-height: 1.4 !important;
  }

  h4 {
    font-size: 12pt !important;
    font-weight: 600 !important;
    margin: 0.5cm 0 0.25cm 0 !important;
    line-height: 1.4 !important;
  }

  h5 {
    font-size: 11pt !important;
    font-weight: 600 !important;
    margin: 0.4cm 0 0.2cm 0 !important;
  }

  h6 {
    font-size: 10pt !important;
    font-weight: 600 !important;
    margin: 0.3cm 0 0.15cm 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.5pt;
  }

  /* --- Paragraphs --- */
  p {
    font-size: 11pt !important;
    line-height: 1.65 !important;
    margin: 0 0 0.4cm 0 !important;
    color: #000000 !important;
    background: transparent !important;
    orphans: 3;
    widows: 3;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
  }

  .lead,
  .fs-lg {
    font-size: 12pt !important;
    line-height: 1.5 !important;
    color: #4a4a4a !important;
  }

  .fs-sm,
  small,
  .small {
    font-size: 9pt !important;
    color: #666666 !important;
  }

  /* --- Links --- */
  a,
  a:visited {
    color: #1a5490 !important;
    text-decoration: underline !important;
    text-decoration-style: dotted !important;
    text-underline-offset: 2pt !important;
    border: none !important;
    background: transparent !important;
  }

  /* Show URL after links (content links only) */
  article a[href]::after,
  main a[href]::after,
  .page-content a[href]::after {
    content: " [" attr(href) "]";
    font-size: 8pt !important;
    color: #666666 !important;
    font-style: italic;
    word-break: break-all;
  }

  /* Don't show URL for internal anchor links */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "" !important;
  }

  /* Don't show URL for links that are already displaying the URL */
  a[href^="mailto:"]::after {
    content: "" !important;
  }

  a[href^="tel:"]::after {
    content: "" !important;
  }

  /* Heading links - no decoration */
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration: none !important;
  }

  h1 a::after, h2 a::after, h3 a::after,
  h4 a::after, h5 a::after, h6 a::after {
    content: "" !important;
  }

  /* --- Emphasis & Formatting --- */
  strong, b {
    font-weight: 700 !important;
    color: #000000 !important;
  }

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

  mark {
    background: #ffffcc !important;
    color: #000000 !important;
    padding: 0 2pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

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

  abbr[title]::after {
    content: " (" attr(title) ")";
    font-size: 9pt !important;
    color: #666666 !important;
  }

  /* ============================================================================
     LISTS
     ============================================================================ */

  ul, ol {
    margin: 0 0 0.5cm 0 !important;
    padding-left: 0.8cm !important;
  }

  ul {
    list-style-type: disc !important;
  }

  ol {
    list-style-type: decimal !important;
  }

  li {
    font-size: 11pt !important;
    line-height: 1.5 !important;
    margin-bottom: 0.15cm !important;
    color: #000000 !important;
    background: transparent !important;
  }

  li::marker {
    color: #4a4a4a !important;
  }

  /* Nested lists */
  ul ul, ol ol, ul ol, ol ul {
    margin: 0.1cm 0 0.1cm 0 !important;
  }

  /* Definition lists */
  dl {
    margin: 0 0 0.5cm 0 !important;
    background: transparent !important;
  }

  dt {
    font-weight: 700 !important;
    margin-top: 0.2cm !important;
    color: #000000 !important;
  }

  dd {
    margin-left: 0.5cm !important;
    margin-bottom: 0.2cm !important;
    color: #4a4a4a !important;
  }

  /* ============================================================================
     BLOCKQUOTES
     ============================================================================ */

  blockquote {
    margin: 0.5cm 0 0.5cm 0.5cm !important;
    padding: 0.3cm 0.3cm 0.3cm 0.5cm !important;
    border-left: 3pt solid #1a5490 !important;
    font-style: italic !important;
    color: #4a4a4a !important;
    background: #ffffff !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  blockquote::before {
    display: none !important;
  }

  blockquote p {
    margin: 0 0 0.2cm 0 !important;
    font-style: italic !important;
    text-align: left !important;
    color: #4a4a4a !important;
  }

  blockquote footer,
  blockquote cite {
    font-style: normal !important;
    font-size: 9pt !important;
    color: #666666 !important;
    display: block !important;
    margin-top: 0.2cm !important;
  }

  blockquote footer::before {
    content: "— ";
  }

  /* ============================================================================
     CODE & PREFORMATTED TEXT
     ============================================================================ */

  code {
    font-family: "Courier New", Courier, monospace !important;
    font-size: 9pt !important;
    background: #f5f5f5 !important;
    color: #000000 !important;
    padding: 1pt 3pt !important;
    border: 0.5pt solid #e0e0e0 !important;
    border-radius: 2pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  pre {
    font-family: "Courier New", Courier, monospace !important;
    font-size: 9pt !important;
    line-height: 1.4 !important;
    background: #f5f5f5 !important;
    color: #000000 !important;
    padding: 0.4cm !important;
    margin: 0.4cm 0 !important;
    border: 0.5pt solid #cccccc !important;
    border-radius: 3pt !important;
    overflow-x: visible !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    page-break-inside: avoid;
    break-inside: avoid;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  pre code {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: inherit !important;
    color: #000000 !important;
  }

  kbd {
    font-family: "Courier New", Courier, monospace !important;
    font-size: 9pt !important;
    background: #e0e0e0 !important;
    color: #000000 !important;
    padding: 1pt 4pt !important;
    border: 0.5pt solid #cccccc !important;
    border-radius: 2pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ============================================================================
     TABLES
     ============================================================================ */

  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0.5cm 0 !important;
    font-size: 10pt !important;
    page-break-inside: auto;
  }

  caption {
    caption-side: top !important;
    font-weight: 600 !important;
    font-size: 11pt !important;
    text-align: left !important;
    padding: 0.2cm 0 !important;
    color: #000000 !important;
    background: #ffffff !important;
    border-bottom: 1pt solid #cccccc !important;
  }

  thead {
    display: table-header-group;
  }

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

  th, td {
    padding: 0.2cm 0.3cm !important;
    text-align: left !important;
    vertical-align: top !important;
    border: 0.5pt solid #cccccc !important;
    color: #000000 !important;
    background: #ffffff !important;
  }

  th {
    font-weight: 600 !important;
    background: #f5f5f5 !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  thead th {
    border-bottom: 1.5pt solid #cccccc !important;
  }

  tbody tr:nth-child(even) {
    background: #fafafa !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  tbody tr:nth-child(odd) {
    background: #ffffff !important;
  }

  tfoot {
    font-style: italic !important;
    color: #4a4a4a !important;
  }

  tfoot td {
    border-top: 1.5pt solid #cccccc !important;
  }

  /* Responsive table wrapper */
  .table-responsive {
    overflow: visible !important;
  }

  /* ============================================================================
     IMAGES & FIGURES
     ============================================================================ */

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

  /* Main content images */
  article img,
  main img,
  .page-content img {
    display: block !important;
    margin: 0.4cm auto !important;
    /* border: 0.5pt solid #e0e0e0 !important;
    border-radius: 3pt !important; */
    background: #ffffff !important;
  }

  /* Hide decorative images */
  img[src*="background"],
  img[src*="pattern"],
  img[src*="decoration"],
  img[src*="swish"],
  img[alt=""],
  img:not([alt]),
  .img-fluid[src*="illustration"] {
    display: none !important;
  }

  figure {
    margin: 0.5cm 0 !important;
    padding: 0 !important;
    text-align: center !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  figcaption {
    font-size: 9pt !important;
    color: #4a4a4a !important;
    font-style: italic !important;
    margin-top: 0.2cm !important;
    text-align: center !important;
    background: transparent !important;
  }

  /* Device mockups - just show the screenshot */
  .device,
  .device-combo,
  .device-macbook,
  .device-iphonex {
    display: none !important;
  }

  .device-screen,
  .screenshot {
    display: block !important;
    max-width: 80% !important;
    margin: 0.5cm auto !important;
    border: 0.5pt solid #cccccc !important;
    background: #ffffff !important;
  }

  /* ============================================================================
     CARDS & PANELS
     ============================================================================ */

  .card {
    border: 0.5pt solid #cccccc !important;
    border-radius: 3pt !important;
    margin: 0.4cm 0 !important;
    padding: 0.4cm !important;
    page-break-inside: avoid;
    break-inside: avoid;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .card-body {
    padding: 0.3cm !important;
    background: #ffffff !important;
  }

  .card-header {
    font-weight: 600 !important;
    border-bottom: 0.5pt solid #e0e0e0 !important;
    padding: 0.2cm 0.3cm !important;
    margin-bottom: 0.2cm !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  .card-footer {
    border-top: 0.5pt solid #e0e0e0 !important;
    padding: 0.2cm 0.3cm !important;
    margin-top: 0.2cm !important;
    font-size: 9pt !important;
    color: #4a4a4a !important;
    background: #ffffff !important;
  }

  .card-title {
    font-size: 12pt !important;
    font-weight: 600 !important;
    margin-bottom: 0.2cm !important;
    color: #000000 !important;
  }

  .card-border,
  .card-border-xl {
    border-left: 3pt solid #1a5490 !important;
  }

  /* Lift effect cards - remove animations */
  .lift,
  .lift-lg {
    transform: none !important;
  }

  /* ============================================================================
     ACCORDIONS & COLLAPSIBLES
     ============================================================================ */

  .accordion {
    border: 0.5pt solid #cccccc !important;
    margin: 0.4cm 0 !important;
    background: #ffffff !important;
  }

  .accordion-item {
    border-bottom: 0.5pt solid #e0e0e0 !important;
    page-break-inside: avoid;
    break-inside: avoid;
    background: #ffffff !important;
  }

  .accordion-item:last-child {
    border-bottom: none !important;
  }

  .accordion-button,
  .accordion-header {
    font-weight: 600 !important;
    padding: 0.3cm !important;
    font-size: 11pt !important;
    color: #000000 !important;
    background: #ffffff !important;
  }

  .accordion-button::after {
    display: none !important;
  }

  /* Show all collapsed content when printing */
  .accordion-collapse,
  .collapse:not(.navbar-collapse) {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    background: #ffffff !important;
  }

  .accordion-body {
    padding: 0.2cm 0.3cm 0.3cm 0.3cm !important;
    border-top: 0.5pt dotted #e0e0e0 !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  /* Details/Summary - Expand all */
  details {
    margin: 0.3cm 0 !important;
    padding: 0.3cm !important;
    border: 0.5pt solid #e0e0e0 !important;
    border-radius: 3pt !important;
    background: #ffffff !important;
  }

  details[open] {
    display: block !important;
  }

  summary {
    font-weight: 600 !important;
    cursor: default !important;
  }

  summary::before,
  summary::marker {
    display: none !important;
  }

  /* ============================================================================
     BADGES & LABELS
     ============================================================================ */

  .badge {
    font-size: 8pt !important;
    padding: 1pt 4pt !important;
    border: 0.5pt solid #cccccc !important;
    border-radius: 2pt !important;
    color: #000000 !important;
    background: #f5f5f5 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .badge-rounded-circle {
    border-radius: 50% !important;
    width: 8pt !important;
    height: 8pt !important;
    padding: 0 !important;
    display: inline-block !important;
  }

  /* ============================================================================
     HORIZONTAL RULES & DIVIDERS
     ============================================================================ */

  hr {
    border: none !important;
    border-top: 0.5pt solid #cccccc !important;
    margin: 0.5cm 0 !important;
    height: 0 !important;
    background: transparent !important;
    page-break-after: avoid;
  }

  .border-bottom,
  .border-top {
    border-color: #e0e0e0 !important;
  }

  /* ============================================================================
     UTILITY CLASSES
     ============================================================================ */

  /* Muted text */
  .text-muted,
  .text-gray-700,
  .text-gray-600 {
    color: var(--print-text-muted) !important;
  }

  /* White text - make visible on print */
  .text-white,
  .text-white-75,
  .text-light {
    color: var(--print-text) !important;
  }

  /* Display utilities */
  .display-1, .display-2, .display-3, .display-4 {
    font-size: 20pt !important;
  }

  /* Visibility */
  .d-print-none,
  .print-hide {
    display: none !important;
  }

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

  .d-print-inline {
    display: inline !important;
  }

  /* Remove animations */
  [data-aos],
  .aos-animate {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Spacing - reduce for print */
  .mt-n11,
  .pt-12,
  .py-8,
  .py-10,
  .pb-8,
  .pt-md-14 {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ============================================================================
     PAGE BREAKS
     ============================================================================ */

  /* Force page breaks */
  .page-break-before,
  .print-page-break-before {
    page-break-before: always !important;
    break-before: page !important;
  }

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

  /* Prevent page breaks */
  h1, h2, h3, h4, h5, h6,
  blockquote, pre, code,
  figure, img,
  table, thead,
  .card,
  .accordion-item {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Keep headings with their content */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  /* Orphans and widows */
  p, li, dd, dt {
    orphans: 3;
    widows: 3;
  }

  /* ============================================================================
     PRINT-SPECIFIC ADDITIONS
     ============================================================================ */

  /* ============================================================================
     PRINT HEADER WITH LOGO
     ============================================================================ */

  .print-header {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    margin: 0 0 0.8cm 0 !important;
    padding: 0 0 0.5cm 0 !important;
    border-bottom: 2pt solid #1a5490 !important;
    background: #ffffff !important;
    page-break-after: avoid !important;
  }

  .print-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1cm !important;
    background: #ffffff !important;
  }

  .print-logo {
    display: block !important;
    width: 6.5cm !important;
    height: auto !important;
    max-height: 1.5cm !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
  }

  .print-header-text {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1cm !important;
  }

  .print-company-name {
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    letter-spacing: 0.5pt !important;
  }

  .print-tagline {
    font-family: "Georgia", serif !important;
    font-size: 9pt !important;
    font-style: italic !important;
    color: #666666 !important;
  }

  .print-header-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 0.1cm !important;
    flex-shrink: 0 !important;
  }

  .print-header-contact span {
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 8pt !important;
    color: #4a4a4a !important;
  }

  /* Print footer */
  body::after {
    content: "© IGC Enterprises Ltd • intelligentgraphicandcode.com • +44 3300 436226 • All Rights Reserved";
    display: block !important;
    font-size: 8pt !important;
    color: #666666 !important;
    text-align: center !important;
    margin-top: 1cm !important;
    padding-top: 0.3cm !important;
    border-top: 1pt solid #cccccc !important;
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    background: #ffffff !important;
  }

  /* ============================================================================
     SPECIFIC COMPONENT OVERRIDES
     ============================================================================ */

  /* Testimonials - show inline */
  .testimonial,
  .blockquote {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Stats grid */
  .stats-grid {
    display: block !important;
  }

  .stat-item {
    display: inline-block !important;
    width: 30% !important;
    margin: 0.2cm !important;
  }

  .stat-number {
    font-size: 16pt !important;
    font-weight: 700 !important;
  }

  /* Countup numbers - show final value */
  [data-countup],
  [data-to] {
    opacity: 1 !important;
  }

  /* Feature grids */
  .feature-grid,
  .resources-grid,
  .testimonial-grid {
    display: block !important;
  }

  .feature,
  .resource-card,
  .testimonial {
    display: block !important;
    margin-bottom: 0.5cm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Timeline */
  .timeline-container::after {
    display: none !important;
  }

  .timeline-item {
    width: 100% !important;
    left: 0 !important;
    padding: 0.3cm !important;
    border-left: 2pt solid #1a5490 !important;
    margin-bottom: 0.4cm !important;
    background: #ffffff !important;
  }

  .timeline-item::after {
    display: none !important;
  }

  .timeline-content {
    box-shadow: none !important;
    background: #ffffff !important;
    padding: 0.2cm !important;
    color: #000000 !important;
  }

  /* Icon circles in content */
  .icon-circle {
    width: 1cm !important;
    height: 1cm !important;
    border: 1pt solid #cccccc !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10pt !important;
    margin-right: 0.3cm !important;
    background: #ffffff !important;
  }

  /* List groups */
  .list-group {
    border: 0.5pt solid #cccccc !important;
    border-radius: 3pt !important;
    background: #ffffff !important;
  }

  .list-group-item {
    padding: 0.3cm !important;
    border-bottom: 0.5pt solid #e0e0e0 !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  .list-group-item:last-child {
    border-bottom: none !important;
  }

  /* Progress and meters - hide */
  progress,
  meter {
    display: none !important;
  }

  /* Aside elements */
  aside {
    border: 0.5pt solid #cccccc !important;
    padding: 0.3cm !important;
    margin: 0.4cm 0 !important;
    background: #f5f5f5 !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ============================================================================
     ACCESSIBILITY & USABILITY
     ============================================================================ */

  /* Ensure adequate contrast */
  * {
    color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Skip links - hide */
  .skip-link,
  .sr-only,
  .visually-hidden {
    display: none !important;
  }

  /* Focus styles - not needed for print */
  *:focus {
    outline: none !important;
  }

  /* ============================================================================
     AGGRESSIVE DARK THEME OVERRIDE
     ============================================================================ */
  
  /* Ensure no dark backgrounds leak through */
  .bg-dark,
  .bg-black,
  .bg-gradient-dark-black,
  .bg-primary,
  .bg-secondary,
  .bg-gray-200,
  .bg-gray-900,
  .bg-light,
  [class*="bg-"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /* Ensure all text is readable */
  .text-white,
  .text-white-75,
  .text-white-50,
  .text-light,
  [class*="text-white"],
  [class*="text-light"] {
    color: #000000 !important;
  }

  /* Fix any inline styles with dark backgrounds */
  [style*="background-color"],
  [style*="background-image"],
  [style*="background:"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /* Gradient backgrounds */
  .bg-gradient,
  [class*="bg-gradient"] {
    background: #ffffff !important;
    background-image: none !important;
  }

  /* Overlay classes */
  .overlay,
  .overlay-dark,
  .overlay-black,
  [class*="overlay-"] {
    background: transparent !important;
    opacity: 0 !important;
  }

  /* Bootstrap/theme specific overrides */
  .navbar-dark,
  .navbar-light {
    background: transparent !important;
  }

  /* Jarallax and parallax backgrounds */
  .jarallax-container,
  .jarallax-img,
  [data-jarallax] > div,
  [data-jarallax] > img {
    display: none !important;
  }

  /* Main content area specific */
  main.bg-black,
  main.bg-gradient-dark-black,
  main[style*="background"],
  section.bg-black,
  section[style*="background"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

} /* End @media print */

