/* Print Styles - Simple Text Output */
@media print {
  /* Set minimal page margins */
  @page {
    margin: 0.5in;
  }

  /* Hide print:hidden elements */
  .print\:hidden {
    display: none !important;
  }

  /* Show print:block elements */
  .print\:block {
    display: block !important;
  }

  /* Hide non-content elements */
  header,
  footer,
  nav,
  button,
  a,
  svg,
  img {
    display: none !important;
  }

  /* Ensure main is visible */
  main {
    display: block !important;
  }

  /* Reset page margins */
  html, body {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Reset all styling to simple text */
  * {
    background: white !important;
    background-image: none !important;
    background-color: white !important;
    box-shadow: none !important;
    border: none !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Force visibility of all text content */
  body,
  main,
  section,
  div,
  p,
  h1, h2, h3, h4, h5, h6,
  span,
  li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    color: #000000 !important;
    background: white !important;
  }

  /* Fix gradient text to show */
  .gradient-text {
    background: none !important;
    -webkit-text-fill-color: #000000 !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: #000000 !important;
    font-weight: 700 !important;
  }

  /* Headings */
  h1 {
    font-size: 24pt !important;
    font-weight: bold !important;
    margin-bottom: 12pt !important;
    page-break-after: avoid !important;
  }

  h2 {
    font-size: 18pt !important;
    font-weight: bold !important;
    margin-top: 18pt !important;
    margin-bottom: 10pt !important;
    page-break-after: avoid !important;
  }

  h3 {
    font-size: 14pt !important;
    font-weight: bold !important;
    margin-top: 12pt !important;
    margin-bottom: 8pt !important;
    page-break-after: avoid !important;
  }

  h4 {
    font-size: 12pt !important;
    font-weight: bold !important;
    margin-bottom: 6pt !important;
  }

  /* Body text */
  p {
    font-size: 11pt !important;
    line-height: 1.5 !important;
    margin-bottom: 8pt !important;
  }

  /* Lists */
  ul, ol {
    margin-left: 20pt !important;
    margin-bottom: 8pt !important;
  }

  li {
    font-size: 11pt !important;
    margin-bottom: 4pt !important;
  }

  /* Simple spacing */
  section {
    margin-bottom: 20pt !important;
    page-break-inside: avoid !important;
  }

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

  /* No absolute positioning */
  div[class*="absolute"] {
    position: static !important;
  }

  /* Remove ALL decorative padding/margins */
  section,
  div,
  main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  /* Force all Tailwind spacing classes to 0 */
  [class*="py-"],
  [class*="px-"],
  [class*="pt-"],
  [class*="pb-"],
  [class*="pl-"],
  [class*="pr-"],
  [class*="p-"],
  [class*="my-"],
  [class*="mx-"],
  [class*="mt-"],
  [class*="mb-"],
  [class*="ml-"],
  [class*="mr-"],
  [class*="m-"] {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Only actual content elements get spacing */
  h1, h2, h3, h4 {
    margin-top: 8pt !important;
    margin-bottom: 6pt !important;
  }

  main > section:first-child h1:first-child,
  main > section:first-child h2:first-child {
    margin-top: 0 !important;
  }

  p {
    margin-bottom: 6pt !important;
  }

  p:last-child {
    margin-bottom: 0 !important;
  }

  /* Each strategy starts on new page */
  section + section {
    margin-top: 10pt !important;
    page-break-before: always !important;
  }

  /* First section after main title doesn't need page break */
  main > section:first-of-type {
    page-break-before: auto !important;
  }

  /* Prevent page breaks within strategies */
  section {
    page-break-inside: avoid !important;
  }

  /* Force page break before each strategy (except first) */
  .print\:break-before-page {
    page-break-before: always !important;
    break-before: page !important;
  }

  /* Center print title page vertically */
  .print-title-page {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
    height: 100vh !important;
    page-break-after: always !important;
    break-after: page !important;
  }

  /* Center print intro page vertically */
  .print-intro-page {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
    height: 100vh !important;
    page-break-after: always !important;
    break-after: page !important;
  }

  .print-intro-page .container-custom {
    width: 100% !important;
  }

  .print-intro-title {
    font-size: 20pt !important;
    text-align: center !important;
  }
}
