/* ==========================================================================
   IT PASSWORD (scoped a .it-pass) — usa --brand / --brand-rgb
   Ruta: wp-content/mu-plugins/frontend/assets/css/it-password.css
   ========================================================================== */

/* Reset mínimo SOLO dentro del bloque .it-pass */
.it-pass, .it-pass * { box-sizing: border-box; }
.it-pass a, .it-pass button, .it-pass input, .it-pass label{
  font: inherit !important; color: inherit; text-decoration: none;
  background: none !important; border: none; outline: none;
  -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent;
}

/* ===== Layout / Fondo ===== */
.it-pass{
  position: relative;
  min-height: 100vh;
  padding: 20px 16px 28px;
  padding-bottom: calc(28px + env(safe-area-inset-bottom));
  color: #fff;
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  overflow: hidden;
  background: #000;
}
.it-pass .bgwrap{
  position: absolute; inset: 0; z-index: 0;
  display: grid; place-items: start center; background: #000;
}
.it-pass .bgwrap img{
  width: 100%; height: 100%;
  object-fit: contain; object-position: center top;
  display: block; opacity: .95; will-change: transform;
}
.it-pass .shade{
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.60) 32%,
    rgba(0,0,0,.94) 100%);
}

/* ===== Contenido ===== */
.it-pass .content{
  position: relative; z-index: 2;
  max-width: 470px; margin: 0 auto;
  padding-top: clamp(24vh, 30vh, 36vh);
}
@media (max-height: 740px){
  .it-pass .content{ padding-top: clamp(18vh, 24vh, 28vh); }
}
@media (max-width: 380px){
  .it-pass .content{ padding-top: 26vh; }
}

.it-pass .it-title{
  font-weight: 900; font-size: 22px; letter-spacing: .4px;
  margin: 0 2px 12px;
}

/* ===== Formulario ===== */
.it-pass form.it-form{ display: grid; gap: 22px; }   /* separa campo y botón */
.it-pass .it-field{ display: grid; gap: 8px; }
.it-pass .it-label{ font-size: .84rem; font-weight: 700; opacity: .92; }

/* --- Campo email (1 solo campo — fondo opaco y sin nada detrás) --- */
.it-pass .it-input{ position: relative; z-index: 3; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.it-pass .it-input::before, .it-pass .it-input::after{ content: none !important; }

.it-pass .it-input input{
  display: block; width: 100%; height: 52px; padding: 0 14px;
  color: #fff; font-size: 16px;
  background: #0A0C12 !important;     /* OPACO: no se ve nada detrás */
  border: 2px solid rgba(255,255,255,.42) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05) !important; /* solo inset suave */
  transition: border-color .12s ease, box-shadow .12s ease;
}
.it-pass .it-input input:-webkit-autofill,
.it-pass .it-input input:-webkit-autofill:hover,
.it-pass .it-input input:-webkit-autofill:focus{
  -webkit-text-fill-color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05) !important;
  background: #0A0C12 !important;
  transition: background-color 9999s ease-out 0s;
}
.it-pass .it-input input:focus{
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .18) !important, inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.it-pass .it-input input::placeholder{ color: rgba(255,255,255,.65); }

/* ===== Botón principal (diferenciado, no “asoma” detrás) ===== */
.it-pass .it-btn{
  position: relative; z-index: 1;
  display: block; width: 100%; height: 50px;
  border-radius: 18px !important;
  background: linear-gradient(180deg, var(--brand) 0%, var(--brand) 100%) !important;
  color: #fff !important; font-weight: 900; font-size: 16px; letter-spacing: .2px;
  border: none !important;
  box-shadow: 0 18px 28px rgba(var(--brand-rgb), .22); /* solo hacia abajo */
  cursor: pointer; user-select: none;
}
.it-pass .it-btn:hover, .it-pass .it-btn:focus{ filter: brightness(1.05); }
.it-pass .it-btn:active{ transform: translateY(1px); }

/* ===== Mensajes ===== */
.it-pass .it-msg{ margin: 4px 0 0; padding: 12px 14px; border-radius: 12px; }
.it-pass .it-err{ background: rgba(255,93,93,.15); border: 1px solid rgba(255,255,255,.30); }
.it-pass .it-ok { background: rgba(0,210,122,.15); border: 1px solid rgba(255,255,255,.30); }

/* ===== “Volver al login” ===== */
.it-pass .it-back{
  display: block; width: 100%; text-align: center;
  padding: 12px 14px; border-radius: 14px; margin-top: 2px;
  font-weight: 700; font-size: .95rem;
  color: rgba(var(--brand-rgb), .95) !important;
  background: rgba(var(--brand-rgb), .10);
  border: 1px solid rgba(var(--brand-rgb), .35);
}
