/* ==========================================
   CSS für Etikettendruck (Zweckform / Avery)
   ========================================== */

/* Gemeinsame Layout-Definitionen */
.a4355page {
  box-sizing: border-box;
}

/* --- FORMAT 1: Avery Zweckform J4773-10 (63.5 x 33.9 mm, mit Rand/Spalt) --- */
.print_label {
  width: 63.5mm;
  height: 33.85mm;
  float: left;
  box-sizing: border-box;
  margin-right: 2.5mm;
  margin-bottom: 0;
  padding: 3.5mm;
  overflow: hidden;
  border-radius: 2mm;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 3.8mm;
  line-height: 1.3;
}

.print_label:nth-of-type(3n) {
  margin-right: 0 !important;
}

/* Inneres Tabellen-Layout für QR-Code-Etiketten */
.print_label table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  border: none;
  table-layout: fixed;
}

.print_label td {
  padding: 0;
  vertical-align: top;
}

.print_label td.leftcolumn {
  vertical-align: middle;
  padding-right: 2mm;
  word-wrap: break-word;
}

.print_label td.rightcolumn {
  width: 70px;
  text-align: right;
  vertical-align: top;
}

.print_label td.rightcolumn img {
  width: 70px;
  height: 70px;
  display: block;
}

/* --- FORMAT 2: Standard 24er Bögen randlos (70 x 37 mm, ohne Spalt) --- */
.print_label2 {
  width: 70mm;
  height: 37mm;
  float: left;
  box-sizing: border-box;
  margin-right: 0;
  margin-bottom: 0;
  padding: 4mm 5mm;
  overflow: hidden;
  border-radius: 2mm;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 4.2mm;
  line-height: 1.3;
}

.print_label2:nth-of-type(3n) {
  /* Verwende float: right für das letzte Element jeder Zeile,
     um Rundungsfehler im Browser auszugleichen. */
  float: right !important;
}

/* Kleine ID / Zusatztext */
.id_text {
  font-size: 2.8mm;
  color: #555;
  margin-top: 1.5mm;
  margin-bottom: 0;
}

/* ==========================================
   CSS für Bildschirm-Vorschau (Screen)
   ========================================= */
@media screen {
  body {
    background-color: #f0f2f5 !important;
  }
  
  /* Layout-Vorschau für J4773 (mit Rand) */
  .a4355page:has(.print_label) {
    width: 210mm;
    min-height: 297mm;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    margin: 20px auto;
    padding: 13.1mm 7.2mm;
    box-sizing: border-box;
    position: relative;
    border-radius: 4px;
    overflow: hidden; 
  }

  /* Layout-Vorschau für randlose 24er Bögen */
  .a4355page:has(.print_label2) {
    width: 210mm;
    min-height: 297mm;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    margin: 20px auto;
    padding: 0.5mm 0mm;
    box-sizing: border-box;
    position: relative;
    border-radius: 4px;
    overflow: hidden; 
  }

  /* Spacing-Elemente auf dem Bildschirm verbergen, da der Container padding nutzt */
  .a4355page .topmarginfirst, 
  .a4355page .topmargin, 
  .a4355page .leftmargin {
    display: none !important;
  }

  /* Gestrichelte Vorschau-Rahmen für Etiketten auf dem Bildschirm */
  .print_label, .print_label2 {
    border: 1px dashed #ccc;
    background: #fafafa;
  }
}

/* ==========================================
   CSS für den Druck (Print)
   ========================================= */
@media print {
  /* Globale Druckeinstellungen: Seitengröße festlegen, Ränder auf 0 setzen */
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  /* Verberge Standard-AppGini-Elemente beim Drucken */
  .hidden-print,
  nav,
  header,
  footer,
  .navbar,
  form[name="viewselector"],
  .users-area > *:not(.a4355page) {
    display: none !important;
  }

  .users-area {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    box-shadow: none !important;
  }

  /* Margins für J4773 Etiketten über Container-Padding simulieren */
  .a4355page:has(.print_label) {
    width: 210mm;
    height: 297mm;
    padding-top: 13.1mm !important;
    padding-bottom: 13.1mm !important;
    padding-left: 7.2mm !important;
    padding-right: 7.2mm !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible;
  }

  /* Margins für randlose 24er Etiketten über Container-Padding simulieren */
  .a4355page:has(.print_label2) {
    width: 210mm;
    height: 297mm;
    padding-top: 0.5mm !important;
    padding-bottom: 0.5mm !important;
    padding-left: 0mm !important;
    padding-right: 0mm !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible;
  }

  /* Keine Rahmen beim Drucken */
  .print_label, .print_label2 {
    border: none !important;
    background: transparent !important;
  }

  /* PHP-Spacer behandeln */
  .a4355page .topmarginfirst, 
  .a4355page .leftmargin {
    display: none !important;
  }

  .a4355page .topmargin {
    clear: both;
    width: 100%;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    page-break-before: always;
    break-before: page;
  }
}