:root {
  --restaurant-runtime-signal: #c8a56a;
  --restaurant-runtime-curtain: #151310;
  --restaurant-runtime-ease: cubic-bezier(.22, .8, .22, 1);
}

html[data-restaurant-rebuild] {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: var(--restaurant-header-offset, 84px);
}

html[data-restaurant-rebuild] body {
  overflow-x: clip;
}

.restaurant-arrival-curtain {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  grid-template-columns: 1fr 1fr;
  pointer-events: none;
}

.restaurant-arrival-curtain span {
  background: var(--restaurant-runtime-curtain);
  transform-origin: top;
  animation: restaurant-curtain-open 540ms var(--restaurant-runtime-ease) forwards;
}

.restaurant-arrival-curtain span:last-child {
  transform-origin: bottom;
  animation-delay: 46ms;
}

@keyframes restaurant-curtain-open {
  from { transform: scaleY(1); }
  to { transform: scaleY(0); }
}

[data-restaurant-current="true"] {
  box-shadow: inset 0 -2px 0 var(--restaurant-runtime-signal);
}

[data-restaurant-runtime] :where(a, button, [role="button"]):focus-visible {
  outline: 2px solid var(--restaurant-runtime-signal);
  outline-offset: 4px;
}

[data-restaurant-runtime] :where(button, [role="button"], a[class*="button"], a[class*="btn"], a[class*="cta"]) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

[data-restaurant-runtime] [data-restaurant-pressed="true"] {
  transform: translateY(1px) scale(.985);
}

[data-experience-surface] {
  --restaurant-surface-entered: 0;
}

[data-experience-surface][data-experience-state="entered"] {
  --restaurant-surface-entered: 1;
}

[data-food-radial][data-food-radial-ready="true"] {
  position: relative;
  isolation: isolate;
  display: block !important;
  min-height: clamp(620px, 54vw, 720px);
  margin-inline: 0;
  padding: 0 !important;
  overflow: hidden !important;
  touch-action: pan-y;
  user-select: none;
  border: 1px solid color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 28%, transparent);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--restaurant-radial-highlight, #eaaa17) 13%, transparent) 0 10%, transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--restaurant-radial-paper, #fff6e7) 96%, white), var(--restaurant-radial-paper, #fff6e7));
}

