html.guestMenuPage.hasGuestTheme body {
  background-color: #f3f4f6;
  position: relative;
}

html.guestMenuPage.hasGuestTheme body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(244, 246, 248, 0.76)),
    var(--guest-theme-bg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  filter: saturate(1.08) contrast(1.08);
}

html.guestMenuPage.hasGuestTheme body > :not(.cartUpsellOverlay):not(.cartDock):not(.demoFloatingCta):not(.demoBeginnerCreateCta) {
  position: relative;
  z-index: 1;
}

html.guestMenuPage.hasGuestTheme body > .demoFloatingCta,
html.guestMenuPage.hasGuestTheme body > .demoBeginnerCreateCta {
  position: fixed;
  z-index: 90;
}

html.guestMenuPage.hasGuestTheme body > .cartDock {
  position: fixed;
  z-index: 50;
}

html.guestMenuPage.hasGuestTheme .cartUpsellOverlay {
  position: fixed;
  z-index: 200;
}

html.guestMenuPage.hasGuestTheme .categoryNav {
  background: rgba(248, 250, 252, 0.86);
  backdrop-filter: blur(14px);
}

html.guestMenuPage.hasGuestTheme .item {
  background: rgba(255, 255, 255, 0.84);
  border-color: rgba(222, 226, 233, 0.72);
  backdrop-filter: blur(9px);
}

html.guestMenuPage.hasGuestTheme .card,
html.guestMenuPage.hasGuestTheme .orderBox {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(222, 226, 233, 0.88);
}

html.guestMenuPage.hasGuestTheme .cartDock {
  position: fixed;
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
}

@media (max-width: 640px) {
  html.guestMenuPage.hasGuestTheme body::before {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.68) 38%, rgba(244, 246, 248, 0.82) 100%),
      radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.24), transparent 42%),
      var(--guest-theme-bg);
    background-position: center top;
    background-size: auto 100%;
    filter: saturate(1.1) contrast(1.1);
    transform: translateZ(0);
  }

  html.guestMenuPage.hasGuestTheme .categoryNav {
    background: rgba(248, 250, 252, 0.92);
  }

  html.guestMenuPage.hasGuestTheme .item {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(222, 226, 233, 0.76);
    backdrop-filter: blur(8px);
  }

  html.guestMenuPage.hasGuestTheme .card,
  html.guestMenuPage.hasGuestTheme .orderBox {
    background: rgba(255, 255, 255, 0.92);
  }
}
