
.register-body {
  background: linear-gradient(180deg, var(--brand-soft) 0%, #ffffff 55%);
}

.register-section {
  padding: calc(var(--nav-height) + 3rem) 0 5rem;
}

.register-wrap {
  max-width: 720px;
  margin: 0 auto;
}

.register-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.register-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}
.register-step-circle {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 700;
  background: #ffffff;
  border: 2px solid var(--border-c);
  color: var(--text-muted);
}
.register-step-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
}
.register-step.is-active .register-step-circle {
  border-color: var(--brand);
  background: var(--brand);
  color: #ffffff;
}
.register-step.is-active .register-step-label { color: #212925; }
.register-step.is-done .register-step-circle {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-hover);
}
.register-step-line {
  width: 64px;
  height: 2px;
  background: var(--border-c);
}

.register-card {
  background: #ffffff;
  border: 1px solid var(--border-c);
  border-radius: 0.625rem;
  padding: 2.25rem;
  box-shadow: 0 4px 14px rgba(20, 30, 25, 0.06);
}
@media (max-width: 575.98px) {
  .register-card { padding: 1.5rem; }
}

.register-panel-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #212925;
  margin-bottom: 0.25rem;
}
.register-panel-subtitle {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}

#regOrgName,
#regFirstName,
#regLastName,
#regEmail {
  border-color: var(--brand);
  border-width: 2px;
  background-color: var(--brand);
  color: #ffffff;
  font-weight: 500;
}
#regOrgName::placeholder,
#regFirstName::placeholder,
#regLastName::placeholder,
#regEmail::placeholder {
  color: rgba(255, 255, 255, 0.75);
}

#regTerms {
  border-color: var(--brand);
  border-width: 2px;
}
#regTerms:checked {
  background-color: var(--brand);
  border-color: var(--brand);
}

/* Business ID / Tax ID / Industry + Organization Address + Organization
   Locations fields — same brand color as Organization Name above, but
   faded (--brand-soft is the existing "faded brand" token used elsewhere
   in the site, e.g. icon badges). */
#regOrgBusinessId,
#regOrgTaxId,
#regOrgIndustry,
#regOrgCountry,
#regOrgState,
#regOrgCity,
#regOrgStreetName,
#regOrgStreetNumber,
#regOrgBuilding,
#regOrgFloor,
#regOrgZip,
.register-location-row .form-control,
.register-location-row .form-select {
  background-color: var(--brand-soft);
}

.register-subsection-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #212925;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-c);
  margin-bottom: 0.75rem;
}

.register-location-row {
  background: var(--bg-alt);
  border: 1px solid var(--border-c);
  border-radius: var(--bs-border-radius);
  padding: 1.25rem;
  margin-bottom: 1rem;
}
.register-location-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #212925;
}

.register-success {
  text-align: center;
  padding: 1.5rem 0.5rem;
}
.register-success-icon {
  width: 56px; height: 56px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background: var(--brand-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: var(--brand-hover);
}
.register-success-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #212925;
  margin-bottom: 0.75rem;
}
.register-success-text {
  font-size: 0.9375rem;
  color: var(--text-muted);
  max-width: 440px;
  margin: 0 auto 1.5rem;
  line-height: 1.7;
}