[data-food-radial][data-food-radial-ready="true"]::before,
[data-food-radial][data-food-radial-ready="true"]::after {
  position: absolute;
  z-index: 0;
  top: 44%;
  left: 50%;
  width: min(76%, 880px);
  aspect-ratio: 2.35 / 1;
  content: "";
  pointer-events: none;
  border: 1px solid color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 28%, transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

[data-food-radial][data-food-radial-ready="true"]::after {
  width: min(55%, 650px);
  border-color: color-mix(in srgb, var(--restaurant-radial-highlight, #eaaa17) 28%, transparent);
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card {
  position: absolute !important;
  z-index: var(--restaurant-radial-depth, 20);
  top: 44% !important;
  left: 50% !important;
  width: clamp(186px, 17vw, 238px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  cursor: pointer;
  opacity: var(--restaurant-radial-opacity, .45);
  outline: none;
  transform: translate(calc(-50% + var(--restaurant-radial-x, 0px)), calc(-50% + var(--restaurant-radial-y, 0px))) scale(var(--restaurant-radial-scale, .75)) !important;
  transition:
    transform 620ms cubic-bezier(.2, .78, .2, 1),
    opacity 420ms ease,
    box-shadow 420ms ease,
    border-color 420ms ease !important;
  will-change: transform;
}

[data-food-radial-ready="true"][data-food-radial-dragging="true"] > .restaurant-food-radial__card {
  transition-duration: 70ms !important;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card[data-food-radial-active="true"] {
  border-color: var(--restaurant-radial-highlight, #eaaa17) !important;
  box-shadow: 0 22px 44px color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 18%, transparent) !important;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card:focus-visible {
  outline: 3px solid var(--restaurant-radial-accent, #167d77) !important;
  outline-offset: 5px;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card img {
  display: block;
  width: 100% !important;
  height: clamp(150px, 14vw, 194px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  transform: none !important;
  transition: filter 360ms ease !important;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card:not([data-food-radial-active="true"]) img {
  filter: saturate(.76) contrast(.96);
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card > div {
  min-height: 76px !important;
  padding: 11px 12px 12px !important;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card h3 {
  font-size: clamp(18px, 1.6vw, 22px) !important;
}

[data-food-radial-ready="true"] > .restaurant-food-radial__card p {
  font-size: 11px !important;
}

.restaurant-food-radial__identity {
  position: absolute;
  z-index: 10;
  top: 44%;
  left: 50%;
  display: grid;
  width: clamp(132px, 14vw, 178px);
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  border: 1px solid color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 40%, transparent);
  border-radius: 50%;
  background: var(--restaurant-radial-paper, #fff6e7);
  box-shadow: 0 18px 42px color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 16%, transparent);
  transform: translate(-50%, -50%);
}

.restaurant-food-radial__logo {
  width: 100% !important;
  height: 100% !important;
  padding: 9% !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}

.restaurant-food-radial__controls {
  position: absolute;
  z-index: 100;
  top: 18px;
  right: 18px;
  display: grid;
  grid-template-columns: 46px minmax(180px, auto) 46px;
  align-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 34%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--restaurant-radial-paper, #fff6e7) 92%, transparent);
  box-shadow: 0 10px 24px rgb(0 0 0 / 8%);
  backdrop-filter: blur(10px);
}

.restaurant-food-radial__button {
  display: grid;
  width: 46px;
  min-width: 46px;
  height: 46px;
  min-height: 46px;
  padding: 0;
  place-items: center;
  cursor: pointer;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
}

.restaurant-food-radial__button:hover,
.restaurant-food-radial__button:focus-visible {
  color: white;
  background: var(--restaurant-radial-accent, #167d77);
}

.restaurant-food-radial__status {
  min-width: 180px;
  padding-inline: 12px;
  overflow: hidden;
  border-inline: 1px solid color-mix(in srgb, var(--restaurant-radial-accent, #167d77) 22%, transparent);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  line-height: 46px;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 700px) {
  html[data-restaurant-rebuild] {
    scroll-padding-top: var(--restaurant-header-offset-mobile, 72px);
  }

  [data-restaurant-runtime] :where(button, [role="button"], a[class*="button"], a[class*="btn"], a[class*="cta"]) {
    min-height: 44px;
  }

  [data-food-radial][data-food-radial-ready="true"] {
    min-height: 620px;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  [data-food-radial][data-food-radial-ready="true"]::before,
  [data-food-radial][data-food-radial-ready="true"]::after {
    top: 20%;
    width: 196px;
    aspect-ratio: 1;
  }

  [data-food-radial][data-food-radial-ready="true"]::after {
    width: 148px;
  }

  [data-food-radial-ready="true"] > .restaurant-food-radial__card {
    top: 61% !important;
    width: min(292px, calc(100% - 64px)) !important;
  }

  [data-food-radial-ready="true"] > .restaurant-food-radial__card:not([data-food-radial-active="true"]) {
    pointer-events: none;
  }

  [data-food-radial-ready="true"] > .restaurant-food-radial__card img {
    height: 188px !important;
  }

  .restaurant-food-radial__identity {
    top: 20%;
    width: 112px;
  }

  .restaurant-food-radial__controls {
    top: auto;
    right: 14px;
    bottom: 14px;
    left: 14px;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
  }

  .restaurant-food-radial__button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
  }

  .restaurant-food-radial__status {
    min-width: 0;
    line-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-restaurant-rebuild] {
    scroll-behavior: auto;
  }

  .restaurant-arrival-curtain {
    display: none;
  }

  [data-restaurant-runtime] *,
  [data-restaurant-runtime] *::before,
  [data-restaurant-runtime] *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }

  [data-food-radial] {
    touch-action: auto;
  }
}
