/* Print Styles for ClubLogic */
@media print {
  /* Reset and base styles */
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    font-family: 'Times New Roman', serif;
    font-size: 12pt;
    line-height: 1.4;
    color: #000;
    background: #fff;
    margin: 0;
    padding: 0;
  }

  /* Hide non-essential elements */
  nav,
  .navigation,
  .sidebar,
  .footer,
  .no-print,
  button,
  .btn,
  .cta,
  .social-links,
  .video,
  .animation,
  .interactive {
    display: none !important;
  }

  /* Page layout */
  .page {
    width: 100%;
    margin: 0;
    padding: 20mm;
    box-shadow: none;
  }

  /* Header with logo */
  .print-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2pt solid #000;
    padding-bottom: 10pt;
    margin-bottom: 20pt;
  }

  .print-logo {
    height: 40pt;
    width: auto;
  }

  .print-title {
    font-size: 18pt;
    font-weight: bold;
    color: #000;
  }

  .print-date {
    font-size: 10pt;
    color: #666;
  }

  /* Content styles */
  h1 {
    font-size: 18pt;
    font-weight: bold;
    margin: 20pt 0 10pt 0;
    color: #000;
    page-break-after: avoid;
  }

  h2 {
    font-size: 16pt;
    font-weight: bold;
    margin: 16pt 0 8pt 0;
    color: #000;
    page-break-after: avoid;
  }

  h3 {
    font-size: 14pt;
    font-weight: bold;
    margin: 12pt 0 6pt 0;
    color: #000;
    page-break-after: avoid;
  }

  p {
    margin: 0 0 8pt 0;
    orphans: 3;
    widows: 3;
  }

  /* Tables */
  table {
    width: 100%;
    border-collapse: collapse;
    margin: 10pt 0;
    page-break-inside: avoid;
  }

  th,
  td {
    border: 1pt solid #000;
    padding: 4pt 6pt;
    text-align: left;
    vertical-align: top;
  }

  th {
    background-color: #f0f0f0;
    font-weight: bold;
  }

  /* Lists */
  ul,
  ol {
    margin: 8pt 0;
    padding-left: 20pt;
  }

  li {
    margin: 2pt 0;
  }

  /* Links */
  a {
    color: #000;
    text-decoration: underline;
  }

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

  /* Images */
  img {
    max-width: 100%;
    height: auto;
    page-break-inside: avoid;
  }

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

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

  /* Footer */
  .print-footer {
    position: fixed;
    bottom: 10mm;
    left: 20mm;
    right: 20mm;
    border-top: 1pt solid #ccc;
    padding-top: 5pt;
    font-size: 9pt;
    color: #666;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .print-footer .logo {
    height: 15pt;
    width: auto;
    opacity: 0.7;
  }

  /* Page numbers */
  @page {
    margin: 20mm;
    size: A4;

    @top-right {
      content: 'Page ' counter(page) ' of ' counter(pages);
      font-size: 9pt;
      color: #666;
    }
  }

  /* Specific component styles */
  .invoice-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20pt;
  }

  .invoice-logo {
    height: 50pt;
    width: auto;
  }

  .invoice-details {
    text-align: right;
  }

  .invoice-number {
    font-size: 14pt;
    font-weight: bold;
    margin-bottom: 5pt;
  }

  .invoice-date {
    font-size: 10pt;
    color: #666;
  }

  /* Report styles */
  .report-header {
    text-align: center;
    margin-bottom: 30pt;
    page-break-after: avoid;
  }

  .report-logo {
    height: 60pt;
    width: auto;
    margin-bottom: 10pt;
  }

  .report-title {
    font-size: 20pt;
    font-weight: bold;
    margin-bottom: 5pt;
  }

  .report-subtitle {
    font-size: 12pt;
    color: #666;
  }

  /* Certificate styles */
  .certificate {
    text-align: center;
    padding: 40pt;
    border: 3pt solid #000;
    margin: 20pt 0;
    page-break-inside: avoid;
  }

  .certificate-logo {
    height: 80pt;
    width: auto;
    margin-bottom: 20pt;
  }

  .certificate-title {
    font-size: 24pt;
    font-weight: bold;
    margin-bottom: 20pt;
    text-transform: uppercase;
    letter-spacing: 2pt;
  }

  .certificate-text {
    font-size: 14pt;
    line-height: 1.6;
    margin-bottom: 30pt;
  }

  .certificate-signature {
    display: flex;
    justify-content: space-between;
    margin-top: 40pt;
    border-top: 1pt solid #000;
    padding-top: 10pt;
  }

  /* Utility classes */
  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .font-bold {
    font-weight: bold;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .border-bottom {
    border-bottom: 1pt solid #000;
    padding-bottom: 5pt;
    margin-bottom: 10pt;
  }

  /* Hide interactive elements */
  .hover\:opacity-80,
  .transition-opacity,
  .animate-pulse,
  .animate-bounce,
  .animate-spin {
    animation: none !important;
    transition: none !important;
  }
}
