.catering-menu {
  --accent: #396f86;
  --accent-warm: #b46c2c;
  --rule: #d7c099;
  --ink: #223038;
  --muted: #435d69;
  color: var(--ink);
  font: 13px/1.35 Georgia, "Times New Roman", serif;
}
.catering-menu *, .catering-menu *::before, .catering-menu *::after { box-sizing: border-box; }
.catering-menu .catering-sheet {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  width: 8.5in;
  min-height: 11in;
  margin: 32px auto;
  padding: .48in .5in .35in;
  overflow: hidden;
  color: var(--ink);
  background: #fffdf8;
  background-image: linear-gradient(90deg, #396f86 0 5px, #d7c099 5px 8px, transparent 8px),
    radial-gradient(#396f8610 .8px, transparent 1px);
  background-size: 100% 100%, 38px 38px;
  box-shadow: 0 8px 36px #173b3820;
}
.catering-menu .catering-sheet::before { content: ""; position: absolute; z-index: -1; inset: .18in; border: 1px solid #396f8638; pointer-events: none; }
.catering-menu .catering-sheet::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: .9in -.25in .5in;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: url("../assets/catering-feast.svg") center / contain no-repeat;
  opacity: .065;
  transform: none;
  pointer-events: none;
}
.catering-menu .catering-sheet--mezze::after { background-image: url("../assets/catering-mezze.svg"); opacity: .065; }
.catering-menu .catering-sheet > * { position: relative; z-index: 1; }
.catering-sheet__header { text-align: center; margin-bottom: 20px; }
.catering-sheet__brand { margin: 0 0 8px; color: var(--accent); font: 700 10px/1.4 Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.catering-menu .menu-title { display: flex; justify-content: center; align-items: center; gap: 16px; margin: 0 0 8px; color: var(--accent); font: 400 28px/1.15 Georgia, serif; text-transform: uppercase; letter-spacing: .06em; text-align: center; }
.catering-menu .menu-title::before, .catering-menu .menu-title::after { content: ""; width: 34px; height: 1px; background: var(--rule); }
.catering-menu .menu-tagline { margin: 0; color: var(--muted); font: italic 12px/1.4 Georgia, serif; text-align: center; }
.catering-menu .page-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
.catering-menu .page-col { min-width: 0; }
.catering-menu .section { margin: 0 0 18px; break-inside: avoid; }
.catering-menu .section-title { margin: 0 0 8px; padding: 0 0 5px; border-bottom: 1.5px solid var(--accent); color: var(--accent); font: 700 15px/1.25 Georgia, serif; text-transform: uppercase; letter-spacing: .025em; }
.catering-menu .section-note { margin: 0 0 10px; color: var(--muted); font: italic 12px/1.35 Georgia, serif; }
.catering-menu .catering-price-key { margin: -3px 0 10px; color: var(--accent); font: 700 10px/1.4 Arial, sans-serif; }
.catering-menu .item { margin: 0 0 10px; break-inside: avoid; }
.catering-menu .item-line { display: flex; align-items: baseline; gap: 6px; }
.catering-menu .item-name { min-width: 0; font: 700 13px/1.25 Georgia, serif; }
.catering-menu .item-price { white-space: nowrap; font: 700 13px/1.25 Georgia, serif; }
.catering-menu .item-leader { flex: 1; border-bottom: 1px dotted var(--rule); min-width: 8px; }
.catering-menu .item-description, .catering-menu .item-subtext { margin: 3px 0 0; color: var(--muted); font: 12px/1.35 Georgia, serif; }
.catering-menu .item-subtext { color: var(--accent); font-weight: 700; }
.catering-menu .catering-upgrades { margin: 0; color: var(--accent); font: 700 13px/1.3 Georgia, serif; }
.catering-menu .catering-order-note { border-left: 2px solid var(--rule); padding: 0 0 0 12px; }
.catering-menu .catering-order-note p { font: 12px/1.4 Georgia, serif; margin: 0; }
.catering-menu .page-footer { margin-top: auto; padding-top: 12px; border-top: 1px dotted var(--rule); color: var(--muted); text-align: center; font: 11px/1.5 Georgia, serif; }
.catering-menu .page-footer a { color: inherit; }
.catering-page-number { display: block; margin-top: 4px; color: var(--accent); font: 700 9px/1.3 Arial, sans-serif; letter-spacing: .1em; }
.catering-menu .page-footer strong { color: var(--accent); }
@media screen and (max-width: 860px) {
  .catering-menu .catering-sheet { width: calc(100% - 24px); min-height: 0; padding: 32px 26px; margin: 18px auto; }
  .catering-menu .page-columns { grid-template-columns: 1fr; gap: 0; }
  .catering-menu .section { margin-bottom: 28px; }
  .catering-menu .section-title { font-size: 19px; }
  .catering-menu .item { margin-bottom: 16px; }
  .catering-menu .item-name, .catering-menu .item-price { font-size: 16px; }
  .catering-menu .item-description, .catering-menu .item-subtext, .catering-menu .section-note, .catering-menu .catering-order-note p { font-size: 14px; line-height: 1.6; }
  .catering-menu .catering-price-key { font-size: 12px; }
  .catering-menu .item-line { flex-wrap: wrap; }
  .catering-menu .item-name { flex: 1 1 110px; }
  .catering-menu .item-leader { display: none; }
  .catering-menu .menu-tagline { font-size: 14px; }
  .catering-menu .catering-sheet::after { inset: 20% 0 0; background-size: 150%; }
}
@media print {
  @page { size: letter; margin: 0; }
  .catering-menu { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .catering-menu .catering-sheet { width: 8.5in; height: 10.98in; min-height: 0; margin: 0; box-shadow: none; break-inside: avoid; break-after: page; }
  .catering-menu .catering-sheet:last-child { break-after: auto; }
  .catering-print .menu-tools, .catering-print > .site-footer, .catering-print .print-button { display: none !important; }
}
