:root{
  --bl-red:#D9000D;
  --bl-black:#000000;
  --bl-white:#FFFFFF;
  --bl-grey:#F1F1F1;
  --bl-line:#D8D8D8;
  --bl-muted:#666666;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
.bl-lunch-print-body{
  background:#e7e7e7;
  color:var(--bl-black);
  font-family:"DM Sans",Arial,Helvetica,sans-serif;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.bl-print-controls{
  display:flex;
  justify-content:center;
  gap:10px;
  padding:16px;
}
.bl-print-button{
  appearance:none;
  border:1px solid #aaa;
  border-radius:7px;
  background:#fff;
  color:#111;
  padding:11px 16px;
  font:800 15px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.bl-print-button.primary{background:var(--bl-red);border-color:var(--bl-red);color:#fff}
.bl-print-page{
  width:210mm;
  min-height:297mm;
  margin:0 auto 28px;
  padding:10mm 11mm 9mm;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:0 6px 24px rgba(0,0,0,.14);
}
.bl-print-header{
  padding-bottom:4.5mm;
  border-bottom:1.5mm solid var(--bl-red);
}
.bl-print-brand-row{
  min-height:20mm;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10mm;
}
.bl-print-brand{
  display:flex;
  align-items:center;
  min-width:50mm;
  max-width:83mm;
  min-height:12mm;
  padding:0;
  background:transparent;
}
.bl-print-brand img{display:block;max-width:100%;max-height:13mm;width:auto;height:auto;object-fit:contain;object-position:left center}
.bl-print-brand strong{color:var(--bl-black);font-size:18pt;font-weight:900;font-style:italic;letter-spacing:.02em}
.bl-print-meta{text-align:right}
.bl-print-location{font-size:16pt;line-height:1.05;font-weight:900;letter-spacing:-.02em}
.bl-print-type{margin-top:1.5mm;color:var(--bl-red);font-size:9.5pt;line-height:1;font-weight:900;letter-spacing:.14em}
.bl-print-week{margin-top:3mm;color:#444;font-size:9.5pt;font-weight:800}
.bl-print-days{padding-top:2mm;flex:1 1 auto}
.bl-print-day{
  padding:3.2mm 0 3.1mm;
  border-bottom:.3mm solid var(--bl-line);
  break-inside:avoid;
  page-break-inside:avoid;
}
.bl-print-day:last-child{border-bottom:0}
.bl-print-day-head{display:flex;align-items:baseline;gap:3mm;margin-bottom:1.8mm}
.bl-print-day-head h2{margin:0;font-size:13.5pt;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.bl-print-day-date{color:var(--bl-muted);font-size:9.5pt;font-weight:800}
.bl-print-holiday{margin-left:auto;color:var(--bl-red);font-size:8.5pt;font-weight:900}
.bl-print-items{list-style:none;margin:0;padding:0;display:grid;gap:1.2mm}
.bl-print-item{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4mm;
  min-height:5.5mm;
  padding-left:4mm;
}
.bl-print-item::before{
  content:"";
  position:absolute;
  left:0;
  top:1mm;
  bottom:1mm;
  width:1.2mm;
  border-radius:9mm;
  background:var(--bl-red);
}
.bl-print-dish{font-size:10.5pt;line-height:1.18;font-weight:700}
.bl-print-badges{display:flex;align-items:center;justify-content:flex-end;gap:1.3mm;flex:0 0 auto}
.bl-print-badge{
  display:inline-block;
  color:var(--bl-red);
  background:#fff;
  font-size:8pt;
  line-height:1;
  font-weight:900;
}
.bl-print-badge + .bl-print-badge::before{content:"·";display:inline-block;margin-right:1.3mm;color:#777}
.bl-print-closed{padding:1.5mm 0 1.5mm 4mm;border-left:1.2mm solid var(--bl-red);font-size:10.5pt;font-weight:900}
.bl-print-footer{
  margin-top:3mm;
  padding-top:3.5mm;
  border-top:.7mm solid var(--bl-black);
  text-align:center;
  break-inside:avoid;
  page-break-inside:avoid;
}
.bl-print-prices{display:flex;align-items:baseline;justify-content:center;gap:10mm;font-size:11pt;font-weight:800}
.bl-print-prices strong{color:var(--bl-red);font-size:13pt;font-weight:900}
.bl-print-note{max-width:174mm;margin:2.5mm auto 0;font-size:8.1pt;line-height:1.35;font-weight:700;color:#222}
.bl-print-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1mm 2mm;margin-top:2.4mm;font-size:7.2pt;line-height:1.25;color:#333}
.bl-print-dot{color:var(--bl-red);font-weight:900}
.bl-print-site{margin-top:2.2mm;color:#555;font-size:7.6pt;font-weight:900;letter-spacing:.09em}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm;min-height:297mm;background:#fff}
  .bl-print-controls{display:none!important}
  .bl-print-page{margin:0;box-shadow:none;width:210mm;min-height:297mm}
}
@media (max-width:850px){
  .bl-print-page{width:100%;min-height:0;margin:0;padding:22px;box-shadow:none}
  .bl-print-brand-row{align-items:flex-start;flex-direction:column;gap:12px}
  .bl-print-meta{text-align:left}
}
