/* Joomla registration fields share the form width; password controls get their own row. */
.registration-form #member-registration .form-group > .input-group,
.registration-form #member-registration .password-group,
.registration-form #member-registration .password-group > .input-group,
.registration-form #member-registration .password-group .form-control { width: 100%; }
.registration-form #member-registration .password-group > .input-group { display: block; }
.registration-form #member-registration .password-group .form-control { min-width: 0; }
.registration-form #member-registration .input-password-toggle.checkbox-material {
  display: inline-flex; align-items: center; gap: 8px; width: auto; margin: 12px 0 0;
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  color: #263238; font: inherit; font-weight: normal; line-height: inherit; text-transform: none;
}
.registration-form #member-registration .input-password-toggle.checkbox-material:hover { background: transparent; box-shadow: none; color: #263238; }
.registration-form #member-registration .input-password-toggle.checkbox-material:focus-visible { outline: 2px solid #03a9f4; outline-offset: 3px; }
.registration-form #member-registration .input-password-toggle.checkbox-material .icon-fw { font-size: 20px; }
.registration-form #member-registration .password-group meter { display: block; box-sizing: border-box; width: 100%; height: 25px; margin: 16px 0 4px; }
.registration-form #member-registration .password-group output { display: block; min-height: 1.3em; }
.registration-form #member-registration [id$="-rules"] { display: block; width: 100%; margin: 4px 0 0; color: #657680; }
@media (max-width: 767px) {
  .registration-form #member-registration .col-md-6 { width: 100%; }
}

.registration-form #member-registration .input-password-toggle .icon-fw { color: #7cb342; }

/* Keep the fixed-size Turnstile widget centered below a static label. */
.registration-form #member-registration .registration-captcha { margin-top: 36px; text-align: center; }
.registration-form #member-registration .registration-captcha > .input-group {
  display: flex; flex-direction: column; align-items: center; width: 100%;
}
.registration-form #member-registration .registration-captcha .input-group-addon { display: none; }
.registration-form #member-registration .registration-captcha label.control-label {
  position: static; display: block; margin: 0 0 12px;
  color: #78909c; font-size: 100% !important; line-height: 1.4;
}
.registration-form #member-registration .registration-captcha .cf-turnstile {
  display: block; width: 300px; max-width: 100%; min-height: 65px; margin: 0 auto;
}
.registration-form #member-registration .registration-captcha .cf-turnstile iframe { max-width: 100%; }
