.bl-web-lunch {
  --bl-lunch-red:#D9000D;
  --bl-lunch-black:#000000;
  --bl-lunch-white:#FFFFFF;
  --bl-lunch-grey:#F3F3F3;
  --bl-lunch-border:#DEDEDE;
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
  background:var(--bl-lunch-white);
  color:var(--bl-lunch-black);
  border:1px solid var(--bl-lunch-border);
  border-radius:18px;
  font-family:"DM Sans", Arial, Helvetica, sans-serif;
}
.bl-web-lunch *, .bl-web-lunch *::before, .bl-web-lunch *::after { box-sizing:border-box; }
.bl-web-lunch-header {
  position:relative;
  padding:28px 32px 26px;
  background:var(--bl-lunch-black);
  color:var(--bl-lunch-white);
  border-bottom:6px solid var(--bl-lunch-red);
}
.bl-web-lunch-header::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:var(--bl-lunch-red);
}
.bl-web-lunch-header h2 {
  margin:0;
  color:var(--bl-lunch-white);
  font:800 clamp(28px, 4vw, 48px)/1.04 "DM Sans", Arial, Helvetica, sans-serif;
  letter-spacing:-.035em;
  text-transform:none;
}
.bl-web-lunch-week {
  margin-top:10px;
  color:#D7D7D7;
  font-size:16px;
  font-weight:700;
}
.bl-web-lunch-days { padding:6px 32px 0; }
.bl-web-lunch-day { padding:24px 0; border-bottom:1px solid var(--bl-lunch-border); }
.bl-web-lunch-day:last-child { border-bottom:0; }
.bl-web-lunch-day-head {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 12px;
  margin-bottom:13px;
}
.bl-web-lunch-day-head h3 {
  margin:0;
  color:var(--bl-lunch-black);
  font:850 clamp(22px, 2.6vw, 30px)/1.1 "DM Sans", Arial, Helvetica, sans-serif;
  letter-spacing:-.02em;
}
.bl-web-lunch-day-date { color:#686868; font-size:17px; font-weight:800; }
.bl-web-lunch-holiday {
  padding:4px 8px;
  border-radius:999px;
  background:var(--bl-lunch-grey);
  color:#555;
  font-size:13px;
  font-weight:800;
}
.bl-web-lunch-items { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.bl-web-lunch-item {
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin:0;
  padding:2px 0 2px 15px;
}
.bl-web-lunch-item::before {
  content:"";
  position:absolute;
  left:0;
  top:.45em;
  width:5px;
  height:1.05em;
  border-radius:99px;
  background:var(--bl-lunch-red);
}
.bl-web-lunch-dish { flex:1 1 auto; min-width:0; font-size:18px; line-height:1.4; font-weight:700; }
.bl-web-lunch-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; flex:0 0 auto; margin-left:14px; }
.bl-web-lunch-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  min-height:30px;
  padding:2px 8px;
  border:2px solid var(--bl-lunch-red);
  border-radius:999px;
  color:var(--bl-lunch-red);
  background:#fff;
  font-size:13px;
  line-height:1;
  font-weight:900;
}
.bl-web-lunch-closed { padding:8px 15px; border-left:5px solid var(--bl-lunch-red); font-size:18px; font-weight:800; }
.bl-web-lunch-info {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:22px 32px 24px;
  background:var(--bl-lunch-grey);
  border-top:1px solid var(--bl-lunch-border);
  text-align:center;
}
.bl-web-lunch-price-block { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 30px; font-size:17px; font-weight:700; }
.bl-web-lunch-price-block strong { color:var(--bl-lunch-red); font-size:1.12em; font-weight:900; }
.bl-web-lunch-note { max-width:980px; margin:0 auto; color:#333; font-size:15px; line-height:1.55; font-weight:650; text-align:center; }
.bl-web-lunch-actions { display:flex; justify-content:center; width:100%; margin-top:2px; }
.bl-web-lunch-print {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 20px;
  border:2px solid var(--bl-lunch-red);
  border-radius:999px;
  background:var(--bl-lunch-red);
  color:var(--bl-lunch-white) !important;
  text-decoration:none !important;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  transition:background-color .15s ease,color .15s ease;
}
.bl-web-lunch-print:hover, .bl-web-lunch-print:focus-visible {
  background:var(--bl-lunch-black);
  border-color:var(--bl-lunch-black);
  color:var(--bl-lunch-white) !important;
}
.bl-web-lunch-legend {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px 9px;
  padding:16px 24px;
  background:var(--bl-lunch-black);
  color:var(--bl-lunch-white);
  font-size:13px;
  line-height:1.5;
}
.bl-web-lunch-legend strong { color:var(--bl-lunch-white); }
.bl-web-lunch-legend-separator { color:var(--bl-lunch-red); font-weight:900; }
.bl-web-lunch-message { padding:28px 32px; font-size:17px; font-weight:700; }
.bl-web-lunch--empty { border-left:6px solid var(--bl-lunch-red); }

@media (max-width:700px) {
  .bl-web-lunch { border-radius:12px; }
  .bl-web-lunch-header { padding:23px 20px 21px; }
  .bl-web-lunch-days { padding:2px 20px 0; }
  .bl-web-lunch-day { padding:20px 0; }
  .bl-web-lunch-item { display:block; padding-left:14px; }
  .bl-web-lunch-badges { justify-content:flex-start; margin-top:7px; }
  .bl-web-lunch-info { padding:20px; }
  .bl-web-lunch-price-block { justify-content:center; }
  .bl-web-lunch-note { font-size:14px; }
  .bl-web-lunch-legend { justify-content:flex-start; padding:15px 20px; }
}
