/* Megaburger — subtle effects layer */

.site-fx {
  cursor: url("../assets/cursor-fries.svg") 2 2, auto;
}

.site-fx a,
.site-fx button,
.site-fx .card,
.site-fx .promo-slide,
.site-fx .sidebar__item,
.site-fx .cat-pill,
.site-fx .cookie-bar,
.site-fx .cookie-bar button {
  cursor: url("../assets/cursor-fries.svg") 2 2, pointer;
}

/* ── Soft background glow ── */
.bg-glow {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 20%, rgba(232, 93, 4, 0.08) 0%, transparent 42%),
    radial-gradient(circle at 85% 15%, rgba(196, 30, 15, 0.05) 0%, transparent 38%);
}

/* ── Flying food background (desktop only) ── */
.bg-floats {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.floater {
  position: absolute;
  left: var(--x);
  bottom: -120px;
  width: var(--size);
  height: var(--size);
  object-fit: contain;
  opacity: 0.07;
  filter: blur(0.4px);
  animation: floatUp var(--dur) linear infinite;
  animation-delay: var(--delay);
  transform: translateX(var(--drift));
}

@keyframes floatUp {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(0.85);
    opacity: 0;
  }
  8% { opacity: 0.08; }
  50% {
    transform: translate3d(calc(var(--drift) * 2), -52vh, 0) rotate(180deg) scale(1);
  }
  92% { opacity: 0.06; }
  100% {
    transform: translate3d(calc(var(--drift) * 3), -110vh, 0) rotate(360deg) scale(0.9);
    opacity: 0;
  }
}

/* ── Promo ticker ── */
.promo-ticker {
  background: var(--mb-cream);
  border-bottom: 1px solid var(--mb-cream-2);
  overflow: hidden;
  padding: 12px 0;
  position: relative;
  z-index: 1;
}

.ticker {
  overflow: hidden;
}

.ticker__track {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
  animation: tickerRun 38s linear infinite;
  padding-left: 24px;
}

.promo-ticker:hover .ticker__track {
  animation-play-state: paused;
}

@keyframes tickerRun {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ticker__chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 16px 6px 6px;
  border-radius: 999px;
  background: var(--mb-white);
  border: 2px solid var(--mb-cream-2);
  color: var(--mb-brown);
  font-size: 0.8125rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: var(--shadow);
  transition: transform 0.25s var(--ease), border-color 0.25s var(--ease);
}

.ticker__chip:hover {
  transform: scale(1.03);
  border-color: var(--mb-orange);
}

.ticker__chip img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: contain;
  background: var(--mb-cream);
}

.ticker__chip--hot {
  border-color: rgba(196, 30, 15, 0.22);
  background: #fff8f5;
}

.ticker__dot {
  color: var(--mb-orange);
  font-size: 1.125rem;
  font-weight: 800;
}

/* ── Layer stacking ── */
.site-fx .header {
  z-index: 1100;
}

.site-fx .promo-carousel,
.site-fx .promo-ticker,
.site-fx .trust-strip,
.site-fx .page,
.site-fx .footer {
  position: relative;
  z-index: 1;
}

/* ── Card hover (clean, no rainbow border) ── */
.site-fx .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(26, 15, 10, 0.14);
}

.site-fx .card__order {
  position: relative;
  overflow: hidden;
}

.site-fx .sidebar {
  backdrop-filter: blur(8px);
  background: rgba(255, 252, 247, 0.94);
}

.site-fx .toast.is-visible {
  animation: toastBounce 0.45s var(--ease);
}

@keyframes toastBounce {
  0% { transform: translateX(-50%) translateY(60px) scale(0.9); }
  60% { transform: translateX(-50%) translateY(-4px) scale(1.03); }
  100% { transform: translateX(-50%) translateY(0) scale(1); }
}

@media (hover: none), (pointer: coarse) {
  .site-fx,
  .site-fx a,
  .site-fx button,
  .site-fx .card {
    cursor: auto;
  }

  .bg-floats {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ticker__track,
  .floater {
    animation: none !important;
  }
}
