/* Modern wizard UI that still works with your existing theme/Bootstrap */

.aita-center { float: none; margin: 0 auto; }

.aita-form-card{
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  max-width: 1000px;
  margin: 0 auto;
}

.aita-form-card__header{
  padding: 22px 22px 10px;
  background: #202C45;
  color: #fff;
}

.aita-form-card__title{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .2px;
}

.aita-form-card__title i{ margin-right: 8px; }

.aita-form-card__subtitle{
  margin-top: 6px;
  opacity:.9;
  font-size: 13px;
}

.aita-steps{
  display:flex;
  gap: 0;
  padding: 16px 24px;
  background:#f8fafc;
  border-bottom: 1px solid rgba(0,0,0,.06);
  flex-wrap: wrap;
  justify-content: space-between;
}

.aita-step{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 8px 12px;
  background: transparent;
  border: none;
  opacity: .5;
  flex: 1 1 auto;
  position: relative;
  transition: all 0.3s ease;
}

.aita-step.is-active,
.aita-step.is-done{
  opacity:1;
}

.aita-step__circle{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(32,44,69,.08);
  color: #202C45;
}

.aita-step.is-active .aita-step__circle{
  background: rgba(32,44,69,1);
  color:#fff;
}

.aita-step.is-done .aita-step__circle{
  background: rgba(40,167,69,1);
  color:#fff;
}

.aita-step__label{
  font-weight: 700;
  font-size: 14px;
  color:#202C45;
}

/* Margin Spacing override for cleaner rhythm */
.aita-step-panel .mb-15 {
  margin-bottom: 24px !important;
}

.aita-step-panel{
  display:none;
  padding: 18px 22px 22px;
}

.aita-step-panel.is-active{ display:block; }

.aita-section-title{
  font-size: 15px;
  font-weight: 800;
  color:#202C45;
  margin: 0 0 12px;
}

.aita-section-title i{ margin-right: 8px; }

.aita-label{
  display:block;
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 8px;
  color:#202C45;
}

.aita-input-group {
  border-radius: 8px;
  transition: box-shadow 0.2s ease;
}

.aita-input-group .input-group-addon{
  background: transparent;
  border: 1px solid rgba(0,0,0,.12);
  border-right: none;
  color: rgba(32,44,69,.6);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  padding: 12px 16px;
}

.aita-input-group .form-control{
  border: 1px solid rgba(0,0,0,.12);
  border-left-color: transparent;
  box-shadow: none;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 12px 16px 12px 0;
  font-size: 14px;
  height: auto;
  color: #333;
}

.aita-input-group .form-control:focus{
  border-color: #202C45;
  border-left-color: transparent;
  box-shadow: none;
}

.aita-input-group.is-focused {
  box-shadow: 0 0 0 4px rgba(32,44,69,.12);
  border-radius: 8px;
}

.aita-input-group.is-focused .input-group-addon {
  border-color: #202C45;
  color: #202C45;
  border-right-color: transparent;
}

/* Chosen Select Override for Premium styling */
.chosen-container-multi .chosen-choices {
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 8px !important;
  padding: 6px 8px !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 14px;
  color: #333;
  transition: all 0.2s ease;
}
.chosen-container-active .chosen-choices {
  border-color: #202C45 !important;
  box-shadow: 0 0 0 4px rgba(32,44,69,.12) !important;
}

/* Validation States */
@keyframes aita-shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}

.aita-input-group.has-error {
  animation: aita-shake 0.4s ease-in-out;
}
.aita-input-group.has-error .form-control,
.aita-input-group.has-error .input-group-addon {
  border-color: #dc3545;
}
.aita-input-group.has-error .input-group-addon {
  background-color: #fdf2f2;
  color: #dc3545;
}
.aita-input-group.has-error .form-control:focus {
  box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.15);
}

.aita-error-msg {
  display: none;
  color: #dc3545;
  font-size: 12px;
  font-weight: 600;
  margin-top: 4px;
}
.aita-input-group.has-error + .aita-error-msg {
  display: block;
}

.aita-actions{
  margin-top: 12px;
  display:flex;
  justify-content:flex-end;
  gap: 10px;
}

.aita-actions--between{ justify-content: space-between; }

.aita-btn{
  border-radius: 12px !important;
  padding: 12px 16px;
}

.aita-paymode{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.aita-paymode__item{ margin: 0; cursor:pointer; }

.aita-paymode__radio{ display:none; }

.aita-paymode__box{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font-weight: 700;
  color:#202C45;
}

.aita-paymode__radio:checked + .aita-paymode__box{
  border-color: rgba(32,44,69,1);
  background: rgba(32,44,69,.06);
}

.aita-bank-fields.is-hidden{ display:none; }

.aita-captcha{
  display:flex;
  align-items:center;
  gap: 10px;
}

.aita-captcha__q{
  min-width: 120px;
  padding: 10px 12px;
  background:#f1f5f9;
  border-radius: 12px;
  border:1px solid rgba(0,0,0,.08);
  font-weight: 900;
  color:#202C45;
  text-align:center;
}

.aita-captcha__a{ flex:1; }

.aita-terms{
  padding: 12px 12px;
  border: 1px dashed rgba(0,0,0,.15);
  border-radius: 12px;
  background: #fff;
}

.aita-terms__label{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  margin:0;
  font-weight: 600;
}

.aita-review-note{
  padding: 12px 12px;
  border-radius: 12px;
  background: rgba(32,44,69,.06);
  color: #202C45;
  font-weight: 700;
}

@media (max-width: 576px){
  .aita-form-card__header{ padding: 18px 16px 10px; }
  .aita-step-panel{ padding: 16px; }
  .aita-actions{ flex-direction: column; }
  .aita-actions--between{ flex-direction: column; }
  .aita-captcha{ flex-direction: column; align-items: stretch; }
  .aita-captcha__q{ width: 100%; }
}