/* Public program application (/apply) — paired with program_application.js */

.pa-page { max-width: 760px; margin: 32px auto 64px; padding: 0 16px; }

.pa-hero { margin-bottom: 20px; }
.pa-hero h1 { color: #2c5282; margin-bottom: 8px; font-size: 1.9rem; }
.pa-eyebrow {
  text-transform: uppercase; letter-spacing: .08em; font-size: .8rem;
  color: #6b7280; margin-bottom: 4px;
}

.pa-overview { margin-bottom: 20px; }
.pa-details { border: 1px solid #e5e7eb; border-radius: 8px; background: #f9fafb; }
.pa-details > summary { cursor: pointer; padding: 12px 16px; font-weight: 600; color: #2c5282; }
.pa-details-body { padding: 4px 16px 12px; border-top: 1px solid #e5e7eb; }
.pa-details-body h2 { margin-top: 12px; }

/* Stepper */
.pa-stepper {
  list-style: none; padding: 0; margin: 0 0 20px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
}
.pa-stepper li {
  display: flex; align-items: center; gap: 8px; padding: 8px 6px;
  border-bottom: 3px solid #e5e7eb; color: #6b7280; font-size: .9rem;
}
.pa-stepper li span {
  display: inline-flex; width: 24px; height: 24px; border-radius: 50%;
  align-items: center; justify-content: center; font-size: .8rem; font-weight: 600;
  background: #e5e7eb; color: #374151; flex: 0 0 auto;
}
.pa-stepper li.is-active { border-bottom-color: #2c5282; color: #111827; font-weight: 600; }
.pa-stepper li.is-active span { background: #2c5282; color: #fff; }
.pa-stepper li.is-done span { background: #16a34a; color: #fff; }
.pa-stepper li.has-error { border-bottom-color: #dc2626; color: #b91c1c; }
.pa-stepper li.has-error span { background: #dc2626; color: #fff; }
@media (max-width: 560px) {
  .pa-stepper li { flex-direction: column; font-size: .75rem; text-align: center; gap: 4px; }
}

.pa-step-title { color: #2c5282; font-size: 1.3rem; margin: 8px 0 16px; }
.pa-field.has-error .form-control, .pa-field.has-error .form-select { border-color: #dc2626; }
ul.checkbox-list { list-style: none; padding-left: 0; margin: 0; }
ul.checkbox-list li { margin-bottom: 4px; }
ul.checkbox-list input[type="checkbox"] { margin-right: 6px; }

.pa-term-box {
  border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 8px;
  padding: 12px 16px; margin-bottom: 16px;
}
.pa-modality-box {
  border: 1px solid #e5e7eb; background: #f9fafb; border-radius: 8px;
  padding: 12px 16px; margin-bottom: 16px;
}
.pa-final-note {
  border-top: 1px solid #e5e7eb; margin-top: 20px; padding-top: 14px;
  color: #374151; font-size: .95rem;
}

.pa-nav {
  display: flex; align-items: center; gap: 12px; margin-top: 24px;
  padding-top: 16px; border-top: 1px solid #e5e7eb;
}
.pa-nav .pa-saved { margin-right: auto; }
.pa-nav .pa-next, .pa-nav .pa-submit { margin-left: auto; }

/* Honeypot: off-screen, never display:none (some bots skip hidden inputs). */
.pa-honeypot { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }

.pa-email-check.alert-warning, .pa-email-check.alert-success { margin-top: -8px; }

/* /apply/status */
.pa-summary dt { color: #6b7280; font-weight: 500; }
.pa-summary dd { margin-bottom: .5rem; }
