[data-export-allergenes] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #6d1f1f;
  color: #fff;
  border: 1px solid #a57663;
  border-radius: 9px;
  padding: 8px 12px;
  font: inherit;
  cursor: pointer;
}
[data-export-allergenes]:hover { background: #8a2a2a; }

@page { size: A4 landscape; margin: 12mm; }
@media print {
  html, body { background: #fff; color: #21170f; }
  main { max-width: none; padding: 0; }
  header { background: #fff; color: #21170f; padding: 0 0 4mm; border: 0; margin: 0 0 5mm; }
  header .ma-logo { width: 15mm; height: 15mm; }
  h1 { font-size: 22pt; }
  h2, .subtitle, .year { color: #5e1b1b; }
  nav, .document-links, footer { display: none; }
  section + section { margin-top: 8mm; }
  .table-scroll { overflow: visible; border: 0; border-radius: 0; }
  .matrix { min-width: 0; width: 100%; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .matrix .dish-col { width: 40%; }
  .matrix thead { display: table-header-group; }
  .matrix tr { break-inside: avoid; }
  .matrix .band { break-after: avoid; }
  .matrix thead img { width: 6mm; height: 6mm; }
  .matrix thead th, .matrix th[scope="row"] { position: static; font-size: 9pt; }
  .matrix tbody th[scope="row"] { padding: 1mm; }
  .matrix td { height: 5mm; }
  .ma-notice { display: block; }
  .ma-notice details { background: #fff; border: 1px solid #d4c3a7; padding: 2mm; margin: 0 0 2mm; break-inside: avoid; }
  .ma-notice summary, .ma-notice p { color: #21170f; }
  .ma-notice summary { list-style: none; font-weight: bold; }
  .ma-notice summary::-webkit-details-marker { display: none; }
}
