/* Print styles for invoices, receipts, and order confirmations */
@media print {
  /* Hide UI chrome */
  header,
  footer,
  nav,
  .mobile-bottom-nav,
  .cart-drawer,
  .cookie-banner,
  .age-gate,
  button:not(.print-keep),
  .no-print {
    display: none !important;
  }

  /* Reset page */
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Full width content */
  main,
  .container,
  [class*="max-w-"] {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 0.5in !important;
    margin: 0 !important;
  }

  /* Clean cards */
  .card,
  [class*="rounded-"] {
    background: #fff !important;
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    break-inside: avoid !important;
  }

  /* Readable text */
  * {
    color: #000 !important;
    background: transparent !important;
    text-shadow: none !important;
  }

  /* Show URLs for links */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #666 !important;
  }
  a[href^="/"]::after,
  a[href="#"]::after,
  a[href=""]::after {
    content: none;
  }

  /* Tables */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 10pt !important;
  }
  th {
    text-align: left !important;
    border-bottom: 2px solid #000 !important;
    padding: 6pt 8pt !important;
    font-weight: bold !important;
  }
  td {
    border-bottom: 1px solid #ccc !important;
    padding: 6pt 8pt !important;
  }

  /* Page breaks */
  h1, h2, h3, h4 {
    break-after: avoid !important;
  }
  .print-page-break {
    break-before: page !important;
  }

  /* Expand collapsed content */
  .hidden {
    display: block !important;
  }

  /* Hide decorative elements */
  svg:not([role="img"]) {
    display: none !important;
  }

  /* Fix layout containers */
  .grid {
    display: block !important;
  }
  .grid > * {
    margin-bottom: 12pt !important;
  }
  .flex {
    display: block !important;
  }
  .sticky, .fixed {
    position: static !important;
  }

  /* Order confirmation specific */
  .order-header {
    margin-bottom: 24pt !important;
  }
  .order-number {
    font-size: 16pt !important;
    font-weight: bold !important;
  }
}
