/* Root: break any grid coming from card layout */
#menu.lunch-root {
  display: block !important;                /* kill grid behavior */
  grid-template-columns: none !important;
  padding: 16px;
  margin: 0 auto 90px;
}

/* Inner wrap centered & wide on desktop */
#menu.lunch-root .lunch-wrap {
  max-width: 980px;                         /* widen the column */
  margin: 0 auto;
}

/* Title row */
#menu.lunch-root .lunch-title-row {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--accent-light);
  padding-bottom: 8px;
}
#menu.lunch-root .lunch-title { 
  font-size: 28px; font-weight: 800; color: #1f5a41; margin: 0; 
}
#menu.lunch-root .lunch-date { color: var(--muted); font-weight: 600; }
#menu.lunch-root .lunch-stale { color: #cc3045; font-weight: 700; }

/* Sections: full width blocks */
#menu.lunch-root .lunch-section {
  width: 100%;
  background: #fff;
  border: 1px solid #e7efe9;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,.05);
  padding: 14px 16px;
  margin: 12px 0;
}

/* Section title + list */
#menu.lunch-root .lunch-sec-title {
  font-size: 18px; font-weight: 800; color: #214f3b; margin: 2px 0 8px;
}
#menu.lunch-root .lunch-list { list-style: disc inside; margin: 0; padding: 0; }
#menu.lunch-root .lunch-list li { margin: 4px 0; color: #274c3a; }

/* Mobile tweaks */
@media (max-width: 900px) {
  #menu.lunch-root .lunch-wrap { max-width: 700px; }
  #menu.lunch-root .lunch-title { font-size: 24px; }
}
@media (max-width: 600px) {
  #menu.lunch-root { padding: 12px 10px; }
  #menu.lunch-root .lunch-wrap { max-width: 100%; }
}