:root {
  --font-display:"Arial Black",Arial,sans-serif;
  --color-cream:#fcfaf5;
  --color-ink:#201e1b;
  --color-muted:#625950;
  --color-action-green:#19823b;
  --color-action-green-hover:#12692f;
  --color-brand-green:#249b42;
  --color-deli-red:#c72520;
  --color-line:#d6dacb;
  --sage:#edf2e7;
  color-scheme:only light;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--color-ink);
  background:var(--color-cream)
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  padding-bottom:calc(90px + env(safe-area-inset-bottom));
  line-height:1.5
}
a {
  color:var(--color-action-green);
  text-underline-offset:.22em
}
a:hover {
  color:var(--color-action-green-hover)
}
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--color-ink);
  outline-offset:4px
}
button,input,textarea {
  font:inherit
}
h1,h2,h3,p {
  margin:0
}
img,svg {
  max-width:100%;
  display:block
}
.skip-link {
  position:fixed;
  top:-100px;
  left:1rem;
  padding:.75rem;
  background:var(--color-cream);
  z-index:100
}
.skip-link:focus {
  top:.5rem
}
.menu-header {
  display:none;
  background:var(--color-cream);
  border-top:5px solid var(--color-action-green);
  border-bottom:1px solid var(--color-line)
}
.header-inner {
  max-width:1180px;
  margin:auto;
  padding:.65rem 1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem
}
.header-name {
  display:none;
  font-weight:900;
  text-decoration:none;
  font-size:1.05rem;
  letter-spacing:.025em;
  white-space:nowrap
}
.header-name span {
  color:var(--color-deli-red);
  font-size:.75em;
  margin-left:.3rem
}
.header-inner nav {
  display:flex;
  gap:1.6rem;
  justify-content:center
}
.header-inner nav a {
  padding:.5rem 0;
  font-size:.875rem;
  font-weight:700
}
.desktop-order {
  display:none!important
}
.menu-masthead {
  max-width:1100px;
  margin:0 auto;
  padding:1.5rem 1.25rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"brand brand" "info hours";
  align-items:start;
  gap:1.25rem;
  scroll-margin-top:95px;
}
.masthead-brand { grid-area:brand; position:relative; }
.skyline-phone { position:absolute; bottom:0; left:50%; transform:translateX(-50%); display:flex; align-items:flex-end; justify-content:center; min-height:44px; padding:0 .75rem .2rem; color:#fff; font-size:clamp(1rem,2.5vw,1.5rem); font-weight:700; line-height:1.2; white-space:nowrap; text-decoration:none; }
.skyline-phone:hover { color:#fff; text-decoration:underline; }
.skyline-phone:focus-visible { outline-color:#fff; outline-offset:-3px; }
.menu-brand { width:min(100%,500px); height:auto; margin:auto; }
.menu-brand-mobile { display:none; }
@media (max-width:679px) {
  .menu-brand-wide { display:none; }
  .menu-brand-mobile { display:block; }
}
.masthead-info { grid-area:info; }
.masthead-hours { grid-area:hours; }
.masthead-directions { display:inline-block; padding-block:.6rem; font-size:.8rem; font-weight:600; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.masthead-label {
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.13em;
  color:var(--color-action-green);
  margin-bottom:.5rem
}
.masthead-info {
  font-size:.75rem;
  text-align:left
}
.masthead-phone {
  font-size:1.05rem;
  letter-spacing:.025em;
  font-weight:800;
  margin-top:.5rem
}
.masthead-hours {
  font-size:.68rem;
  max-width:23rem;
  width:100%;
  margin:auto
}
.masthead-hours p:not(:first-child) {
  display:flex;
  justify-content:space-between;
  gap:.4rem;
  margin-top:.2rem
}
.masthead-hours strong {
  font-weight:600
}
.category-links {
  max-width:1140px;
  margin:auto;
  display:flex;
  gap:1.25rem;
  overflow-x:auto;
  padding:1rem 1.25rem;
  border-bottom:1px solid var(--color-line)
}
.category-links a {
  flex-shrink:0;
  font-size:.8rem;
  font-weight:700;
  min-height:2.75rem;
  display:flex;
  align-items:center
}
.printed-menu {
  max-width:1100px;
  margin:auto;
  padding:1.25rem 1.25rem 0
}
.main-menu-columns,.counter-menu-columns {
  display:grid;
  gap:0 4rem
}
.counter-menu-columns {
  border-top:2px solid var(--color-action-green);
  padding-top:1.5rem;
  margin-top:1rem
}
.menu-section {
  margin-bottom:2.25rem;
  scroll-margin-top:1rem
}
.menu-section h2 {
  font:700 1.5rem/1.25 Georgia,'Times New Roman',serif;
  color:var(--color-action-green);
  border-bottom:2px solid var(--color-action-green);
  padding-bottom:.5rem;
  margin-bottom:1rem
}
.counter-menu-columns h2 {
  color:var(--color-deli-red);
  border-color:var(--color-deli-red)
}
.section-intro {
  font-size:.85rem;
  margin-bottom:1.1rem;
  color:var(--color-muted)
}
.menu-items {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:1.1rem
}
.menu-item {
  display:flex;
  gap:.75rem;
  align-items:baseline;
  justify-content:space-between
}
.item-copy {
  min-width:0;
  flex:1
}
.item-copy h3 {
  display:inline;
  font-size:1rem;
  font-weight:800;
  color:var(--color-deli-red);
  line-height:1.45
}
.item-copy p {
  display:inline;
  font-size:.93rem;
  line-height:1.55
}
.item-copy h3:has(+p)::after {
  content:' — ';
  color:var(--color-ink);
  font-weight:400
}
.item-price {
  flex-shrink:0;
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:.2rem;
  font-size:.95rem;
  font-weight:800;
  color:var(--color-deli-red);
  font-variant-numeric:tabular-nums
}
.item-price>span {
  display:flex;
  flex-direction:column
}
.item-price small {
  font-size:.64rem;
  font-weight:400;
  color:var(--color-muted);
  white-space:nowrap
}
.money {
  white-space:nowrap
}
.section-note {
  font-weight:700;
  font-size:.9rem;
  margin-top:1rem
}
.compact-section .menu-items {
  gap:.55rem
}
.compact-section .item-copy h3 {
  color:var(--color-ink);
  font-weight:600;
  font-size:.95rem
}
.compact-section .item-copy p {
  display:block;
  font-size:.9rem;
  color:var(--color-muted);
  margin-top:.35rem
}
.compact-section .item-copy h3:has(+p)::after {
  content:none
}
.menu-footer {
  text-align:center;
  padding:.75rem 1rem 1.5rem;
  border-bottom:5px solid var(--color-action-green);
  font-size:.8rem;
  color:var(--color-muted)
}
.menu-footer p+p {
  margin-top:.35rem
}
.menu-footer a {
  display:inline-block;
  padding:.75rem
}
.ordering-options {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);
  gap:.5rem;
  align-items:center
}
.call-order-link {
  min-height:52px;
  border:1px solid var(--color-action-green);
  background:var(--color-action-green);
  color:#fff;
  border-radius:3px;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:0;
  font-size:clamp(.6rem,2.7vw,.8rem);
  font-weight:800;
  padding:.6rem
}
.call-order-link:hover {
  background:var(--color-action-green-hover);
  color:#fff
}
.call-order-desktop {
  display:none
}
.order-link {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:44px;
  border:0;
  text-decoration:underline;
  text-underline-offset:.22em;
  font-size:clamp(.7rem,3vw,.85rem);
  font-weight:600;
  color:var(--color-ink);
  background:transparent
}
.order-provider-label {
  display:flex;
  align-items:center
}
.mobile-order-bar {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:var(--color-cream);
  padding:.5rem max(.75rem,env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-right));
  border-top:1px solid var(--color-line);
  z-index:20
}
.status-page {
  min-height:50vh;
  max-width:900px;
  margin:auto;
  padding:4rem 1.25rem
}
.status-page h1 {
  font:700 2rem Georgia,serif;
  margin-bottom:1rem
}
@media(min-width:600px) {
  .masthead-info {
    text-align:left
  }
  .masthead-hours {
    text-align:left
  }
  .main-menu-columns,.counter-menu-columns {
    grid-template-columns:1fr 1fr;
    gap:0 2rem
  }
  .printed-menu {
    padding-top:2rem
  }
  .item-copy p {
    font-size:.88rem
  }
  .item-copy h3 {
    font-size:.95rem
  }
  .menu-item {
    gap:.5rem
  }
  .item-price {
    font-size:.88rem
  }
}
@media(min-width:1050px) {
  body {
    padding-bottom:0
  }
  .menu-header {
    display:block;
    position:sticky;
    top:0;
    z-index:20
  }
  .header-inner {
    justify-content:space-between;
    gap:1rem
  }
  .header-name {
    display:block
  }
  .header-inner nav {
    gap:1.25rem
  }
  .desktop-order {
    display:flex!important;
    gap:.5rem
  }
  .desktop-order .call-order-desktop {
    display:flex;
    flex-direction:column;
    gap:0;
    font-size:.68rem;
    line-height:1.4;
    min-width:145px
  }
  .desktop-order .call-order-mobile {
    display:none
  }
  .desktop-order .order-link {
    padding:.4rem .65rem;
    font-size:.75rem
  }
  .mobile-order-bar {
    display:none
  }
  .main-menu-columns,.counter-menu-columns {
    gap:0 4rem
  }
  .menu-section {
    scroll-margin-top:105px
  }
  .category-links,.menu-masthead {
    scroll-margin-top:85px
  }
  .item-copy h3 {
    font-size:1.02rem
  }
  .item-copy p {
    font-size:.95rem
  }
  .item-price {
    font-size:1rem
  }
  .menu-items {
    gap:1.15rem
  }
}
/* Keep ordering in the header when a phone is held sideways. */
@media (min-width: 600px) and (max-width: 1049px) and (max-height: 512px) {
  body { padding-bottom: 0; }
  .menu-header { display: block; position: sticky; top: 0; z-index: 20; }
  .header-inner { justify-content: space-between; padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right)); }
  .header-inner nav { gap: 1rem; }
  .desktop-order { display: flex !important; }
  .desktop-order .call-order-desktop { display: flex; flex-direction: column; gap: 0; font-size: .68rem; }
  .desktop-order .call-order-mobile { display: none; }
  .desktop-order .order-link { padding-inline: .6rem; font-size: .75rem; }
  .mobile-order-bar { display: none; }
  .menu-section, .category-links, .menu-masthead { scroll-margin-top: 90px; }
}

