.ndx-b2b-reg__vat-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: stretch;
}

.ndx-b2b-reg__vat-controls input {
  flex: 1 1 12rem;
  min-width: 0;
}

.ndx-b2b-reg__gus-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.ndx-b2b-reg__gus-status {
  margin-top: 0.35rem;
}

.ndx-b2b-reg-intro {
  margin-bottom: 1.25rem;
}

.ndx-b2b-reg__email-gate {
  margin-top: 0.35rem;
}

.ndx-b2b-reg__email-gate.alert {
  margin-top: 0.5rem;
  margin-bottom: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.95rem;
  font-weight: 600;
}

form.js-customer-form.ndx-b2b-reg--email-locked .ndx-b2b-reg__locked {
  opacity: 0.55;
}

form.js-customer-form.ndx-b2b-reg--email-locked .ndx-b2b-reg__locked input,
form.js-customer-form.ndx-b2b-reg--email-locked .ndx-b2b-reg__locked select,
form.js-customer-form.ndx-b2b-reg--email-locked .ndx-b2b-reg__locked textarea {
  pointer-events: none;
  background-color: var(--bs-secondary-bg, #f1f1f1);
}

/* Password is auto-generated on activation — hide FO field + policy hints */
form.js-customer-form [data-ps-ref="password-field"],
form.js-customer-form #field-password,
form.js-customer-form .password-field,
form.js-customer-form .password-requirements,
form.js-customer-form .password-invalid-message,
form.js-customer-form .password-valid-message,
form.js-customer-form .password-length-message,
form.js-customer-form .my-3:has(.password-requirements) {
  display: none !important;
}

form.js-customer-form .mb-3:has(#field-password) {
  display: none !important;
}
