@page {
  size: A4 portrait;
  margin: 10mm 12mm 11mm;
}

* {
  box-sizing: border-box;
}

html,
body {
  background: #fff !important;
}

body {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9.6pt;
  line-height: 1.22;
}

/* -------------------------------------------------------------------------- */
/* Interaktive Bestandteile ausblenden                                        */
/* -------------------------------------------------------------------------- */

.screen-header,
.booking-form,
footer,
script,
button,
input,
select,
.slot,
#slots,
#status,
#successOverlay {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Druckkopf                                                                  */
/* -------------------------------------------------------------------------- */

.print-header {
  display: flex !important;
  align-items: center;
  gap: 6mm;
  min-height: 17mm;
  margin: 0 0 5mm;
  padding: 0 0 3mm;
  border-bottom: 0.6pt solid #666;
}

.print-logo {
  display: block;
  flex: 0 0 auto;
  width: 22mm;
  max-height: 15mm;
  object-fit: contain;
  object-position: left center;
}

.print-institution {
  flex: 1;
  min-width: 0;
}

.print-institution-name {
  margin: 0;
  font-size: 13.5pt;
  font-weight: 700;
  line-height: 1.05;
}

.print-institution-role {
  margin-top: 1mm;
  color: #444;
  font-size: 9pt;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.05;
}

/* -------------------------------------------------------------------------- */
/* Inhalt                                                                     */
/* -------------------------------------------------------------------------- */

main {
  display: block !important;
}

h1 {
  margin: 0 0 3mm;
  font-size: 16pt;
  line-height: 1.08;
}

h2 {
  margin: 0 0 1.5mm;
  font-size: 11.5pt;
  line-height: 1.1;
}

p {
  max-width: none !important;
  margin: 0 0 1.7mm;
}

ul {
  margin: 1mm 0 1.8mm 5mm;
  padding-left: 4mm;
}

li {
  margin: 0 0 0.5mm;
  padding: 0;
}

/* -------------------------------------------------------------------------- */
/* Informationskästen                                                        */
/* -------------------------------------------------------------------------- */

.box {
  break-inside: avoid;
  page-break-inside: avoid;
  margin: 0 0 3mm !important;
  padding: 3mm 3.8mm !important;
  background: #fff !important;
  color: #000 !important;
  border: 0.45pt solid #888 !important;
}

.box:last-of-type {
  margin-bottom: 3mm !important;
}

.important {
  margin: 1.5mm 0 0 !important;
  padding: 1.5mm 0 1.5mm 3mm !important;
  border-left: 1.6pt solid #555 !important;
}

/* -------------------------------------------------------------------------- */
/* QR-Bereich                                                                 */
/* -------------------------------------------------------------------------- */

.print-booking-link {
  display: flex !important;
  align-items: center;
  gap: 6mm;
  break-inside: avoid;
  page-break-inside: avoid;
  margin: 0;
  padding: 3.5mm;
  border: 0.7pt solid #666;
}

.print-qr {
  flex: 0 0 30mm;
  width: 30mm;
  height: 30mm;
}

.print-qr img {
  display: block;
  width: 30mm;
  height: 30mm;
  object-fit: contain;
}

.print-booking-text {
  flex: 1;
  min-width: 0;
}

.print-booking-text h2 {
  margin: 0 0 1.2mm;
  font-size: 12pt;
}

.print-booking-text p {
  margin-bottom: 1.2mm;
}

.print-url {
  margin: 1.5mm 0 0 !important;
  font-family: "Courier New", Courier, monospace;
  font-size: 8pt;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

/* -------------------------------------------------------------------------- */
/* Links                                                                      */
/* -------------------------------------------------------------------------- */

a,
a:visited {
  color: #000 !important;
  text-decoration: none !important;
}

a[href]::after {
  content: none !important;
}

/* -------------------------------------------------------------------------- */
/* Zusätzliche Verdichtung                                                    */
/* -------------------------------------------------------------------------- */

strong {
  font-weight: 700;
}

section {
  orphans: 2;
  widows: 2;
}