.form-control {
  border-bottom:2px solid var(--c-green) !important;
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  padding: .5em 1em;
  background:var(--y-dlight) !important;
}
.form-control::placeholder{color:var(--c-blugre); border:2px solid var(--c-green);}
label {
  color:var(--primary-color) !important;
  display: inline-block;
  max-width: 100%;
  margin:1em 0 .8em 0;
  font-weight: 400;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: none;
  box-shadow: none;
}
legend{margin:.8em 0 0 0;font-weight:700;letter-spacing:1.2px;color:var(--secondary-color) !important;}
/* ── Form 2 step ── */
.step-indicator {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.step-indicator .step-line {
  flex: 1;
  height: 2px;
  background: #dee2e6;
  border-radius: 1px;
}
.step-indicator .step-line.active {
  background: var(--c-blugre);
}
.step-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
}
.step-dot .dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #dee2e6;
  background: #fff;
  color: #adb5bd;
  font-weight: 700;
  font-size: .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s, color .2s;
}
.step-dot .step-label {
  font-size: .75rem;
  color: #adb5bd;
  white-space: nowrap;
  font-weight: 500;
  transition: color .2s;
}
.step-dot.active .dot {
  background: var(--c-blugre);
  border-color: var(--c-blugre);
  color: #fff;
}
.step-dot.active .step-label {
  color: var(--c-blugre);
  font-weight: 700;
}
.step-dot.done .dot {
  background: var(--c-blugre);
  border-color: var(--c-blugre);
  color: #fff;
}
.step-dot.done .step-label {
  color: var(--c-blugre);
}
.step-section { display: none; }
.step-section.active { display: block; }