/* Formulaire compte professionnel + champs mot de passe */

.customer-form__section {
  margin: 0 0 1.75rem;
  padding: 0;
  border: 0;
  min-width: 0;
}

.customer-form__section-title {
  display: block;
  width: 100%;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
  font-size: 1.15rem;
  font-weight: 700;
}

.password-field.lpspasswordsecurity,
.lpspasswordsecurity.input-group,
.lpspasswordsecurity,
.input-group.password-field {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.lpspasswordsecurity_wrapper {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: block !important;
  width: auto !important;
  padding-bottom: 8px;
}

.lpspasswordsecurity .lpspasswordfield {
  float: none !important;
  width: 100%;
  position: relative;
  z-index: 2;
  background-color: #fff !important;
}

.lpspasswordsecurity .lpspasswordmeter {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto !important;
  width: 100%;
  height: 8px !important;
  overflow: hidden;
  z-index: 4;
  pointer-events: none;
}

.lpspasswordsecurity .lpspasswordmeter > div {
  height: 8px !important;
}

.lpspasswordsecurity [data-ps-action="toggle-password"],
.password-field [data-ps-action="toggle-password"] {
  flex: 0 0 auto;
  position: relative;
  z-index: 3;
  margin-left: 0.75rem !important;
}

.password-field.lpspasswordsecurity .button-container,
.lpspasswordsecurity .button-container,
.lpspasswordconfirm .confirm-button-container,
.js-password-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  width: 100%;
  flex: 1 0 100%;
  margin-top: 0.75rem !important;
  margin-bottom: 0;
  padding-bottom: 1.25rem;
}

.password-field.lpspasswordsecurity .button-container button,
.lpspasswordsecurity .button-container button,
.lpspasswordconfirm .confirm-button-container button,
.js-password-actions button {
  flex: 0 0 auto;
  width: auto;
  margin: 0 !important;
}

.lpspasswordinfo {
  display: none !important;
}

.password-prerequisites {
  margin-top: 0.75rem;
  margin-bottom: 0.25rem;
}

.password-prerequisites__title {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bs-body-color, #212529);
}

.password-prerequisites__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.password-prerequisites__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  line-height: 1.35;
  color: var(--bs-secondary-color, #6c757d);
}

.password-prerequisites__mark,
.password-prerequisites__item span {
  flex: 0 0 auto;
  width: 0.85rem;
  height: 0.85rem;
  margin-top: 0.15rem;
  border: 2px solid #23a86d;
  border-radius: 50%;
  background: #f1f1f1;
}

.password-prerequisites__item.is-valid,
.password-prerequisites__item.is-valid .password-prerequisites__title {
  color: #198754;
}

.password-prerequisites__mark.valid,
.password-prerequisites__item span.valid {
  background: #23a86d;
}

.password-prerequisites__mark.invalid,
.password-prerequisites__item span.invalid {
  background: #f1f1f1;
  border-color: #adb5bd;
}

.password-prerequisites__item.is-invalid {
  color: var(--bs-secondary-color, #6c757d);
}

.mb-3:has([data-password-prerequisites]) .password-requirements {
  display: none;
}

#login-form .password-prerequisites,
#login-form [data-ps-ref="password-feedback-container"],
#checkout-login-form .password-prerequisites,
#checkout-login-form [data-ps-ref="password-feedback-container"] {
  display: none !important;
}

#customer-form .mb-3:has(select[name="lpsproaccount_country"]),
#customer-form .form-group:has(select[name="lpsproaccount_country"]) {
  display: none !important;
}
