.jp-modal[hidden]{display:none}
.jp-modal{
  position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;
}
.jp-modal__backdrop{position:absolute;inset:0;background:rgba(12,10,30,.52)}
.jp-modal__panel{
  position:relative;z-index:1;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow:visible;
  background:#fff;border:1px solid var(--line,#E7E4F2);border-radius:var(--radius,18px);
  box-shadow:var(--shadow,0 24px 60px -28px rgba(69,37,248,.35));
  padding:32px 28px 26px;
}
.jp-modal__x{
  position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;background:transparent;
  font-size:1.6rem;line-height:1;color:var(--muted,#6E6B85);cursor:pointer;border-radius:8px;
}
.jp-modal__x:hover{background:var(--bg-soft,#F7F6FD);color:var(--ink,#0C0A1E)}
.jp-modal__title{
  font-family:'Sora',sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px;
}
.jp-modal__lead,.jp-modal__copy{font-size:.98rem;color:var(--ink-soft,#413E5A);margin-bottom:22px}
.jp-modal__welcome{font-family:'Sora',sans-serif;font-weight:600;margin:0 0 24px}
.jp-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:.86rem;font-weight:600;font-family:'Sora',sans-serif}
.jp-field input{
  font-family:'Inter',system-ui,sans-serif;font-weight:400;font-size:1rem;color:var(--ink,#0C0A1E);
  padding:12px 14px;border:1.5px solid var(--line,#E7E4F2);border-radius:12px;outline:none;background:#fff;
}
.jp-field input:focus{border-color:var(--primary,#4525F8);box-shadow:0 0 0 3px rgba(69,37,248,.12)}
.jp-field input.is-invalid{border-color:var(--accent,#FF002C)}
.jp-form__error{color:var(--accent,#FF002C);font-size:.88rem;margin:0 0 14px}
.jp-form__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.jp-form__actions .btn{flex:1;min-width:140px}
.jp-modal__login{margin-top:22px;padding-top:20px;border-top:1px solid var(--line,#E7E4F2)}
.jp-modal__login-btn{width:100%}
.jp-alert{
  background:#E8F6EE;color:#1B5E3A;border:1px solid #C5E6D2;border-radius:12px;
  padding:12px 14px;font-size:.94rem;font-weight:500;margin-bottom:18px;
}
.jp-form.is-loading [data-submit-registro]{opacity:.65;pointer-events:none}
.jp-recaptcha{margin:4px 0 16px}
body.jp-modal-open{overflow:hidden}

/* El challenge de imágenes de Google se inyecta en body y debe quedar sobre el modal */
.grecaptcha-badge,
body > div:has(iframe[src*="recaptcha"]),
body > div[style*="z-index: 2000000000"],
iframe[src*="recaptcha"],
iframe[src*="google.com/recaptcha"],
iframe[title="recaptcha challenge"]{
  z-index:2000000000 !important;
}

@media(max-width:600px){
  .jp-modal__panel{padding:26px 20px 22px}
  .jp-form__actions .btn{flex:1 1 100%}
}