@media (min-width: 680px) {
  .menu-masthead {
    grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);
    grid-template-areas:"brand info" "brand hours";
    align-items:center;
    column-gap:clamp(2rem,6vw,5rem);
    row-gap:.75rem;
    padding-block:1.75rem;
  }
  .masthead-info { font-size:clamp(.9rem,1.15vw,1.05rem); align-self:end; text-align:center; }
  .masthead-info .masthead-label { margin-bottom:.2rem; }
  .masthead-phone { font-size:1.2rem; margin-top:.25rem; }
  .masthead-directions { padding-block:.4rem; font-size:.85rem; }
  .masthead-hours { align-self:start; margin:0; font-size:clamp(.82rem,1.05vw,1rem); max-width:none; }
  .masthead-hours .masthead-label { text-align:center; font-size:.78rem; margin-bottom:.65rem; }
  .masthead-hours p:not(:first-child) { margin-top:.45rem; }
  .menu-brand { width:100%; max-width:610px; }
}
.mobile-order { max-width:700px; margin-inline:auto; }
.category-links { scroll-margin-top:90px; }

@media (max-width: 479px) {
  .menu-masthead {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"brand" "info" "hours";
    row-gap:.75rem;
    padding-block:1rem;
  }
  .masthead-info { text-align:center; font-size:clamp(.9rem,4.1vw,1.05rem); }
  .masthead-label { letter-spacing:.1em; }
  .masthead-phone { font-size:1.1rem; margin-top:.15rem; }
  .masthead-directions { padding-block:.4rem; font-size:1rem; }
  .masthead-hours { max-width:22rem; font-size:clamp(.85rem,3.8vw,1rem); }
  .masthead-hours .masthead-label { text-align:center; font-size:.82rem; margin-bottom:.45rem; }
  .masthead-hours p:not(:first-child) { gap:.5rem; margin-top:.35rem; }
}

