body[data-template-slug="nocturne-dining"] {
  --shell-bg: #120f11;
  --shell-surface: rgba(31, 21, 24, 0.82);
  --shell-surface-strong: #1a1315;
  --shell-ink: #f6efe5;
  --shell-muted: rgba(246, 239, 229, 0.72);
  --shell-accent: #b88a47;
  --shell-accent-2: #ead3a5;
  --shell-line: rgba(234, 211, 165, 0.13);
  --shell-glow: rgba(184, 138, 71, 0.22);
  --display-font: "Cormorant Garamond", serif;
  --body-font: "Instrument Sans", sans-serif;
}

.nocturne-shell .template-header.is-overlay .template-nav a,
.nocturne-shell .template-header.is-overlay .template-brand span {
  color: rgba(246, 239, 229, 0.72);
}

.nocturne-shell .template-header.is-overlay .template-brand strong,
.nocturne-shell .template-header.is-overlay .template-nav a:hover {
  color: #f6efe5;
}

.nocturne-hero__shell {
  align-items: end;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
}

.nocturne-stage {
  position: relative;
  min-height: 620px;
}

.nocturne-stage__frame {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(234, 211, 165, 0.12);
  border-radius: 42px;
  background:
    radial-gradient(circle at 24% 22%, rgba(184, 138, 71, 0.36), transparent 22%),
    linear-gradient(180deg, rgba(255, 242, 219, 0.08), transparent 40%),
    linear-gradient(135deg, #211518, #0d0b0d 72%);
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.4);
}

.nocturne-stage__orb {
  position: absolute;
  right: 11%;
  top: 10%;
  width: 180px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234, 211, 165, 0.58), transparent 62%);
  filter: blur(8px);
}

.nocturne-stage__plate {
  position: absolute;
  inset: auto 11% 9% auto;
  width: min(66%, 360px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.9), rgba(255, 245, 231, 0.24) 38%, rgba(255, 255, 255, 0.08) 65%, transparent 68%),
    radial-gradient(circle at 42% 44%, rgba(184, 138, 71, 0.58), transparent 20%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 26px 80px rgba(0, 0, 0, 0.32);
}

.nocturne-stage__card,
.nocturne-stage__caption {
  position: absolute;
  left: 2rem;
  padding: 1.2rem 1.25rem;
  max-width: 280px;
  border: 1px solid rgba(234, 211, 165, 0.13);
  border-radius: 20px;
  background: rgba(16, 12, 13, 0.76);
  backdrop-filter: blur(16px);
}

.nocturne-stage__card {
  top: 2rem;
}

.nocturne-stage__caption {
  bottom: 2rem;
}

.nocturne-stage__card span,
.nocturne-stage__caption span {
  display: block;
  color: rgba(246, 239, 229, 0.68);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
}

.nocturne-stage__card strong,
.nocturne-stage__caption strong {
  display: block;
  font-size: 1.08rem;
  line-height: 1.55;
}

.nocturne-menu .offer-card,
.nocturne-private .spotlight-card,
.nocturne-story,
.nocturne-hours {
  background: rgba(24, 17, 18, 0.86);
}

.nocturne-chef__grid {
  align-items: stretch;
}

.nocturne-story {
  padding: 2rem;
}

.nocturne-salon {
  display: grid;
  gap: 1rem;
}

.nocturne-salon__visual {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border: 1px solid rgba(234, 211, 165, 0.13);
  border-radius: 34px;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.06), transparent 36%),
    linear-gradient(160deg, #2c1e1f, #130f11 70%);
}

.nocturne-salon__pane {
  position: absolute;
  inset: 12% auto 12% 8%;
  width: 36%;
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(246, 239, 229, 0.18), transparent),
    linear-gradient(135deg, rgba(184, 138, 71, 0.18), rgba(255, 255, 255, 0.04));
}

.nocturne-salon__pane.is-second {
  left: auto;
  right: 8%;
  width: 42%;
}

.nocturne-salon__quote {
  position: absolute;
  left: 50%;
  bottom: 2rem;
  width: min(84%, 340px);
  transform: translateX(-50%);
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(234, 211, 165, 0.13);
  border-radius: 20px;
  background: rgba(16, 12, 13, 0.76);
}

.nocturne-hours {
  padding: 1.6rem;
}

.nocturne-reviews .review-card {
  background: rgba(18, 13, 15, 0.86);
}

@media (max-width: 920px) {
  .nocturne-hero__shell {
    grid-template-columns: 1fr;
  }

  .nocturne-stage {
    min-height: 520px;
  }

  .nocturne-stage__frame {
    min-height: 520px;
  }
}
