/* Public event request — HEADQUARTERS intake, aligned to command platform UI */
body[data-hq-program="public-request"] {
  --program-accent: var(--cc-green-700);
  --program-secondary: var(--cc-brass-500);
}

.public-request-shell {
  width: min(1120px, calc(100vw - 32px));
  max-width: none;
  min-height: 100vh;
  margin: 0 auto;
  padding: var(--cc-space-5) 0 var(--cc-space-8);
  display: grid;
  gap: var(--cc-space-5);
  background: transparent;
  color: var(--cc-ink);
}

.public-request-card,
#requestFormCard {
  border: 1px solid var(--cc-line);
  border-radius: var(--cc-radius-lg);
  background: var(--cc-surface-raised);
  color: var(--cc-ink);
  box-shadow: var(--cc-shadow-sm);
}

.public-request-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: var(--cc-space-6);
  align-items: end;
  padding: var(--cc-space-8);
  border-top: 4px solid var(--program-accent);
}

.public-request-card h2 {
  margin-bottom: var(--cc-space-3);
  color: var(--program-accent);
  font-family: var(--cc-font-display);
  font-size: var(--cc-title-xl);
  line-height: .98;
  max-width: 16ch;
}

.public-request-card p { margin-bottom: 0; }

.public-request-card .readiness-block {
  border: 1px solid var(--cc-line);
  border-radius: var(--cc-radius-md);
  background: var(--cc-surface-muted);
  box-shadow: none;
}

.public-request-card .readiness-block span {
  color: var(--cc-soft-muted);
  font-size: var(--cc-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 850;
}

.public-request-card .readiness-block strong {
  display: block;
  margin: var(--cc-space-2) 0;
  color: var(--program-accent);
  font-family: var(--cc-font-display);
  font-size: var(--cc-title-md);
}

#requestFormCard {
  padding: var(--cc-space-6);
}

#eventRequestForm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--cc-space-4);
}

.request-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--cc-space-3);
  margin: 0;
  padding: var(--cc-space-4);
  border: 1px solid var(--cc-line);
  border-radius: var(--cc-radius-md);
  background: var(--cc-surface-muted);
  color: var(--cc-muted);
}

.request-options legend {
  padding: 0 var(--cc-space-2);
  color: var(--cc-oxblood-700);
  font-size: var(--cc-micro);
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.request-options label {
  display: flex;
  align-items: center;
  gap: var(--cc-space-2);
  min-width: 0;
}

.request-options input { width: auto; }
.required-marker { color: var(--cc-oxblood-700); }

#submitRequestButton {
  min-height: 48px;
  letter-spacing: .11em;
  text-transform: uppercase;
}

#requestStatus,
#requestConfirmation {
  margin: 0;
}

#requestStatus {
  border: 1px solid rgba(124,15,24,.22);
  border-left: 4px solid var(--cc-oxblood-700);
  border-radius: var(--cc-radius-md);
  background: var(--cc-oxblood-100);
  color: var(--cc-ink);
  padding: var(--cc-space-3) var(--cc-space-4);
}

@media (max-width: 860px) {
  .public-request-card { grid-template-columns: 1fr; padding: var(--cc-space-6); }
  .public-request-card h2 { max-width: 100%; }
}

@media (max-width: 720px) {
  .public-request-shell { width: min(100vw, calc(100vw - 16px)); padding-top: var(--cc-space-3); }
  #requestFormCard,
  .public-request-card { padding: var(--cc-space-5); }
}
