/**
 * korbt.kimlik - Precision A4 Print Stylesheet
 * Optimized for ISO/IEC 7810 CR80 Card Production
 */

/* Crop Marks for precision cutting */
.crop-container {
  position: relative;
  display: inline-block;
}

.crop-mark {
  position: absolute;
  width: 5mm;
  height: 5mm;
  pointer-events: none;
}

.crop-mark.top-left {
  top: -3mm;
  left: -3mm;
  border-top: 0.5pt solid #94a3b8;
  border-left: 0.5pt solid #94a3b8;
}

.crop-mark.top-right {
  top: -3mm;
  right: -3mm;
  border-top: 0.5pt solid #94a3b8;
  border-right: 0.5pt solid #94a3b8;
}

.crop-mark.bottom-left {
  bottom: -3mm;
  left: -3mm;
  border-bottom: 0.5pt solid #94a3b8;
  border-left: 0.5pt solid #94a3b8;
}

.crop-mark.bottom-right {
  bottom: -3mm;
  right: -3mm;
  border-bottom: 0.5pt solid #94a3b8;
  border-right: 0.5pt solid #94a3b8;
}

/* Foldable Pair Styling */
.foldable-card-pair {
  display: flex;
  align-items: center;
  border: 1px dashed #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  padding: 1.5mm;
  position: relative;
  page-break-inside: avoid;
  break-inside: avoid;
}

.fold-crease-line {
  width: 1px;
  height: 100%;
  border-left: 1px dashed #ef4444;
  margin: 0 2mm;
  position: relative;
}

.fold-crease-line::after {
  content: '✂ KATLA';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  font-size: 6pt;
  color: #ef4444;
  background: #ffffff;
  padding: 2px 4px;
  white-space: nowrap;
  font-weight: bold;
}

/* Print Container Grid */
#print-container {
  display: none;
}

/* A4 Sheet Container */
.print-page {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  box-sizing: border-box;
  background: #ffffff;
  position: relative;
  page-break-after: always;
  break-after: page;
}

/* 8-Up Grid on A4 (2 columns x 4 rows) */
.print-grid-8 {
  display: grid;
  grid-template-columns: repeat(2, 85.6mm);
  grid-auto-rows: 53.98mm;
  gap: 6mm 10mm;
  justify-content: center;
  align-content: center;
  padding: 12mm 10mm;
}

/* Foldable Grid (2 pairs per row or 1 pair centered) */
.print-grid-foldable {
  display: flex;
  flex-direction: column;
  gap: 8mm;
  align-items: center;
  justify-content: center;
  padding: 12mm 10mm;
}

/* ============================================================= */
/* @media print                                                  */
/* ============================================================= */
@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide entire application UI */
  header.app-navbar,
  aside.app-sidebar,
  .no-print,
  .app-preview-panel,
  .app-table-panel,
  .modal-overlay,
  .toast-container {
    display: none !important;
  }

  /* Show only the print container */
  #print-container {
    display: block !important;
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .print-page {
    width: 210mm !important;
    height: 297mm !important;
    page-break-after: always !important;
    break-after: page !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: hidden !important;
  }

  /* Ensure card exact millimeter sizing */
  .cr80-card {
    box-shadow: none !important;
    border: 0.3pt solid #e2e8f0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .cr80-card *,
  .photo-frame,
  .qr-svg-wrapper,
  .header-logo-left,
  .header-logo-right,
  .back-logo-circle,
  .back-logo-right-circle {
    box-shadow: none !important;
    filter: none !important;
  }

  .cr80-card.horizontal {
    width: 85.60mm !important;
    height: 53.98mm !important;
  }
}