.menu-extras { max-width:620px; margin:2rem auto 0; text-align:center; }
.menu-suppliers { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:1.25rem; }
.menu-suppliers p { margin:0 0 .75rem; font-size:.95rem; }
.menu-suppliers img { display:block; max-width:100%; object-fit:contain; margin:auto; }
.menu-suppliers img[src$="cusanos.png"] { width:105px; height:105px; }
.menu-suppliers img[src$="thumanns.png"] { width:190px; height:105px; }
.party-reminder { color:var(--color-deli-red); font-size:1.15rem; font-weight:700; margin:1.5rem 0 .75rem; }
.menu-facebook { margin:0; }

#bagels .section-intro { text-align:center; font-size:1.15rem; line-height:1.5; }

@media (min-width:600px) {
  .counter-menu-columns > div { display:grid; grid-template-rows:subgrid; grid-row:1 / span 3; }
  .counter-menu-columns > div:first-child { grid-column:1; }
  .counter-menu-columns > div:nth-child(2) { grid-column:2; }
}

:is(#subs, #salad) .menu-item { display:block; }
:is(#subs, #salad) .item-price { flex-direction:row; justify-content:center; gap:1.5rem; text-align:left; margin-top:0; }
:is(#subs, #salad) .item-price > span { flex-direction:row; align-items:baseline; gap:.4rem; }

:is(#subs, #salad) .item-price small { font-size:.95rem; font-weight:700; color:var(--color-ink); }

@media (min-width:1050px) {
  #subs [data-item-id="sub-4"] { position:relative; }
  #subs [data-item-id="sub-4"] .item-price { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:max-content; margin:0; }
}
