:root {
  --pgo-brand: #8f1d2c;
  --pgo-brand-strong: #66121d;
  --pgo-ink: #271d1b;
  --pgo-muted: #756661;
  --pgo-cream: #fffaf5;
  --pgo-paper: #fffefd;
  --pgo-line: #ead9cf;
  --pgo-gold: #d7a15b;
}

body.public-group-order-page {
  background:
    radial-gradient(circle at 8% 7%, rgba(143, 29, 44, .08), transparent 24rem),
    linear-gradient(180deg, #fffdfa 0, #fff8f1 42rem, #fffdf9 100%) !important;
  color: var(--pgo-ink);
}

body.public-group-order-page::before {
  display: none !important;
}

.public-group-order-page .nl-container {
  max-width: 1220px;
}

.public-group-order-page .group-hero {
  padding: 34px 0 22px;
}

.public-group-order-page .group-shell {
  gap: 0;
  grid-template-columns: 1.02fr .98fr;
  overflow: hidden;
  border: 1px solid rgba(143, 29, 44, .14);
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(62, 20, 26, .16);
}

.public-group-order-page .group-copy {
  min-width: 0;
  padding: clamp(32px, 5vw, 64px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff;
  background:
    radial-gradient(circle at 5% 5%, rgba(226, 119, 100, .34), transparent 16rem),
    linear-gradient(135deg, #351014, #711823 58%, #981f2d) !important;
  box-shadow: none !important;
}

.public-group-order-page .group-copy::before {
  width: 340px;
  height: 340px;
  left: -150px;
  bottom: -190px;
  border: 1px solid rgba(255, 255, 255, .13);
  background: transparent !important;
  box-shadow: 0 0 0 38px rgba(255, 255, 255, .055), 0 0 0 78px rgba(255, 255, 255, .03);
}

.public-group-order-page .group-copy .nl-pill {
  color: #ffe3c5;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .09);
}

body.public-group-order-page.public-contrast-v238 .group-copy h1 {
  max-width: 570px;
  margin: 18px 0 12px;
  color: #fff !important;
  font-size: clamp(36px, 4.6vw, 58px);
  line-height: 1.45;
}

body.public-group-order-page.public-contrast-v238 .group-copy .hero-lead {
  max-width: 570px;
  color: #ecd9d6 !important;
  font-size: 15px;
  line-height: 2.15;
}

.public-group-order-page .group-copy .nl-btn.primary {
  color: #691521 !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(22, 5, 8, .26) !important;
}

.public-group-order-page .group-copy .nl-btn.light {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .28) !important;
  background: rgba(255, 255, 255, .09) !important;
}

.public-group-order-page .rules-grid {
  margin-top: 28px;
}

.public-group-order-page .rule {
  border-color: rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .075);
}

.public-group-order-page .rule b {
  color: #ffd6ad;
}

.public-group-order-page .rule span {
  color: #e7d2ce;
}

.public-group-order-page .hero-visual.public-hero-image {
  min-height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.public-group-order-page .hero-visual.public-hero-image img {
  min-height: 570px !important;
  filter: saturate(.9) contrast(1.02);
}

.public-group-order-page .hero-visual.public-hero-image::after {
  right: 24px;
  bottom: 24px;
  border-color: rgba(255, 255, 255, .7);
  border-radius: 16px;
  color: var(--pgo-brand-strong);
  background: rgba(255, 253, 249, .92);
  backdrop-filter: blur(12px);
}

.public-group-order-page .nl-section {
  padding: 42px 0;
}

.public-group-order-page .order-card,
.public-group-order-page .order-form-card,
.public-group-order-page .summary-box,
.public-group-order-page .lead-card {
  border: 1px solid var(--pgo-line) !important;
  border-radius: 26px !important;
  background: rgba(255, 254, 252, .96) !important;
  box-shadow: 0 20px 58px rgba(63, 31, 26, .09) !important;
}

.public-group-order-page .order-card,
.public-group-order-page .order-form-card {
  padding: clamp(20px, 3vw, 30px);
}

.public-group-order-page .nl-section-title {
  color: var(--pgo-ink) !important;
}

.public-group-order-page .nl-section-sub {
  color: var(--pgo-muted);
}

.public-group-order-page .nl-pill {
  color: var(--pgo-brand-strong);
  background: #faeae5;
}

.public-group-order-page .nl-pill.blue,
.public-group-order-page .nl-pill.green {
  color: var(--pgo-brand-strong) !important;
  background: #faeae5 !important;
}

.public-group-order-page .food-grid {
  gap: 18px;
}

.public-group-order-page .food-card,
.public-group-order-page .addon-panel,
.public-group-order-page .addon-card {
  border-color: var(--pgo-line) !important;
  background: var(--pgo-paper) !important;
  box-shadow: 0 14px 38px rgba(58, 30, 24, .075) !important;
}

.public-group-order-page .food-card {
  border-radius: 22px;
}

.public-group-order-page .food-card .pic {
  height: 190px;
  background: #f5e9df;
}

.public-group-order-page .food-badge.main,
.public-group-order-page .food-badge.addon,
.public-group-order-page .qty button {
  color: var(--pgo-brand-strong);
  background: #faeae5;
}

.public-group-order-page .food-price {
  color: var(--pgo-brand);
}

.public-group-order-page .addon-panel {
  border-radius: 20px;
}

.public-group-order-page .addon-panel summary {
  color: var(--pgo-ink);
  background: linear-gradient(90deg, #fff6ef, #fffdfa);
}

.public-group-order-page .summary-box {
  top: 90px;
  border-top: 5px solid var(--pgo-brand) !important;
}

.public-group-order-page .summary-box::before {
  background: linear-gradient(90deg, var(--pgo-brand), var(--pgo-gold)) !important;
}

.public-group-order-page .summary-mini .mini,
.public-group-order-page .note-box {
  border-color: #ead5ca;
  color: #65423d;
  background: #fff5ed;
}

.public-group-order-page .summary-mini strong {
  color: var(--pgo-brand);
}

.public-group-order-page .nl-field input,
.public-group-order-page .nl-field textarea,
.public-group-order-page .nl-field select {
  border-color: #dfccc1;
  border-radius: 13px;
  background: #fffdfb;
}

.public-group-order-page .nl-field input:focus,
.public-group-order-page .nl-field textarea:focus,
.public-group-order-page .nl-field select:focus {
  border-color: var(--pgo-brand);
  box-shadow: 0 0 0 4px rgba(143, 29, 44, .09);
}

.public-group-order-page .nl-btn.primary,
.public-group-order-page .nl-action-confirm {
  background: linear-gradient(135deg, #a62634, #741620) !important;
  box-shadow: 0 14px 32px rgba(116, 22, 32, .22) !important;
}

.public-group-order-page .lead-card::before {
  background: var(--pgo-brand) !important;
}

.public-group-order-page .lead-card h3 {
  color: var(--pgo-brand-strong) !important;
}

.public-group-order-page .pgo-empty-program {
  max-width: 820px;
  margin: 12px auto 20px;
  padding: clamp(32px, 6vw, 64px);
  text-align: center;
  border: 1px solid var(--pgo-line);
  border-radius: 30px;
  background: linear-gradient(145deg, #fffefd, #fff5ed);
  box-shadow: 0 24px 70px rgba(66, 31, 27, .1);
}

.public-group-order-page .pgo-empty-program-icon {
  width: 74px;
  height: 74px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, var(--pgo-brand), var(--pgo-brand-strong));
  font-size: 32px;
}

.public-group-order-page .pgo-empty-program h2 {
  margin: 18px 0 10px;
  color: var(--pgo-ink);
  font-size: clamp(25px, 3.5vw, 38px);
  line-height: 1.55;
}

.public-group-order-page .pgo-empty-program p {
  max-width: 650px;
  margin: 0 auto 24px;
  color: var(--pgo-muted);
  line-height: 2;
}

.public-group-order-page .pgo-empty-program .nl-actions {
  justify-content: center;
}

.public-group-order-page .nl-footer .footer-shell {
  border-radius: 28px;
  background: linear-gradient(135deg, #2e0e12, #681721);
}

.public-group-order-page .nl-footer .footer-shell b {
  color: #ffd3aa;
}

@media (max-width: 1100px) {
  .public-group-order-page .group-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .public-group-order-page .hero-visual.public-hero-image img {
    min-height: 360px !important;
  }
}

@media (max-width: 760px) {
  .public-group-order-page .group-hero {
    padding: 18px 0 10px;
  }

  .public-group-order-page .group-shell {
    border-radius: 24px;
  }

  .public-group-order-page .group-copy {
    padding: 28px 22px !important;
  }

  body.public-group-order-page.public-contrast-v238 .group-copy h1 {
    font-size: clamp(30px, 9.2vw, 34px);
  }

  .public-group-order-page .group-copy .nl-actions,
  .public-group-order-page .group-copy .rules-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .public-group-order-page .group-copy .nl-actions .nl-btn {
    width: 100%;
  }

  .public-group-order-page .hero-visual.public-hero-image img {
    min-height: 260px !important;
  }

  .public-group-order-page .order-card,
  .public-group-order-page .order-form-card,
  .public-group-order-page .summary-box {
    border-radius: 20px !important;
  }

  .public-group-order-page .pgo-empty-program {
    border-radius: 22px;
    padding: 32px 20px;
  }
}
