body.theme-noir {
  background:
    radial-gradient(circle at 50% 26%, rgba(201, 154, 95, .14), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(255, 244, 225, .06), transparent 36%),
    linear-gradient(180deg, #090807 0%, #0d0c0b 56%, #070605 100%);
  color: #f6ebdf;
}

body.theme-noir .page-noise {
  opacity: .14;
}

body.theme-noir .smoke-layer {
  opacity: 0;
}

body.theme-noir .order-card {
  background:
    linear-gradient(180deg, rgba(14, 13, 12, .98), rgba(8, 7, 7, .99)),
    radial-gradient(circle at 50% 0%, rgba(201, 154, 95, .12), transparent 46%);
  box-shadow:
    0 22px 90px rgba(0, 0, 0, .84),
    inset 0 1px 0 rgba(255, 255, 255, .03);
}

body.theme-noir .order-card::before {
  border-color: rgba(201, 154, 95, .56);
}

body.theme-noir .card-venue,
body.theme-noir .field-title,
body.theme-noir .input-box span,
body.theme-noir .lead-kicker,
body.theme-noir .lead-field span {
  color: #d8b07c;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .28em;
}

body.theme-noir .card-head h1,
body.theme-noir .card-head p,
body.theme-noir .lead-header h2,
body.theme-noir .lead-copy,
body.theme-noir .lead-message {
  font-family: Georgia, "Times New Roman", serif;
}

body.theme-noir .card-head h1 {
  /* Keep long, unbreakable titles inside the shared card on desktop. */
  max-width: 100%;
  font-size: clamp(48px, 4.8vw, 68px);
  color: #f8efe1;
  letter-spacing: -.075em;
  text-wrap: balance;
}

body.theme-noir .card-head p,
body.theme-noir .lead-copy,
body.theme-noir .lead-message {
  color: rgba(236, 221, 201, .76);
}

body.theme-noir .choice,
body.theme-noir .chip {
  border-color: rgba(201, 154, 95, .62);
  background: rgba(255, 255, 255, .015);
  color: #f2e7da;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .18em;
}

body.theme-noir .choice:hover,
body.theme-noir .chip:hover {
  border-color: rgba(240, 210, 160, .92);
  background: rgba(201, 154, 95, .08);
}

body.theme-noir .choice.active,
body.theme-noir .chip.active {
  border-color: rgba(241, 208, 157, .95);
  background:
    linear-gradient(180deg, rgba(241, 208, 157, .24), rgba(172, 128, 68, .11)),
    rgba(255, 255, 255, .02);
  color: #fff7eb;
  box-shadow:
    0 14px 36px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

body.theme-noir .input-box,
body.theme-noir .lead-field {
  border-color: rgba(201, 154, 95, .42);
  background: rgba(255, 255, 255, .012);
}

body.theme-noir .input-box input,
body.theme-noir .lead-field input {
  color: #f7efe4;
  font-family: Georgia, "Times New Roman", serif;
}

body.theme-noir .input-box input::placeholder {
  color: rgba(247, 239, 228, .48);
}

body.theme-noir .input-box input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(.85) sepia(.25) saturate(4) hue-rotate(350deg);
  opacity: .82;
}

body.theme-noir .input-box:hover,
body.theme-noir .time-field:hover .input-box,
body.theme-noir .input-box:has(input[type="time"]):hover {
  border-color: rgba(241, 208, 157, .78);
  background: rgba(201, 154, 95, .04);
}

body.theme-noir .submit-btn,
body.theme-noir .lead-submit {
  border-color: rgba(241, 208, 157, .95);
  background:
    linear-gradient(135deg, #efd19c 0%, #c89658 44%, #f1d7ac 100%);
  color: #16110c;
  font-family: Georgia, "Times New Roman", serif;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .42),
    inset 0 1px 0 rgba(255, 255, 255, .32);
}

body.theme-noir .submit-btn:hover,
body.theme-noir .lead-submit:hover {
  background:
    linear-gradient(135deg, #f6dfb8 0%, #d7a463 44%, #f7e1bd 100%);
  color: #120d08;
}

body.theme-noir .submit-btn b,
body.theme-noir .lead-submit b {
  color: inherit;
}

body.theme-noir .lead-backdrop {
  background: rgba(3, 2, 2, .78);
}

body.theme-noir .lead-card {
  border-color: rgba(201, 154, 95, .42);
  background:
    linear-gradient(180deg, rgba(14, 13, 12, .98), rgba(7, 6, 6, .99)),
    radial-gradient(circle at 50% 0%, rgba(201, 154, 95, .14), transparent 58%);
  box-shadow:
    0 26px 110px rgba(0, 0, 0, .86),
    0 0 0 1px rgba(255, 255, 255, .02);
}

body.theme-noir .lead-message.error {
  color: #f2b28d;
}

body.theme-noir .lead-message.success {
  color: #ffe1a8;
}

body.theme-noir .close-btn {
  border-color: rgba(201, 154, 95, .52);
  color: #f8efe1;
}

body.theme-noir .close-btn:hover {
  background: rgba(241, 208, 157, .12);
  color: #fff3dc;
}

body.theme-noir .public-admin-entry {
  border-color: rgba(201, 154, 95, .52);
  background: rgba(0, 0, 0, .56);
  color: #f8efe1;
  text-shadow: none;
}

body.theme-noir .public-admin-entry:hover {
  background: rgba(0, 0, 0, .72);
}

body.theme-noir .choice::after,
body.theme-noir .chip::after {
  background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(255, 234, 198, .28), transparent 34%);
}

body.theme-noir .choice.pressed::after,
body.theme-noir .chip.pressed::after {
  opacity: .38;
}

@media (max-width: 680px) {
  body.theme-noir .card-head h1 {
    max-width: 100%;
    font-size: clamp(34px, 11.2vw, 54px);
    line-height: .84;
    letter-spacing: -.09em;
    text-wrap: balance;
  }

  body.theme-noir .card-head p {
    max-width: 100%;
    font-size: 14px;
  }

  body.theme-noir .card-venue {
    letter-spacing: .22em;
  }
}
