.menu-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 1.5rem;
  width: min(1100px, 92%);
}
.menu-switch {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.menu-switch a {
  text-decoration: none;
  border: 3px solid #000;
  padding: .4rem .75rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .05em;
  background: #fff;
}
.menu-switch a.is-on { background: var(--yellow); }

.loc-select,
.filter-toggle,
.loc-static {
  border: 3px solid #000;
  background: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .55rem .8rem;
  box-shadow: var(--shadow-sm);
}
.loc-static {
  display: inline-flex;
  align-items: center;
  background: var(--cream);
}
.menu-toolbar__tools {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.filters {
  width: min(1100px, 92%);
  margin: 0 auto 2rem;
  background: #fff;
  border: 3px solid #000;
  box-shadow: var(--shadow);
  padding: 1.2rem 1.3rem 1.4rem;
}
.filters[hidden] { display: none !important; }
.filters-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}
.filters h3 {
  font-family: var(--display);
  font-size: 1.6rem;
  margin: 0 0 .6rem;
  letter-spacing: .04em;
}
.chip-row { display: flex; flex-wrap: wrap; gap: .45rem; }
.chip-row label {
  border: 2.5px solid #000;
  padding: .35rem .65rem;
  font-weight: 700;
  font-size: .85rem;
  cursor: pointer;
  background: var(--cream);
}
.chip-row input { accent-color: var(--orange); margin-right: .3rem; }
.chip-row label:has(input:checked) { background: var(--yellow); }

.menu-section {
  width: min(860px, 92%);
  margin: 0 auto 2.6rem;
}
.menu-section h2 {
  font-family: var(--display);
  font-size: var(--title-size);
  margin: 0 0 .35rem;
}
.menu-section .sec-lede { margin: 0 0 1.1rem; color: var(--muted); }

.dish {
  display: block;
  padding: .85rem 0;
  border-bottom: 2px solid rgba(0,0,0,.12);
}
.dish[hidden] { display: none !important; }
.dish h3 {
  margin: 0;
  font-size: 1.12rem;
}
.dish p { margin: .2rem 0 0; color: var(--muted); font-size: .95rem; }
.tags { display: flex; gap: .3rem; flex-wrap: wrap; margin-top: .35rem; }
.tag {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1.5px solid #000;
  padding: .1rem .35rem;
  background: var(--cream-2);
}

.allergen-note {
  width: min(860px, 92%);
  margin: var(--section-y) auto;
  font-size: .92rem;
  color: var(--muted);
}

@media (max-width: 640px) {
  .filters-grid { grid-template-columns: 1fr; }
  .menu-toolbar { gap: .65rem; }
  .menu-toolbar__tools { width: 100%; }
  .loc-select, .filter-toggle, .loc-static { flex: 1; justify-content: center; }
}
