.spx-auth{--spx-text:#fff;--spx-muted:#a5a5a5;--spx-line:#666;--spx-error:#ff8585;position:relative;background:transparent!important;color:var(--spx-text);font-family:'Montserrat',Arial,sans-serif;width:100%;padding:0!important;box-sizing:border-box}
.spx-auth *{box-sizing:border-box}
.spx-auth [hidden]{display:none!important}
.spx-auth .spx-inner{width:100%;max-width:400px;margin:0 auto;padding:0;background:transparent}
.spx-auth .spx-panel,.spx-auth form.spx-form{margin:0;padding:0;border:0;background:transparent!important;box-shadow:none}
.spx-auth .spx-field{position:relative;margin:0 0 30px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important}
.spx-auth .spx-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.spx-auth .spx-row .spx-field{min-width:0}
/* Keep the underline design in every state, including UMP's native fallback.
   Scoped text inputs leave checkboxes, CAPTCHA and payment controls alone. */
.spx-auth .spx-panel :is(.spx-form input.spx-input,.spx-original input:is([type="text"],[type="email"],[type="password"])){display:block;width:100%;height:auto;min-height:46px;margin:0;padding:12px 0!important;-webkit-appearance:none!important;appearance:none!important;background:transparent!important;background-image:none!important;border:0!important;border-bottom:1px solid var(--spx-line)!important;border-radius:0!important;box-shadow:none!important;outline:none!important;outline-offset:0!important;color:var(--spx-text)!important;-webkit-text-fill-color:var(--spx-text)!important;caret-color:var(--spx-text)!important;font:600 16px/1.4 'Montserrat',Arial,sans-serif;transition:border-bottom-color .2s!important}
.spx-auth .spx-panel :is(.spx-form input.spx-input,.spx-original input:is([type="text"],[type="email"],[type="password"]))::placeholder{color:var(--spx-muted)!important;-webkit-text-fill-color:var(--spx-muted)!important;opacity:1}
/* A brighter underline supplies the focus cue without a rectangular box. */
.spx-auth .spx-panel :is(.spx-form input.spx-input,.spx-original input:is([type="text"],[type="email"],[type="password"])):focus{border-bottom-color:#fff!important}
.spx-auth .spx-panel .spx-form .spx-pass input.spx-input{padding-right:44px!important}
/* Browsers can force an autofill background with user-agent !important rules.
   Clip that fill to the text instead of painting an opaque inset shadow, so
   Elementor images, gradients and videos remain visible behind the fields. */
.spx-auth .spx-panel :is(.spx-form input.spx-input,.spx-original input:is([type="text"],[type="email"],[type="password"])):is(:autofill,:-webkit-autofill){-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:var(--spx-text)!important;caret-color:var(--spx-text)!important;box-shadow:none!important}
.spx-auth .spx-panel .spx-form .spx-field.has-error input.spx-input{border-bottom-color:var(--spx-error)!important}
.spx-auth .spx-original :is(form,.impu-form-line-fr,.iump-form-line-register){background:transparent!important;box-shadow:none!important}
.spx-auth .spx-error{font:500 12px/1.5 'Montserrat',Arial,sans-serif;color:var(--spx-error);margin:7px 0 0}
.spx-auth .spx-error:empty,.spx-auth .spx-general:empty,.spx-auth .spx-native-message:empty{display:none}
/* Reset theme/Elementor button rules, including minimum widths and pseudo-elements. */
.spx-auth .spx-form button.spx-eye{all:unset!important;position:absolute!important;right:0!important;top:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:32px!important;height:32px!important;min-width:0!important;min-height:0!important;max-width:32px!important;max-height:32px!important;padding:0!important;margin:0!important;background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;color:#aaa!important;cursor:pointer!important;opacity:1!important;line-height:1!important;z-index:1}
.spx-auth .spx-form button.spx-eye::before,.spx-auth .spx-form button.spx-eye::after{content:none!important;display:none!important}
.spx-auth .spx-form button.spx-eye svg{display:block!important;width:24px!important;height:24px!important;min-width:24px!important;flex:0 0 24px!important;opacity:1!important;visibility:visible!important;fill:none!important;stroke:currentColor!important;pointer-events:none}
.spx-auth .spx-form button.spx-eye svg *{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.spx-auth .spx-form button.spx-eye .spx-eye-slash{display:block!important}
.spx-auth .spx-form button.spx-eye.is-shown .spx-eye-slash{display:none!important}
.spx-auth .spx-form button.spx-eye:hover{color:#fff!important}
.spx-auth .spx-form button.spx-eye:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
.spx-auth .spx-legal{font:500 13px/1.65 'Montserrat',Arial,sans-serif;color:var(--spx-muted);margin:0!important;padding:0!important}
.spx-auth .spx-legal label{display:inline;font:inherit;color:inherit}
.spx-auth a{color:var(--spx-muted);text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.spx-auth a:hover,.spx-auth a:focus-visible{color:#fff}
.spx-auth .spx-consent,.spx-auth .spx-remember input{width:16px!important;height:16px!important;min-height:0!important;vertical-align:middle;margin:0 7px 0 0!important;padding:0!important;accent-color:#fff;appearance:auto}
.spx-auth .spx-legal.has-error{color:var(--spx-error)}
.spx-auth .spx-general{font:500 13px/1.5 'Montserrat',Arial,sans-serif;color:var(--spx-error);margin:16px 0 0!important;text-align:left}
.spx-auth .spx-actions{padding:26px 0 0!important;margin:0!important}
.spx-auth .spx-form .spx-submit{display:block!important;width:100%!important;height:auto!important;min-height:48px!important;margin:0!important;padding:14px 24px!important;background:transparent!important;background-image:none!important;border:1px solid #888!important;border-radius:999px!important;box-shadow:none!important;color:#ddd!important;font:700 14px/1.25 'Montserrat',Arial,sans-serif!important;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.spx-auth .spx-submit::before,.spx-auth .spx-submit::after{display:none!important;content:none!important}
.spx-auth .spx-form .spx-submit:hover,.spx-auth .spx-form .spx-submit:focus-visible{background:#fff!important;border-color:#fff!important;color:#111!important}
.spx-auth .spx-form .spx-submit:disabled{opacity:.55;cursor:wait;background:transparent!important;color:#ddd!important;border-color:#888!important}
.spx-auth .spx-switch{margin:24px 0 0!important;padding:0!important;text-align:center;color:var(--spx-muted);font:500 13px/1.65 'Montserrat',Arial,sans-serif}
.spx-auth .spx-switch a{font-weight:700;color:#fff;white-space:nowrap}
.spx-auth .spx-login-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:0;font:500 12px/1.6 'Montserrat',Arial,sans-serif;color:var(--spx-muted)}
.spx-auth .spx-remember{display:inline-flex;align-items:center;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.spx-auth .spx-native-message{font:500 14px/1.6 'Montserrat',Arial,sans-serif;margin:0 0 20px;color:var(--spx-text)}
.spx-auth .spx-submit:focus-visible,.spx-auth a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.spx-auth .spx-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:480px){.spx-auth .spx-row{gap:16px}}
@media(max-width:350px){.spx-auth .spx-row{grid-template-columns:1fr;gap:0}}
/* Social sign-in: "OR" divider and white pill buttons. */
.spx-auth .spx-social{margin:28px 0 0!important;padding:0!important}
.spx-auth .spx-or{margin:0 0 26px!important;padding:0!important;text-align:center;color:var(--spx-text);font:500 15px/1.4 'Montserrat',Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase}
.spx-auth .spx-social-error{margin:0 0 16px!important;padding:0!important;text-align:center;color:var(--spx-error);font:500 13px/1.5 'Montserrat',Arial,sans-serif}
.spx-auth a.spx-social-btn{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:50px!important;margin:0 0 12px!important;padding:13px 52px!important;background:#fff!important;background-image:none!important;border:1px solid #fff!important;border-radius:999px!important;box-shadow:none!important;color:#111!important;-webkit-text-fill-color:#111!important;font:700 13px/1.25 'Montserrat',Arial,sans-serif!important;letter-spacing:.03em!important;text-transform:uppercase!important;text-decoration:none!important;text-align:center!important;cursor:pointer;transition:background .2s,transform .1s}
.spx-auth a.spx-social-btn:last-child{margin-bottom:0!important}
.spx-auth a.spx-social-btn::before,.spx-auth a.spx-social-btn::after{content:none!important;display:none!important}
.spx-auth a.spx-social-btn:hover,.spx-auth a.spx-social-btn:focus-visible{background:#e9e9e9!important;border-color:#e9e9e9!important;color:#111!important}
.spx-auth a.spx-social-btn:active{transform:scale(.99)}
.spx-auth a.spx-social-btn:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
.spx-auth a.spx-social-btn.is-busy{opacity:.7;pointer-events:none}
.spx-auth .spx-social-icon{position:absolute!important;left:16px!important;top:50%!important;width:20px!important;height:20px!important;max-width:none!important;margin:-10px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:contain;pointer-events:none}
.spx-auth .spx-social + .spx-switch,.spx-auth .spx-social ~ .spx-switch{margin-top:32px!important}
