.menu-page {
  background: radial-gradient(circle at top, rgba(0, 217, 255, 0.08), transparent 55%), radial-gradient(circle at bottom, rgba(204, 255, 0, 0.06), transparent 55%), var(--color-background);
}

.menu-hero {
  padding-top: calc(var(--space-20) + var(--header-height));
  padding-bottom: var(--space-16);
}

.menu-hero__container {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-12);
  align-items: center;
}

.menu-hero__content {
  max-width: 640px;
}

.menu-hero__eyebrow {
  font-size: var(--font-size-sm);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin-bottom: var(--space-3);
}

.menu-hero__title {
  font-family: var(--font-display);
  font-weight: var(--font-weight-extrabold);
  margin-bottom: var(--space-4);
}

.menu-hero__subtitle {
  max-width: 36rem;
}

.menu-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-6);
  margin-bottom: var(--space-4);
}

.menu-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.menu-hero__meta-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.menu-hero__visual {
  position: relative;
  min-height: 260px;
}

.menu-hero__glow {
  position: absolute;
  inset: 10% 5%;
  border-radius: 40% 60% 55% 45%;
  background: radial-gradient(circle at 20% 0%, rgba(0, 217, 255, 0.38), transparent 55%), radial-gradient(circle at 80% 100%, rgba(204, 255, 0, 0.32), transparent 55%), radial-gradient(circle at 50% 40%, rgba(255, 107, 0, 0.3), transparent 60%);
  filter: blur(1px);
  opacity: 0.9;
}

.menu-hero__circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(192, 197, 206, 0.35);
  backdrop-filter: blur(6px);
}

.menu-hero__circle--primary {
  width: 190px;
  height: 190px;
  top: 16%;
  left: 10%;
  box-shadow: var(--glow-primary);
}

.menu-hero__circle--secondary {
  width: 140px;
  height: 140px;
  bottom: 8%;
  right: 12%;
  box-shadow: var(--glow-secondary);
}

.menu-hero__circle--accent {
  width: 90px;
  height: 90px;
  bottom: 36%;
  left: 40%;
  box-shadow: var(--glow-accent);
}

.menu-nav {
  padding-top: 0;
  padding-bottom: var(--space-6);
}

.menu-nav__container {
  border-top: 1px solid var(--color-gray-800);
  border-bottom: 1px solid var(--color-gray-800);
  backdrop-filter: blur(8px);
}

.menu-nav__list {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: var(--space-3);
  padding-top: var(--space-3);
  padding-bottom: var(--space-3);
  scrollbar-width: thin;
}

.menu-nav__list::-webkit-scrollbar {
  height: 4px;
}

.menu-nav__list::-webkit-scrollbar-thumb {
  background: var(--color-gray-600);
  border-radius: var(--radius-full);
}

.menu-nav__link {
  white-space: nowrap;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-700);
  background-color: rgba(15, 20, 25, 0.85);
  padding: var(--space-2) var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  transition: all var(--transition-fast);
}

.menu-nav__link:hover,
.menu-nav__link:focus-visible {
  color: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: var(--glow-primary);
}

.menu-section {
  position: relative;
}

.menu-section--with-divider {
  border-top: 1px solid var(--color-gray-800);
}

.menu-section--highlight {
  background: linear-gradient(135deg, rgba(0, 217, 255, 0.12), rgba(15, 20, 25, 0.5));
}

.menu-section--info {
  background-color: var(--color-background-elevated);
}

.menu-section--cta {
  background: radial-gradient(circle at top, rgba(0, 217, 255, 0.16), transparent 60%);
}

.menu-section__container {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: var(--space-10);
  align-items: center;
}

.menu-section__container--reverse {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
}

.menu-section__content--center {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

.menu-section__media {
  align-self: stretch;
}

.menu-section__figure {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  border: 1px solid rgba(192, 197, 206, 0.35);
  box-shadow: var(--shadow-xl), var(--glow-primary);
  background-color: var(--color-background-elevated);
}

.menu-section__figcaption {
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  background: linear-gradient(90deg, rgba(0, 217, 255, 0.16), transparent);
}

.menu-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-6);
  margin-bottom: var(--space-4);
}

.menu-grid--compact {
  gap: var(--space-3);
}

.menu-grid--drinks {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.menu-item__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-3);
}

.menu-item__price {
  font-family: var(--font-mono);
  font-size: var(--font-size-sm);
  color: var(--color-secondary);
}

.menu-item__meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-subtle);
}

.menu-item__price-line {
  display: flex;
  justify-content: flex-end;
}

.menu-item--full {
  grid-column: 1 / -1;
}

.menu-section__note {
  margin-top: var(--space-4);
}

.menu-section__link {
  color: var(--color-secondary);
}

.menu-section__link:hover {
  color: var(--color-secondary-light);
  text-shadow: var(--glow-secondary);
}

.menu-list {
  display: grid;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}

.menu-groups__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: space-between;
}

.menu-allergens__note {
  margin-top: var(--space-6);
}

.menu-cta__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.menu-cta__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-cta__card .btn-block {
  width: 100%;
}

@media (max-width: 1023px) {
  .menu-hero__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-hero__visual {
    order: -1;
  }

  .menu-section__container,
  .menu-section__container--reverse {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-section__media {
    order: -1;
  }
}

@media (max-width: 767px) {
  .menu-hero {
    padding-top: calc(var(--space-16) + var(--header-height));
    padding-bottom: var(--space-12);
  }

  .menu-hero__title {
    font-size: var(--font-size-3xl);
  }

  .menu-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .menu-grid {
    margin-top: var(--space-4);
  }

  .menu-nav__container {
    margin-left: calc(-1 * var(--container-padding));
    margin-right: calc(-1 * var(--container-padding));
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .menu-section {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
  }

  .menu-item__header {
    flex-direction: column;
    align-items: flex-start;
  }
}
