/* Application Form — 5-step wizard (step indicator, panels, nav). */

/* ---- Step indicator ---- */
.dca-steps {
  list-style: none; margin: 0 0 30px; padding: 0;
  display: flex; gap: 4px;
}
.dca-step {
  flex: 1 1 0; position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  text-align: center; cursor: default; color: var(--text-muted, #6b7280);
}
.dca-step::before { /* connector line */
  content: ""; position: absolute; top: 17px; left: -50%; width: 100%; height: 2px;
  background: var(--border-subtle, #e5e0d8); z-index: 0;
}
.dca-step:first-child::before { display: none; }
.dca-step-num {
  position: relative; z-index: 1;
  width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display, serif); font-weight: 700; font-size: 15px;
  background: var(--surface-card, #fff); color: var(--text-muted, #6b7280);
  border: 2px solid var(--border-subtle, #e5e0d8); transition: all .25s ease;
}
.dca-step-label {
  font-family: var(--font-body, sans-serif); font-size: 12.5px; font-weight: 600;
  letter-spacing: .02em;
}
.dca-step.is-active { color: var(--navy-900, #0A2342); }
.dca-step.is-active .dca-step-num {
  background: var(--navy-800, #0A2342); color: #fff; border-color: var(--navy-800, #0A2342);
  box-shadow: 0 4px 14px rgba(10, 35, 66, .28);
}
.dca-step.is-done { color: var(--navy-800, #0A2342); cursor: pointer; }
.dca-step.is-done .dca-step-num {
  background: var(--gold-500, #D4AF37); color: var(--navy-900, #0A2342); border-color: var(--gold-500, #D4AF37);
}
.dca-step.is-done::before, .dca-step.is-active::before { background: var(--gold-300, #E5C76B); }

/* ---- Panels ---- */
.dca-apply-panel { animation: dcaFade .35s ease; }
.dca-apply-panel[hidden] { display: none; }
.dca-apply-h3 { font-family: var(--font-display, serif); font-weight: 700; font-size: 22px; color: var(--text-strong, #14110f); margin: 0 0 4px; }
.dca-apply-sub { font-family: var(--font-body, sans-serif); font-size: 14.5px; color: var(--text-body, #555); margin: 0 0 22px; }

/* invalid field highlight */
.dca-apply-form .dca-invalid { outline: 2px solid #c0392b !important; outline-offset: 1px; }

/* ---- Nav ---- */
.dca-apply-nav { display: flex; justify-content: space-between; gap: 14px; margin-top: 30px; }
.dca-apply-nav .dca-apply-next { margin-left: auto; }
.dca-apply-back, .dca-apply-next {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-body, sans-serif); font-weight: 600; font-size: 15px;
  padding: 13px 28px; border-radius: var(--radius-sm, 8px); border: none; cursor: pointer;
  transition: 220ms;
}
.dca-apply-back { background: transparent; color: var(--text-body, #555); border: 1px solid var(--border-subtle, #e5e0d8); }
.dca-apply-back:hover { background: var(--surface-muted, #f4f1ec); }
.dca-apply-next { background: var(--navy-800, #0A2342); color: #fff; }
.dca-apply-next:hover { background: var(--navy-900, #081A31); }
.dca-apply-nav [hidden] { display: none; }

/* ---- Review summary (card — matches the reference design) ---- */
.dca-review-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 44px; margin-bottom: 24px; background: #f7f9fc; border: 1px solid #e6eaf0; border-radius: 16px; padding: 32px 36px; }
.dca-review-summary .dca-rev-row { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dca-review-summary .dca-rev-k { font-family: var(--font-body, sans-serif); font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #6b7280; }
.dca-review-summary .dca-rev-v { font-family: var(--font-body, sans-serif); font-size: 16px; line-height: 1.45; color: #16233b; word-break: break-word; }
.dca-apply-agree { display: flex; flex-direction: column; gap: 12px; }
.dca-apply-agree label { display: flex; gap: 10px; align-items: flex-start; font-family: var(--font-body, sans-serif); font-size: 14px; color: var(--text-body, #555); cursor: pointer; }
.dca-apply-agree input { margin-top: 3px; flex: 0 0 auto; }

/* ---- Success ---- */
.dca-apply-success { text-align: center; padding: 30px 10px; animation: dcaFade .35s ease; }
.dca-apply-success[hidden] { display: none; }
.dca-apply-success-ico { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1d7a46, #14633a); color: #fff; margin-bottom: 16px; }
.dca-apply-success h3 { font-family: var(--font-display, serif); font-weight: 700; font-size: 26px; color: var(--text-strong, #14110f); margin: 0 0 8px; }
.dca-apply-success p { font-family: var(--font-body, sans-serif); font-size: 15px; color: var(--text-body, #555); max-width: 440px; margin: 0 auto 22px; line-height: 1.6; }

@media (max-width: 640px) {
  .dca-step-label { display: none; }
  .dca-review-summary { grid-template-columns: 1fr; padding: 24px 20px; gap: 20px; }
  .dca-apply-nav { flex-wrap: wrap; }
}
