.craving-hero {
  --slice-w: 24%;
  --slice-h: 60%;
  --pt-gold: #ffffbb;
  --pt-gold-glow: rgba(212, 160, 32, 0.45);
  --pt-gold-glow-deep: rgba(184, 120, 18, 0.28);
  position: relative;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  width: 100%;
  max-width: none;
  background: #000;
  color: #fff;
  overflow: hidden;
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
  mask-image: none;
  -webkit-mask-image: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  padding: calc(1.4vh + 16px) 0 0;
}
.craving-hero__nav {
  position: relative;
  z-index: 60;
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0.35rem 20px 0.2rem;
  box-sizing: border-box;
  pointer-events: auto;
  background: none;
  border: 0;
}
.craving-hero__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
.craving-hero__nav-list li {
  display: flex;
  align-items: center;
}
.craving-hero__nav-list li + li::before {
  content: "";
  width: 3px;
  height: 3px;
  margin: 0 0.95em;
  border-radius: 50%;
  background: var(--pt-gold);
  opacity: 0.38;
}
.craving-hero__nav a {
  position: relative;
  display: inline-block;
  font-family: Conv_PFDINTEXTCOMPPRO-REGULAR, Conv_PFDINTEXTCOMPPRO-LIGHT, sans-serif;
  font-size: clamp(11px, 1.12vw, 14px);
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: rgba(255, 255, 255, 0.78) !important;
  padding: 0.4em 0 0.5em;
  border: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
  transition: color 0.22s ease;
}
.craving-hero__nav a::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0.12em;
  height: 1px;
  background: var(--pt-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.22s ease;
}
.craving-hero__nav a:hover,
.craving-hero__nav a:focus-visible,
.craving-hero__nav a.is-active {
  color: var(--pt-gold) !important;
  text-decoration: none !important;
}
.craving-hero__nav a:hover::after,
.craving-hero__nav a:focus-visible::after,
.craving-hero__nav a.is-active::after {
  transform: scaleX(1);
}
#main-screen.craving-hero.section {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: 100vh !important;
  min-height: 100vh !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.craving-hero__copy {
  text-align: center;
  z-index: 50;
  pointer-events: none;
  padding: 14px 16px 0;
  position: relative;
  flex: 0 0 auto;
  background: transparent;
}
.craving-hero__garnish {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  overflow: hidden;
}
.craving-leaf {
  position: absolute;
  display: block;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  will-change: transform, left, top;
  transition: none;
}
.craving-hero.is-live .craving-leaf {
  transition: left 0.58s cubic-bezier(0.22, 1, 0.36, 1),
              top 0.58s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.48s ease;
}
.craving-leaf--1 {
  left: 5%;
  top: 7%;
  width: min(11vw, 108px);
  transform: rotate(-34deg);
  z-index: 8;
  opacity: 0.88;
}
.craving-leaf--2 {
  right: 5%;
  top: 9%;
  width: min(10vw, 96px);
  transform: rotate(48deg) scaleX(-1);
  z-index: 8;
  opacity: 0.86;
}
.craving-leaf--3 {
  left: 10%;
  top: 38%;
  width: min(16vw, 150px);
  transform: rotate(-22deg);
  z-index: 5;
  opacity: 0.78;
}
.craving-leaf--4 {
  right: 10%;
  top: 36%;
  width: min(15vw, 140px);
  transform: rotate(26deg) scaleX(-1);
  z-index: 5;
  opacity: 0.78;
}
.craving-leaf--5 {
  left: 1.5%;
  bottom: 10%;
  width: min(18vw, 168px);
  transform: rotate(62deg);
  z-index: 14;
  opacity: 0.9;
}
.craving-leaf--6 {
  right: 2%;
  bottom: 14%;
  width: min(17vw, 158px);
  transform: rotate(-72deg) scaleX(-1);
  z-index: 14;
  opacity: 0.9;
}
.craving-leaf--7 {
  left: 26%;
  bottom: 2%;
  width: min(9vw, 86px);
  transform: rotate(148deg);
  z-index: 5;
  opacity: 0.7;
}
.craving-leaf--8 {
  left: 18%;
  top: 18%;
  width: min(12vw, 112px);
  transform: rotate(18deg) scaleX(-1);
  z-index: 7;
  opacity: 0.82;
}
.craving-leaf--9 {
  right: 16%;
  top: 22%;
  width: min(11vw, 104px);
  transform: rotate(-40deg);
  z-index: 7;
  opacity: 0.8;
}
.craving-leaf--10 {
  right: 24%;
  bottom: 4%;
  width: min(10vw, 92px);
  transform: rotate(-128deg);
  z-index: 6;
  opacity: 0.72;
}
.craving-hero__title {
  margin: 0;
  font-family: Conv_PFDINTEXTCOMPPRO-BOLD, sans-serif !important;
  font-size: clamp(32px, 5.4vw, 68px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  line-height: 1.12;
  color: #fff !important;
}
.craving-hero__lead {
  color: #ffffbb !important;
  text-shadow: 0 0 10px rgba(212, 160, 32, 0.45),
    0 0 22px rgba(184, 120, 18, 0.28);
}
.craving-hero__glyph {
  color: #ffffbb !important;
  text-shadow: 0 0 10px rgba(212, 160, 32, 0.45),
    0 0 22px rgba(184, 120, 18, 0.28);
  transition: color 0.05s linear, text-shadow 0.05s linear;
}
.craving-hero__glyph.is-off {
  color: #8a8a8a !important;
  text-shadow: none;
}
.craving-hero__title #craving-name {
  display: inline;
  color: #e31837 !important;
  font-family: Conv_PFDINTEXTCOMPPRO-BOLD, sans-serif !important;
  font-weight: 800 !important;
  border: 0 !important;
  border-bottom: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  padding-bottom: 0;
  background: none !important;
  text-shadow: none;
}
.craving-hero__title #craving-name::before,
.craving-hero__title #craving-name::after {
  content: none !important;
  display: none !important;
}
.craving-hero__stage {
  position: relative;
  flex: 1 1 0;
  width: 100%;
  height: auto;
  min-height: 0;
  margin-top: 3.5rem;
  overflow: hidden;
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
  mask-image: none;
  -webkit-mask-image: none;
  z-index: 1;
}
.craving-hero__orbit {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
  mask-image: none;
  -webkit-mask-image: none;
  isolation: isolate;
}
.craving-hero__pick {
  position: absolute;
  left: 50%;
  right: auto;
  top: calc(2% + 50px);
  bottom: auto;
  width: var(--slice-w);
  height: 72%;
  margin: 0 0 0 calc(var(--slice-w) / -2);
  transform: rotate(0deg) translateY(-10%) scale(1);
  transform-origin: 50% 100%;
  z-index: 22;
  pointer-events: none;
  transition: none;
}
.craving-hero__pick svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.craving-hero__caption {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 30;
  text-align: center;
  pointer-events: none;
  width: min(640px, 86vw);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
}
.craving-hero__ings {
  margin: 0;
  font-family: Conv_PFDINTEXTCOMPPRO-LIGHT, Conv_PFDINTEXTCOMPPRO-REGULAR, sans-serif;
  font-size: clamp(13px, 1.45vw, 17px);
  opacity: 0.82;
  font-weight: 300 !important;
  color: #fff;
  letter-spacing: 0.04em;
}
.craving-hero__cart-form {
  margin: 0;
  pointer-events: auto;
}
.craving-hero__cart {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.62em 1.45em 0.58em;
  border: 1px solid var(--pt-gold);
  background: #e31837;
  color: #fff;
  font-family: Conv_PFDINTEXTCOMPPRO-REGULAR, Conv_PFDINTEXTCOMPPRO-LIGHT, sans-serif;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
  border-radius: 0;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.craving-hero__cart:hover,
.craving-hero__cart:focus-visible {
  background: #fff;
  color: #000;
  border-color: #fff;
  outline: none;
}
.craving-hero__cart:active {
  transform: translateY(1px);
}
.craving-hero__cart.is-busy {
  opacity: 0.72;
  pointer-events: none;
}
.craving-hero__cart.is-added {
  background: transparent;
  color: var(--pt-gold);
  border-color: var(--pt-gold);
}
.craving-slice {
  position: absolute;
  left: 50%;
  right: auto;
  top: 2%;
  bottom: auto;
  width: var(--slice-w);
  height: 72%;
  max-height: none;
  margin: 0 0 0 calc(var(--slice-w) / -2);
  transform: rotate(0deg) translateY(0) scale(0.5);
  transform-origin: 50% 100%;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  visibility: visible;
  transition: transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.48s ease;
}
.craving-hero__orbit:not(.is-live) .craving-slice {
  transition: none;
}
.craving-slice.is-hidden {
  pointer-events: none;
}
.craving-slice.is-visible {
  opacity: 1;
}
.craving-slice.is-visible.is-dim {
  cursor: pointer;
}
.craving-slice__outline,
.craving-slice__frame {
  display: none !important;
}
.craving-slice__photo,
.craving-slice img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  pointer-events: auto;
  mix-blend-mode: normal;
  filter: none;
  transition: filter 0.35s ease, opacity 0.35s ease;
}
.craving-slice.is-dim .craving-slice__photo,
.craving-slice.is-dim img {
  filter: brightness(0.62);
}
.craving-slice.is-peek .craving-slice__photo,
.craving-slice.is-peek img {
  /* Keep outer slices readable at the hard bottom clip */
  filter: brightness(0.72);
}
.craving-slice.is-centre .craving-slice__photo,
.craving-slice.is-centre img {
  mix-blend-mode: normal;
  filter: brightness(1) saturate(1.05);
}
.craving-slice__veil {
  display: none !important;
}

