/* FPFX password visibility control — shared by authentication, checkout and dashboard forms. */
.fpfx-password-control{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  flex:1 1 auto;
}
.fpfx-password-control>input{
  width:100%;
  padding-right:50px!important;
}
.fpfx-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(231,177,105,.34);
  border-radius:10px;
  color:#dfc7a8;
  background:linear-gradient(145deg,rgba(137,88,25,.30),rgba(219,166,36,.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;
}
.fpfx-password-toggle:hover{
  color:#fff;
  border-color:rgba(230,190,99,.72);
  background:linear-gradient(145deg,rgba(196,125,32,.48),rgba(219,166,36,.16));
  box-shadow:0 0 20px rgba(224,160,65,.20),inset 0 1px 0 rgba(255,255,255,.08);
}
.fpfx-password-toggle:focus-visible{
  outline:2px solid #e0b243;
  outline-offset:2px;
}
.fpfx-password-toggle[aria-pressed="true"]{
  color:#22C55E;
  border-color:rgba(34,197,94,.58);
  background:rgba(12,74,38,.28);
  box-shadow:0 0 18px rgba(34,197,94,.13);
}
.fpfx-password-toggle:active{
  transform:translateY(-50%) scale(.94);
}
.fpfx-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;
}
.fpfx-password-control>input:disabled+.fpfx-password-toggle{
  opacity:.45;
  cursor:not-allowed;
}
@media (max-width:600px){
  .fpfx-password-control>input{padding-right:48px!important}
  .fpfx-password-toggle{right:7px;width:35px;height:35px}
}
@media (prefers-reduced-motion:reduce){
  .fpfx-password-toggle{transition:none}
}
