/* The showcase leads into a single readable menu with no hidden categories. */
.menu-section {
  padding: 76px max(32px, calc((100% - 1190px) / 2)) 34px;
  border-top: 1px solid #564628;
  background: #15120e;
  scroll-margin-top: var(--broggi-header-height);
}

.menu-intro {
  margin-bottom: 48px;
  text-align: center;
}

.eyebrow {
  color: #cbb76e;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.28em;
}

.menu-intro h2 {
  margin: 14px 0;
  font-family: "Broggi Serif", serif;
  font-size: 72px;
  font-weight: 400;
  line-height: 1;
}

.menu-intro > p:last-child {
  margin: 18px 0 0;
  color: #c6baaa;
  font-size: 15px;
}

.menu-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.menu-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 76px;
  row-gap: 0;
  grid-auto-rows: auto;
}

.menu-item {
  position: relative;
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  align-items: start;
  column-gap: 22px;
  row-gap: 0;
  padding: 26px 0 28px;
  border-top: 1px solid #514433;
}

.menu-photo {
  display: block;
  width: 148px;
  height: auto;
  border-radius: 3px;
  background: transparent;
  object-fit: contain;
}

.item-copy {
  min-width: 0;
}

.item-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  min-height: var(--menu-mobile-heading-height, 0px);
}

.item-heading h3 {
  min-width: 0;
  margin: 0;
  color: #fff2da;
  font: 400 32px/1.1 "Broggi Serif", serif;
  overflow-wrap: anywhere;
}

.item-price {
  color: #e6ce8b;
  font-size: 19px;
  white-space: nowrap;
}

.item-ingredients {
  margin: 11px 0 13px;
  min-height: var(--menu-mobile-ingredient-height, 0px);
  color: #e2dace;
  font-size: 14px;
  line-height: 1.7;
}

.item-allergens {
  margin: 0;
  color: #bfb3a4;
  font-size: 12px;
  line-height: 1.6;
}

.item-allergens strong {
  color: #dfc99c;
  font-weight: 500;
}

.menu-footnote {
  margin-top: 10px;
  padding-top: 25px;
  border-top: 1px solid #514433;
  color: #bfb3a4;
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}

  .menu-footnote p {
    margin: 0;
  }

  .menu-footnote p + p {
    margin-top: 4px;
  }

  .menu-footnote .menu-dessert-note {
    color: #dfc99c;
    font-size: 14px;
    font-weight: 500;
  }

  .menu-footnote .menu-stock-note {
    color: #928577;
    font-size: 11px;
  }

@media (max-width: 1100px) and (min-width: 701px) {
  .menu-row {
    column-gap: 36px;
  }

  .menu-item {
    grid-template-columns: 108px minmax(0, 1fr);
    column-gap: 16px;
  }

  .menu-photo {
    width: 108px;
  }
}

@media (max-width: 700px) {
  .menu-section {
    padding: 42px 20px 28px;
  }

  .menu-intro {
    margin-bottom: 30px;
  }

  .menu-intro h2 {
    font-size: 56px;
  }

  .menu-intro > p:last-child {
    font-size: 13px;
    line-height: 1.6;
  }

  .menu-row {
    grid-template-columns: 1fr;
  }

  .menu-item {
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 16px;
    padding: 24px 0;
  }

  .menu-photo {
    width: 88px;
  }

  .item-heading h3 {
    font-size: 28px;
  }

  .item-price {
    font-size: 17px;
  }

  .item-ingredients {
    font-size: 14px;
  }

  .item-allergens {
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .menu-section {
    padding-inline: 16px;
  }

  .menu-item {
    grid-template-columns: 72px minmax(0, 1fr);
    column-gap: 12px;
    padding-block: 20px;
  }

  .menu-photo {
    width: 72px;
  }

  .item-heading {
    gap: 4px;
  }

  .item-heading h3 {
    font-size: 24px;
    overflow-wrap: normal;
  }

  .item-price {
    flex: 0 0 auto;
    font-size: 15px;
  }

  .item-ingredients {
    font-size: 13px;
    line-height: 1.55;
  }

  .item-allergens {
    font-size: 11px;
    line-height: 1.5;
  }
}

@supports (grid-template-rows: subgrid) {
  .menu-item {
    grid-row: span 3;
    grid-template-rows: subgrid;
  }

  .menu-photo,
  .item-copy {
    grid-row: 1 / -1;
  }

  .item-copy {
    align-self: stretch;
    display: grid;
    grid-template-rows: subgrid;
  }
}
