@page {
  size: A4;
  margin: 15mm 20mm;
}

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    box-shadow: none !important;
    color: #000 !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

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

  .public-menu {
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .public-menu nav,
  .public-menu__disclaimer {
    display: none !important;
  }

  .public-menu__header {
    border-bottom: 1px solid #000 !important;
    margin-bottom: 8mm !important;
    padding-bottom: 6mm !important;
    text-align: center !important;
  }

  .public-menu__header h1 {
    font-size: 22pt !important;
    margin: 3mm 0 !important;
  }

  .public-menu__meta {
    border: 0 !important;
    display: block !important;
    margin-bottom: 8mm !important;
    text-align: center !important;
  }

  .public-menu__category {
    border-top: 1px solid #000 !important;
    break-inside: avoid;
    margin-top: 8mm !important;
    page-break-inside: avoid;
    padding-top: 4mm !important;
  }

  .public-menu__category h2 {
    font-size: 15pt !important;
    margin: 0 0 4mm !important;
  }

  .public-menu__item {
    align-items: baseline !important;
    border: 0 !important;
    display: grid !important;
    gap: 5mm !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 0 0 4mm !important;
  }

  .public-menu__item h3,
  .public-menu__item p {
    margin: 0 !important;
  }

  .public-menu__item p,
  .public-menu__allergens {
    font-size: 9pt !important;
  }

  .public-menu__badge {
    border: 1px solid #000 !important;
  }
}
