/* Password field: ikon jobb oldalon, fix középre igazítás */
.password-field {
  --pwd-icon-size: 1.5rem;
  --pwd-icon-gap:  1rem;
  --pwd-tap-size:  2.2rem;
  --pwd-right-space: calc(var(--pwd-icon-size) + var(--pwd-icon-gap) + 0.5rem);
}

/* Csak az input + szem wrap-je legyen pozícionált */
.password-field .password-input-wrap {
  position: relative;
}

/* hely az ikon számára – az inputon */
.password-field .password-input-wrap .form-control {
  padding-right: var(--pwd-right-space);
}

/* invalid/valid állapotban se változzon a padding; háttérikonokat nem kérünk */
.password-field .password-input-wrap .form-control.is-invalid,
.password-field .password-input-wrap .form-control.is-valid {
  background-image: none !important;
  padding-right: var(--pwd-right-space);
}

/* Szem gomb — az input közepéhez igazítva */
.password-toggle-btn {
  position: absolute;
  top: 50%;
  right: var(--pwd-icon-gap);
  transform: translateY(-50%);
  width: var(--pwd-tap-size);
  height: var(--pwd-tap-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 0;
  line-height: 0;
  cursor: pointer;
}
.password-toggle-btn:focus,
.password-toggle-btn:active { outline: none !important; box-shadow: none !important; }

.password-toggle-btn i {
  font-size: var(--pwd-icon-size);
  opacity: 0.85;
}
.password-toggle-btn:hover i { opacity: 1; }

/* a hibaüzenet külön sorban, ne befolyásolja az ikon pozícióját */
.password-field .invalid-feedback {
  display: block;          /* mindig sorba törve az input alatt */
  margin-top: .375rem;     /* kis függőleges térköz */
}
