.kemke-password-toggle {
  position: relative;
}

.kemke-password-toggle > input.form-text,
.kemke-password-toggle > input.form-element,
.kemke-password-toggle > input[type="password"],
.kemke-password-toggle > input[type="text"] {
  padding-right: 2.75rem;
}

[dir="rtl"] .kemke-password-toggle > input.form-text,
[dir="rtl"] .kemke-password-toggle > input.form-element,
[dir="rtl"] .kemke-password-toggle > input[type="password"],
[dir="rtl"] .kemke-password-toggle > input[type="text"] {
  padding-right: inherit;
  padding-left: 2.75rem;
}

.kemke-password-toggle__button {
  position: absolute;
  top: 23px;;
  right: 0.75rem;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  transform: translateY(-50%);
}

[dir="rtl"] .kemke-password-toggle__button {
  right: auto;
  left: 0.75rem;
}

.kemke-password-toggle__button.is-active {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 10.7a3 3 0 0 0 4 4'/%3E%3Cpath d='M9.4 5.3A11.4 11.4 0 0 1 12 5c6.5 0 10 7 10 7a18.7 18.7 0 0 1-3.2 4.2'/%3E%3Cpath d='M6.7 6.7C4.1 8.5 2 12 2 12s3.5 7 10 7a10.8 10.8 0 0 0 5.3-1.3'/%3E%3C/svg%3E");
}

.kemke-password-toggle__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
