/* 비밀번호 표시/숨김 토글 — input[type=password] 자동 강화(password-visibility-toggle.js) */

.pw-input-wrap {
  position: relative;
  display: block;
  width: 100%;
}

.pw-input-wrap > input,
.auth-field--float.pw-has-toggle > input {
  padding-right: 44px;
  box-sizing: border-box;
}

.pw-visibility-toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #8a93a8;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}

.pw-visibility-toggle:hover {
  color: #4b5563;
  background: rgba(15, 23, 42, 0.05);
}

.pw-visibility-toggle:focus-visible {
  outline: 2px solid var(--primary, #3a9d6e);
  outline-offset: 1px;
}

.pw-visibility-toggle__icon {
  display: block;
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.pw-visibility-toggle__icon--visible {
  display: none;
}

.pw-visibility-toggle.is-visible .pw-visibility-toggle__icon--hidden {
  display: none;
}

.pw-visibility-toggle.is-visible .pw-visibility-toggle__icon--visible {
  display: block;
}

/* 로그인 floating label — 토글은 입력창 세로 중앙 */
.auth-field--float.pw-has-toggle .pw-visibility-toggle {
  right: 8px;
}

/* 모바일 필드 */
.m-field .pw-input-wrap > input {
  width: 100%;
}

.m-field .pw-visibility-toggle {
  color: var(--mall-muted, #6b726e);
}

.m-field .pw-visibility-toggle:hover {
  color: var(--mall-ink, #141816);
  background: rgba(20, 24, 22, 0.06);
}

/* 관리자 재인증 게이트 */
html.admin-root .admin-access-gate__form .pw-input-wrap > input {
  width: 100%;
}

html.admin-root .admin-access-gate__form .pw-visibility-toggle {
  right: 10px;
}
