﻿/* Print Stylesheet for Bingo 75 Cards */
@page {
  size: A4 portrait;
  margin: 6mm 6mm;
}

@media print {
  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide interactive elements */
  .no-print,
  .app-header,
  .gen-controls-card,
  .nav-tabs,
  #confetti-canvas,
  .main-content > div:not(#tab-generator),
  #tab-generator .gen-controls-card,
  .preview-wrapper > h3 {
    display: none !important;
  }

  /* Reset wrappers */
  .main-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .preview-wrapper {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #cards-print-container {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Print Page definition */
  .print-page {
    width: 100% !important;
    max-width: 100% !important;
    height: 282mm !important;
    min-height: 282mm !important;
    max-height: 282mm !important;
    margin: 0 !important;
    padding: 2mm !important;
    box-sizing: border-box !important;
    display: grid !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    page-break-after: always !important;
    break-after: page !important;
  }

  /* Layout 2 cards per A4 page */
  .print-page.layout-2 {
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(2, 1fr) !important;
    gap: 8mm !important;
  }
  .print-page.layout-2 .bingo-cell {
    font-size: 28pt !important;
  }
  .print-page.layout-2 .brand-title {
    font-size: 18pt !important;
  }
  .print-page.layout-2 .bingo-table-header {
    font-size: 22pt !important;
  }

  /* Layout 4 cards per A4 page (Standard) */
  .print-page.layout-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
    gap: 6mm !important;
  }
  .print-page.layout-4 .bingo-cell {
    font-size: 19pt !important;
  }
  .print-page.layout-4 .brand-title {
    font-size: 13pt !important;
  }
  .print-page.layout-4 .bingo-table-header {
    font-size: 16pt !important;
  }

  /* Layout 6 cards per A4 page */
  .print-page.layout-6 {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(3, 1fr) !important;
    gap: 4mm !important;
  }
  .print-page.layout-6 .bingo-cell {
    font-size: 14pt !important;
  }
  .print-page.layout-6 .brand-title {
    font-size: 10pt !important;
  }
  .print-page.layout-6 .bingo-table-header {
    font-size: 13pt !important;
  }

  /* Card Styles on paper */
  .bingo-print-card {
    border: 2.5pt solid #000000 !important;
    border-radius: 6pt !important;
    background: #ffffff !important;
    padding: 6pt 8pt !important;
    box-shadow: none !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .card-header {
    border-bottom: 1pt solid #475569 !important;
  }

  .card-badge {
    background: #000000 !important;
    color: #ffffff !important;
    border: 1pt solid #000000 !important;
  }

  .bingo-table {
    border: 2pt solid #000000 !important;
  }

  .bingo-cell {
    border: 1pt solid #64748b !important;
    color: #000000 !important;
  }

  .card-footer {
    color: #334155 !important;
    border-top: 1px dashed #94a3b8 !important;
    padding-top: 3pt !important;
  }
}