/**
 * Print-Specific Styles for PDF Export
 * Optimized for A4 paper, clean layout, no UI chrome
 */

@media print {
  /* ========================================
     RESET & PAGE SETUP
     ======================================== */

  * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    filter: none !important;
    backdrop-filter: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  [class*='loader'],
  [class*='Loader'],
  [class*='splash'],
  [class*='Spinner'],
  [class*='loading'] {
    display: none !important;
  }

  @page {
    size: A4 portrait;
    margin: 0 !important;
  }

  body {
    counter-reset: page !important;
  }

  html,
  body {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11pt;
    line-height: 1.5;
    background: white !important;
    color: black !important;
  }

  /* Ensure root container doesn't break fixed positioning in print */
  [class*='Viewer'] {
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
  }

  /* Add margin to content so it's not at the very edge of A4 */
  #viewer-canvas,
  main,
  [class*='Viewer'] > div {
    padding: 0 !important;
    margin: 0 !important;
  }

  [class*='Viewer'] .mx-auto {
    padding-left: 1.5cm !important;
    padding-right: 1.5cm !important;
    padding-bottom: 2.5cm !important; /* Heavily padded to avoid covering footer */
    padding-top: 0 !important;
  }

  /* Specific fix for branding overlapping */
  .print-branding-header {
    position: absolute !important;
    top: 20pt !important;
    left: 40pt !important;
    right: 40pt !important;
    z-index: 500 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: transparent !important;
    height: 20pt !important;
  }

  .print-branding-header img {
     max-height: 14pt !important;
     width: auto !important;
     display: block !important;
  }

  .print-branding-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: white !important; /* Solid white background to prevent being covered */
    pointer-events: none !important;
    height: 40pt !important;
    border-top: 1pt solid #eee !important;
    padding: 0 1.5cm !important;
    counter-increment: page !important;
  }

  .print-branding-footer img,
  .print-branding-footer svg {
     max-height: 10pt !important;
     width: auto !important;
  }

  .print-page-number {
    display: inline-block !important;
  }

  .print-page-number::after {
    content: "Page " counter(page) !important;
    font-weight: bold !important;
    color: #000 !important;
    font-size: 9pt !important;
  }

  /* Preserve theme colors and background images */

  /* ========================================
     HIDE UI ELEMENTS
     ======================================== */

  /* Navigation & Controls */
  nav,
  header,
  .sticky,
  [class*='nav'],
  [class*='Nav'],
  button,
  .no-print,
  [data-no-print='true'] {
    display: none !important;
  }

  /* Chat/Feedback FAB */
  [class*='fab'],
  [class*='FAB'],
  [class*='chat'],
  [class*='feedback'] {
    display: none !important;
  }

  /* Sticky Footer */
  footer,
  [class*='footer'],
  [class*='Footer'] {
    display: none !important;
  }

  /* Edit Controls, Settings, Tooltips */
  [class*='edit'],
  [class*='settings'],
  [class*='tooltip'],
  [class*='dropdown'],
  [class*='modal'],
  [class*='drawer'] {
    display: none !important;
  }

  /* Scrollbars */
  ::-webkit-scrollbar {
    display: none !important;
  }

  /* ========================================
     LAYOUT & SPACING
     ======================================== */

  .max-w-6xl,
  .max-w-5xl,
  .max-w-4xl,
  .container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Remove excess margins */
  .min-h-screen {
    min-height: auto !important;
  }

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

  h1 {
    font-size: 24pt;
    font-weight: bold;
    margin-bottom: 12pt;
    margin-top: 0;
  }

  h2 {
    font-size: 18pt;
    font-weight: bold;
    margin-bottom: 10pt;
    margin-top: 16pt;
  }

  h3 {
    font-size: 14pt;
    font-weight: bold;
    margin-bottom: 8pt;
    margin-top: 12pt;
  }

  p {
    margin-bottom: 8pt;
    orphans: 3;
    widows: 3;
  }

  a {
    color: black;
    text-decoration: none;
  }

  a[href]:after {
    content: ' (' attr(href) ')';
    font-size: 9pt;
    color: #666;
  }

  /* ========================================
     BLOCK-LEVEL ELEMENTS
     ======================================== */

  /* Prevent page breaks inside blocks */
  [class*='block'],
  .hero,
  .gallery,
  .pricing,
  .timeline,
  .comparison,
  .weather,
  .currency,
  article,
  section {
    page-break-inside: auto !important;
    break-inside: auto !important;
    margin-bottom: 24pt !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    opacity: 1 !important;
    filter: none !important;
    visibility: visible !important;
  }

  /* Ensure the simulation containers don't clip content in print */
  .is-mobile-simulation,
  #viewer-canvas {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
    position: static !important;
  }

  /* Hero Block - Optimized for PDF */
  [class*='hero'],
  [class*='Hero'],
  .hero-block-container,
  .text-block-container {
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 24pt !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important; /* Allow content to push height */
    min-height: 350pt !important; /* Slightly smaller to fit A4 better */
    background: #f8f8f8 !important; /* Fallback */
    overflow: hidden !important;
  }

  /* Image Layer - Fixed Background */
  .hero-image-layer {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
  }

  .hero-image-layer img,
  [class*='hero'] > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
  }

  /* Content Layer - Flows on TOP of image */
  .hero-content-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40pt !important;
    width: 100% !important;
    background: rgba(0,0,0,0.2) !important;
    text-align: center !important;
  }

  /* Fix for Title & Message Scaling */
  .hero-content-layer h1,
  [class*='hero'] h1 {
    font-size: 28pt !important;
    margin-bottom: 12pt !important;
    color: white !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8) !important;
    text-align: center !important;
    width: 100% !important;
  }

  .hero-content-layer p,
  .hero-content-layer div,
  .hero-content-layer [class*='prose'] {
    font-size: 11pt !important;
    line-height: 1.6 !important;
    color: white !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
    text-align: center !important;
    max-width: 90% !important;
  }

  /* Remove messing gradients that look like grey boxes */
  [class*='bg-gradient-to-b'],
  [class*='bg-black\/70'],
  [class*='bg-black\/50'],
  [class*='bg-black\/40'] {
    background: transparent !important;
    display: none !important;
  }

  /* Text Block acting as Hero */
  .text-block-container {
    height: auto !important;
    min-height: auto !important;
    background: transparent !important;
  }

  .text-block-container .hero-image-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
  }

  /* Keep text hero form natural */
  .text-block-container .hero-content-layer {
    position: relative !important;
    z-index: 10 !important;
    padding: 40pt 30pt !important;
    background: transparent !important;
    display: block !important;
  }

  .text-block-container .hero-content-layer * {
    color: inherit !important;
    text-shadow: none !important;
    text-align: inherit !important;
  }

  /* Gallery */
  [class*='gallery'],
  .gallery-block {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8pt !important;
    page-break-inside: auto !important;
    width: 100% !important;
  }

  [class*='gallery'] img,
  .gallery-block img {
    height: 100pt !important; /* Even smaller for stickers-like view */
    width: auto !important;
    min-width: 100pt !important;
    object-fit: cover !important;
    border-radius: 6pt !important;
    flex: 1 1 auto !important;
  }

  /* Timeline resizing - more compact */
  [class*='timeline'] img {
    height: 90pt !important;
    width: 140pt !important;
    object-fit: cover !important;
    border-radius: 6pt !important;
  }

  [class*='timeline'] [class*='grid'] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 6pt !important;
    margin-top: 8pt !important;
    width: 100% !important;
  }

  [class*='timeline'] [class*='grid'] > div {
    width: 140pt !important;
    height: 90pt !important;
    flex: 0 0 auto !important;
    aspect-ratio: auto !important;
  }

  /* Comparison Block - Balanced Images */
  [class*='comparison'] [class*='grid'],
  [class*='comparison'] .ImageGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8pt !important;
    height: auto !important;
    width: 100% !important;
  }

  [class*='comparison'] img {
    height: 120pt !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 8pt !important;
    flex: 1 1 45% !important;
    max-width: 50% !important;
    margin-bottom: 0 !important;
  }

  /* Case: 1 image in comparison */
  [class*='comparison'] .ImageGrid > img:only-child,
  [class*='comparison'] .ImageGrid > div:only-child img {
    max-width: 100% !important;
    height: 180pt !important;
  }

  /* Case: 3 images in comparison */
  [class*='comparison'] .flex-col > .w-full:first-child img {
    height: 150pt !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  
  [class*='comparison'] .flex-col > .flex {
    display: flex !important;
    gap: 8pt !important;
  }

  [class*='comparison'] .flex-col > .flex img {
    height: 100pt !important;
    flex: 1 1 48% !important;
  }

  /* Ensure pricing and text remain visible */
  [class*='comparison'] h3,
  [class*='comparison'] h4,
  [class*='comparison'] p {
    page-break-inside: avoid !important;
  }

  /* Disable overlays that might cause dark boxes */
  [class*="Selected"],
  [class*="selected"],
  [class*="Overlay"],
  [class*="overlay"] {
    display: none !important;
  }

  /* Table Styling - Optimized for multi-page flow and strict fit */
  table {
    page-break-inside: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 20pt !important;
    table-layout: auto !important; /* Allow columns to shrink to fit */
    font-size: 8pt !important; /* Smaller text to avoid clipping */
  }

  [class*='TableBlock'] [class*='overflow-x-auto'],
  .overflow-x-auto {
    overflow: visible !important;
    display: block !important;
  }

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

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

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

  table th,
  table td {
    border: 0.5pt solid #ddd !important;
    padding: 6pt !important;
    text-align: left !important;
    page-break-inside: avoid !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Remove duplicate footer styling if any */
  .fixed.bottom-4,
  [class*='ProposalFooter'] {
    display: none !important;
  }

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

  /* ========================================
     IMAGES & MEDIA
     ======================================== */

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

  /* Hide videos, show placeholder */
  video,
  iframe,
  [class*='video'],
  [class*='map'] {
    display: block !important;
    height: 100pt !important;
    background: #f0f0f0 !important;
    border: 1pt solid #ddd !important;
    page-break-inside: avoid;
  }

  video::after,
  iframe::after {
    content: '[Video Content - View online]';
    display: block;
    padding: 20pt;
    text-align: center;
    color: #666;
  }

  /* ========================================
     INTERACTIVE ELEMENTS (Static for Print)
     ======================================== */

  /* Weather Widget - Show static version */
  [class*='weather'] {
    border: 1pt solid #ddd !important;
    padding: 10pt !important;
    background: #f9f9f9 !important;
  }

  /* Currency Converter - Show static info */
  [class*='currency'] {
    border: 1pt solid #ddd !important;
    padding: 10pt !important;
    background: #f9f9f9 !important;
  }

  /* Flight Status - Show static info */
  [class*='flight'] {
    border: 1pt solid #ddd !important;
    padding: 10pt !important;
    background: #f9f9f9 !important;
  }

  /* ========================================
     RICH VISUALS PRESERVATION
     ======================================== */

  /*
   * DO NOT force light mode - preserve theme aesthetics
   * Allow dark backgrounds, gradients, and colors to print
   * Ensure text remains readable with sufficient contrast
   */

  /* Ensure sufficient contrast for readability */

  /* ========================================
     EXPAND TABS & ACCORDIONS FOR PRINT
     ======================================== */

  /*
   * TIMELINE BLOCK: Show all days sequentially
   * Hide tab navigation, display all day content panels
   */

  /* Hide the day tabs navigation bar */
  .timeline-tabs-nav {
    display: none !important;
  }

  /* Force all timeline day panels to be visible (overrides hidden class) */
  .timeline-day-panel {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    page-break-inside: avoid;
    margin-bottom: 20pt !important;
  }

  /* Add visible separator between days (except first) */
  .timeline-day-panel:not(:first-child) {
    margin-top: 32pt !important;
    padding-top: 24pt !important;
    border-top: 1pt solid #eee !important;
    page-break-before: auto;
  }

  .timeline-day-panel:first-child .timeline-day-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Ensure events container displays */
  .timeline-day-panel [class*='space-y-6'] {
    display: block !important;
  }

  /* Hide decorative spine lines in timeline for a cleaner PDF */
  .timeline-day-panel .bg-gradient-to-b {
    display: none !important;
  }

  /* Remove animations/transforms from day panels */
  .timeline-days-container > div {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    display: block !important;
  }

  /* Ensure all images and content are visible (override framer-motion initial states) */
  .motion-div,
  [class*="motion"],
  [class*="Motion"],
  .group\/block,
  .group\/block > div,
  [style*="opacity: 0"],
  [style*="opacity:0"],
  [style*="filter: blur"],
  [style*="filter:blur"] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    backdrop-filter: none !important;
  }

  /* Disable any backdrop blur overlays */
  [class*="backdrop-blur"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Fix for blurry/grey overlays from gradients */
  .absolute.inset-0.bg-gradient-to-b,
  .absolute.inset-0.bg-black\/70,
  .absolute.inset-0.bg-black\/50,
  .absolute.inset-0.bg-black\/40 {
    background: rgba(0,0,0,0.3) !important; /* Make them much lighter or remove blur effect */
    backdrop-filter: none !important;
  }

  /*
   * FAQ BLOCK: Expand all accordion items
   * Force all questions/answers to be visible
   */

  /* Force all FAQ accordion answer containers to be visible */
  .faq-block .faq-answer-container {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  /* Ensure FAQ answer content is visible */
  .faq-block .faq-answer {
    display: block !important;
    height: auto !important;
  }

  /* Hide chevron toggle icons in FAQ */
  .faq-block .faq-accordion-item button {
    display: none !important;
  }

  /* Keep FAQ items contained */
  .faq-block .faq-accordion-item {
    page-break-inside: avoid;
    margin-bottom: 12pt !important;
  }

  /* ========================================
     UTILITY OVERRIDES
     ======================================== */

  /* Remove shadows */
  [class*='shadow'] {
    box-shadow: none !important;
  }

  /* Remove animations */
  * {
    animation: none !important;
    transition: none !important;
  }

  /* Remove fixed/sticky positioning */
  [class*='fixed'],
  [class*='sticky'] {
    position: static !important;
  }

  /* ========================================
     CUSTOM PRINT CLASSES
     ======================================== */

  /* Allow specific elements to be print-only */
  .print-only {
    display: block !important;
  }

  .print-hide {
    display: none !important;
  }

  /* Page break helpers */
  .page-break-before {
    page-break-before: always;
  }

  .page-break-after {
    page-break-after: always;
  }

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

  /* ========================================
     FIXES FOR SCALED BLOCKS & LAYOUT
     ======================================== */

  /* Force Main Viewer Grid to Single Column */
  [class*='grid-cols-'] {
      grid-template-columns: 100% !important;
      display: block !important;
  }

  /* Reset Scaled Containers (Hero, Table, Gallery) to Fluid Width */
  [style*="width: 1200px"], [style*="width:1200px"],
  [style*="width: 1280px"], [style*="width:1280px"] {
      width: 100% !important;
      min-width: 0 !important;
      transform: none !important;
      transform-origin: top left !important;
      margin-bottom: 0 !important;
  }

  /* Specially handle Table Block to keep aspect ratio but fit page */
  [style*="width: 1000px"], [style*="width:1000px"] {
      width: 100% !important;
      max-width: 100% !important;
      transform: none !important;
      /* Optional: use zoom to fit generic large tables if needed, 
         but reflow is better. Keeping standard reset for now. */
  }

  /* Allow containers wrapper to auto-height */
  [style*="height"], [style*="min-height"] {
      height: auto !important;
      min-height: 0 !important;
  }

  /* Hero Visibility Fix */
  /* Ensure the active slide in Hero is visible */
  [class*='hero'] [data-active='true'],
  [class*='hero'] .absolute.inset-0.transition-opacity {
      opacity: 1 !important;
      visibility: visible !important;
      position: absolute !important; /* Keep absolute to layer correctly */
      z-index: 1 !important;
  }
  
  /* Ensure Hero container has height */
  [class*='hero'] {
      min-height: 300px !important;
      height: 300px !important; /* Force fixed height for Hero on print */
      overflow: hidden !important;
      background-color: #eee !important; /* Debug/Fallback bg */
      print-color-adjust: exact !important;
  }

  /* Restore internal layout flex/grids for components */
  [class*='gallery'], .gallery-block,
  [class*='timeline'] [class*='grid'] {
      display: flex !important;
      flex-wrap: wrap !important;
      flex-direction: row !important;
  }
  
  /* Timeline specific image fix */
  [class*='timeline'] [class*='grid'] > div {
      width: 140pt !important; /* Enforce width from prev rule */
      flex: 0 0 auto !important;
      display: block !important;
  }
  
  /* Ensure all block contents are visible */
  [class*='Block'] * {
      opacity: 1 !important;
      visibility: visible !important;
  }

  /* FORCE HERO VISIBILITY - Override Framer Motion initial states */
  .hero-image-layer,
  .hero-content-layer,
  .hero-content-layer *,
  .hero-content-layer .prose,
  .hero-content-layer .block-content-editor {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
      visibility: visible !important;
      display: block !important;
  }

  .hero-image-layer img {
      display: block !important;
      opacity: 1 !important;
      max-width: none !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
  }

  /* FORCE ALL BLOCKS (including TextBlock) TO BE VISIBLE regardless of animation state */
  [data-block-id] > div,
  [data-block-id] > div > *,
  div[class*="motion"],
  .framer-motion {
      opacity: 1 !important;
      transform: none !important;
      visibility: visible !important;
  }

  /* Ensure text content is visible and readable */
  .hero-content-layer .prose *,
  .hero-content-layer [contenteditable],
  .hero-content-layer .block-content-editor,
  .hero-content-layer p,
  .hero-content-layer h1,
  .hero-content-layer h2,
  .hero-content-layer h3,
  .hero-content-layer div {
      opacity: 1 !important;
      visibility: visible !important;
      color: inherit !important;
  }

  /* Override any inline styles that might hide content */
  [style*="opacity: 0"],
  [style*="visibility: hidden"],
  [style*="display: none"] {
      opacity: 1 !important;
      visibility: visible !important;
      display: block !important;
  }

  /* Z-INDEX & POSITIONING FIXES for TextHero */
  .hero-image-layer {
      z-index: 0 !important; /* Keep lowest but visible */
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
      opacity: 1 !important;
  }
  
  /* Hide overlay divs (gradients, bg-black) that obscure the image */
  .hero-image-layer > div:not(img),
  .hero-image-layer [class*='bg-gradient'],
  .hero-image-layer [class*='bg-black/'],
  .hero-image-layer [class*='backdrop-blur'] {
      display: none !important;
      opacity: 0 !important;
  }
  
  .hero-content-layer {
      z-index: 10 !important;
      position: relative !important;
      /* SCALE FIX: Fit 1200px design into ~700px Print Page */
      zoom: 0.60 !important; 
      width: 100% !important;
      left: 0 !important;
      top: 0 !important;
  }
  
  /* Remove color: inherit to allow white text on dark images */
  .hero-content-layer * {
       opacity: 1 !important;
       transform: none !important;
       filter: none !important;
       visibility: visible !important;
       /* color prop removed to allow design colors */
  }

  /* Make sure container background doesn't hide image */
  [class*='relative w-full'] { 
      background-color: transparent !important;
  }
  
  /* Aggressively remove backgrounds from Hero Message Container and ALL children */
  .hero-content-layer,
  .hero-content-layer *,
  [class*='backdrop-blur'] {
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      background: transparent !important; /* Force transparent */
      background-color: transparent !important;
      border: none !important;
      box-shadow: none !important;
  }
  
  /* Ensure text is white and legible on image */
  .hero-content-layer div,
  .hero-content-layer h1,
  .hero-content-layer h2,
  .hero-content-layer p,
  .hero-content-layer span {
      color: white !important;
      text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;
      /* Re-apply visibility in case * rule missed something */
      opacity: 1 !important;
      visibility: visible !important;
      filter: none !important;
  }

  /* Force Image Fidelity */
  .hero-image-layer img {
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
      filter: none !important;
  }
  
  /* Ensure TextBlock has height if acting as hero AND make transparent */
  [class*='min-h-[400px]'] {
      min-height: 1150px !important; /* Force tall height (~A4 size) to cover absolute content */
      height: auto !important; 
      background-color: transparent !important;
      background: transparent !important;
      overflow: visible !important; /* Don't clip if content goes further */
      break-inside: avoid !important;
      page-break-inside: avoid !important;
      margin-bottom: 20px !important;
  }

  /* Fixed Design Width Scaling for Hero Content */
  .hero-content-layer {
      z-index: 10 !important;
      position: relative !important;
      /* Force Desktop Width layout logic */
      width: 1200px !important;
      max-width: none !important;
      /* Scale down to fit Print Page (~790px) */
      zoom: 0.62 !important; 
      left: 0 !important;
      top: 0 !important;
      margin: 0 !important;
  }
  
  /* Force Image Fidelity and FULL COVERAGE */
  .hero-image-layer {
      height: auto !important;
      min-height: 100% !important;
      bottom: 0 !important;
  }
  .hero-image-layer img {
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
      filter: none !important;
      object-fit: cover !important;
      height: 100% !important;
      min-height: 100% !important;
  }
  
  /* Reset paragraph margins in hero to tighten layout */
  .hero-content-layer p {
      margin-bottom: 0.5em !important;
      line-height: 1.4 !important;
  }

  /* TABLE BLOCK PRINT FIXES */
  table {
      zoom: 0.75 !important; /* Balanced scale: fits standard widths on A4 */
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 auto !important;
      border-collapse: collapse !important;
      table-layout: fixed !important; /* Prevent images from blowing out cell widths */
  }
  
  td, th {
      white-space: normal !important;
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      padding: 6px !important;
      font-size: 11pt !important;
      vertical-align: top !important;
  }
  
  /* Fix Resizable Image in Table */
  td img {
      max-width: 100% !important;
      height: auto !important;
      display: block !important;
  }
}
