/* Axion password visibility control — shared by authentication, checkout and dashboard forms. */
.ax-password-control{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  flex:1 1 auto;
}
.ax-password-control>input{
  width:100%;
  padding-right:50px!important;
}
.ax-password-toggle{
  position:absolute;
  z-index:4;
  top:50%;
  right:8px;
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  transform:translateY(-50%);
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(190,80,255,.34);
  border-radius:10px;
  color:#caa8df;
  background:linear-gradient(145deg,rgba(88,25,137,.30),rgba(255,0,190,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  cursor:pointer;
  transition:border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.ax-password-toggle:hover{
  color:#fff;
  border-color:rgba(255,74,221,.72);
  background:linear-gradient(145deg,rgba(129,31,197,.48),rgba(255,0,190,.16));
  box-shadow:0 0 20px rgba(197,34,255,.20),inset 0 1px 0 rgba(255,255,255,.08);
}
.ax-password-toggle:focus-visible{
  outline:2px solid #ff24ce;
  outline-offset:2px;
}
.ax-password-toggle[aria-pressed="true"]{
  color:#23e6bd;
  border-color:rgba(35,230,189,.58);
  background:rgba(10,76,65,.28);
  box-shadow:0 0 18px rgba(35,230,189,.13);
}
.ax-password-toggle:active{
  transform:translateY(-50%) scale(.94);
}
.ax-password-toggle svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.ax-password-control>input:disabled+.ax-password-toggle{
  opacity:.45;
  cursor:not-allowed;
}
@media (max-width:600px){
  .ax-password-control>input{padding-right:48px!important}
  .ax-password-toggle{right:7px;width:35px;height:35px}
}
@media (prefers-reduced-motion:reduce){
  .ax-password-toggle{transition:none}
}
