:root { --footer-height: 120px; --footer-gap: 16px; }
body.has-fixed-footer { padding-bottom: calc(var(--footer-height) + var(--footer-gap)); }


body.has-fixed-footer {
  padding-bottom: calc(var(--footer-height) + var(--footer-gap));
}

/* number input: schovat spinner šipky */
.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-spinner {
    -moz-appearance: textfield; /* Firefox */
}

.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-spinner {
    -moz-appearance: textfield;
}

#print-menu {
  display: none;
}

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

@media print {
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
  }

  body {
    background: #ffffff;
    color: #111111;
    font-size: 12px;
  }

  header,
  footer,
  body > header,
  body > footer,
  body > nav,
  body > aside,
  main > * {
    display: none !important;
  }

  main > #print-menu {
    display: block !important;
  }

  #print-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    font-family: Arial, Helvetica, sans-serif;
    color: #000000;
    font-size: 13.5px;
    line-height: 1.35;
  }

  #print-menu .days-container {
    display: block !important;
    min-height: 0;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  #print-menu .print-header {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4mm;
  }

  #print-menu .print-header h2 {
    margin: 0;
    font-size: inherit;
    font-weight: 700;
    text-align: left;
  }

  #print-menu .day-block {
    break-inside: avoid;
    page-break-inside: avoid;
    margin: 0;
    padding: 0;
  }

  #print-menu .day-block:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  #print-menu .day-block + .day-block {
    border-top: 1px solid #111111;
    margin-top: 3mm;
    padding-top: 2.5mm;
  }

  #print-menu .day-title {
    margin: 1mm 0 2mm 0;
    font-size: 16px;
    font-weight: 700;
  }

  #print-menu .day-menu-table {
    width: 100%;
    border-collapse: collapse;
  }

  #print-menu .day-menu-list {
    padding-left: 4mm;
  }

  #print-menu .menu-row td {
    font-size: 13.5px;
    line-height: 1.15;
    padding: 1mm 0;
    vertical-align: top;
  }

  #print-menu .col-label {
    width: 22mm;
    font-weight: 700;
    white-space: nowrap;
    font-size: 13.5px;
  }

  #print-menu .col-name {
    min-height: 1em;
    font-size: 13.5px;
    padding-right: 4mm;
  }

  #print-menu .col-allergens {
    width: 26mm;
    min-height: 1em;
    font-size: 12px;
    font-weight: 700;
    color: #333333;
    text-align: right;
    white-space: nowrap;
  }

  .no-print,
  a[href^="tel:"],
  a[href^="mailto:"] {
    display: none !important;
  }

  a[href]:after,
  a[href^="http"]:after {
    content: "" !important;
  }
}