.footer-dev-logo-svg {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-dev-logo-svg img {
  width: 36px;
  height: 36px;
}
.footer-dev-logo .company-name {
  color: #fff;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 300;
}

.pt-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 20000;
  background: rgba(0, 0, 0, 0.72);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.pt-modal.is-open { display: flex; }
.pt-modal__box {
  width: min(480px, 92vw);
  background: #111;
  color: #fff;
  padding: 28px 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.pt-modal__box h2 {
  margin: 0 0 16px;
  font-weight: 300;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pt-modal__box label {
  display: block;
  margin: 0 0 12px;
  font-size: 13px;
  opacity: 0.85;
}
.pt-modal__box input,
.pt-modal__box textarea {
  width: 100%;
  margin-top: 6px;
  padding: 10px;
  background: #000;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-sizing: border-box;
}
.pt-modal__box button {
  margin-top: 8px;
  padding: 10px 18px;
  background: #fff;
  color: #000;
  border: 0;
  cursor: pointer;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pt-modal__close {
  float: right;
  background: none;
  border: 0;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.craving-hero__ctrl {
  display: none;
}

@media (max-width: 1199px) {
  .craving-hero {
    padding-top: calc(56px + 0.75rem);
    min-height: 100vh;
    min-height: 100dvh;
    height: auto;
    max-height: none;
  }
  #main-screen.craving-hero.section {
    height: auto !important;
    max-height: none !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }
}

@media (max-width: 720px) {
  .craving-hero {
    --slice-w: 56%;
    padding-top: calc(56px + 0.35rem);
  }
  .craving-hero__copy {
    padding: 4px 12px 0;
  }
  .craving-hero__title {
    font-size: clamp(24px, 6.8vw, 36px) !important;
    line-height: 1.12;
  }
  .craving-hero__nav {
    padding: 0.15rem 10px 0.25rem;
    flex-shrink: 0;
  }
  .craving-hero__nav-list {
    gap: 0;
    row-gap: 0.15rem;
  }
  .craving-hero__nav a {
    letter-spacing: 0.1em;
    font-size: 10px;
    padding: 0.28em 0 0.34em;
  }
  .craving-hero__nav-list li + li::before {
    margin: 0 0.38em;
    width: 2px;
    height: 2px;
  }
  .craving-hero__stage {
    margin-top: 0.55rem;
    flex: 1 1 auto;
    min-height: 52vh;
    min-height: 52dvh;
  }
  .craving-hero__pick {
    top: calc(4% + 16px);
  }
  .craving-hero__caption {
    bottom: 12px;
    width: min(640px, 94vw);
    gap: 0.45rem;
  }
  .craving-hero__ings {
    font-size: clamp(11px, 3.1vw, 14px);
  }
  .craving-hero__cart {
    font-size: 11px;
    padding: 0.52em 1.1em 0.48em;
  }
  .craving-leaf--1,
  .craving-leaf--2 {
    width: min(16vw, 72px);
    opacity: 0.72;
  }
  .craving-leaf--5,
  .craving-leaf--6 {
    width: min(20vw, 88px);
    opacity: 0.74;
  }
  .craving-hero__ctrl {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 54%;
    transform: translateY(-50%);
    z-index: 35;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 187, 0.55);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: var(--pt-gold);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }
  .craving-hero__ctrl.is-prev {
    left: 6px;
  }
  .craving-hero__ctrl.is-next {
    right: 6px;
  }
  .craving-hero__ctrl:hover,
  .craving-hero__ctrl:focus-visible {
    background: rgba(227, 24, 55, 0.88);
    border-color: #fff;
    color: #fff;
    outline: none;
  }
  .craving-hero__ctrl:active {
    transform: translateY(-50%) scale(0.96);
  }
}
@media (prefers-reduced-motion: reduce) {
  .craving-hero__glyph {
    transition: none;
  }
  .craving-hero__glyph.is-off {
    color: #ffffbb !important;
    text-shadow: 0 0 10px rgba(212, 160, 32, 0.45),
      0 0 22px rgba(184, 120, 18, 0.28);
  }
}

.wrapper.product-list {
  max-width: 100% !important;
}

/*
  Pizza/combo/salads (2-col): .product-list-main-items uses margin: 0 -3.75%
  which cancels item padding at the outer edges - Order buttons sit flush to
  the viewport. Sushi (4-col) has no negative margin, so its 3.36% item
  padding remains as a right gutter. Drop the canceling margin on desktop
  so 2-col keeps the same edge breathing room.
*/
@media only screen and (min-width: 1200px) {
  .product-list-main .product-list-main-items {
    margin-left: 0;
    margin-right: 0;
  }

  /* Full-width product lists sit under the rotated sticky section labels;
     keep the indicator above the menu cards (legacy z-index was only 10). */
  .sticky-nav {
    z-index: 120;
  }
}

html,
body {
  background: #fff;
}
