/* Nova — WordPress login, registration, recovery and reset-password surface. */
html {background:#eef2f8;}
body.login {
    --nova-accent:#6754d9;--nova-on-accent:#fff;--nova-link:#6754d9;--nova-sidebar:#172138;
    --nova-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--nova-radius:14px;--nova-button-radius:9px;
    margin:0;min-height:100vh;color:#202b43;font-family:var(--nova-font);background:#eef2f8;position:relative;overflow-x:hidden;
}
body.login::before {
    content:"";position:fixed;inset:auto -80px -18px auto;width:min(700px,58vw);height:min(330px,36vw);
    background:url('../images/mountains.svg') right bottom/contain no-repeat;opacity:.48;pointer-events:none;z-index:0;
}
body.login::after {
    content:"";position:fixed;width:380px;height:380px;left:-210px;top:-190px;border-radius:50%;background:#e5e0f8;opacity:.72;pointer-events:none;z-index:0;
}
body.login #login {width:min(420px,calc(100% - 36px));padding:7vh 0 48px;position:relative;z-index:1;}
body.login #login h1 {margin:0 0 18px;}
body.login #login h1 a {
    width:66px;height:66px;margin:0 auto;background:none!important;background-color:var(--nova-accent)!important;border-radius:20px;
    display:grid;place-items:center;text-indent:0;font-size:0;box-shadow:0 12px 28px rgba(35,45,72,.14);outline:none;
}
body.login #login h1 a::before {content:"N";color:var(--nova-on-accent);font:800 30px/1 var(--nova-font);letter-spacing:-1.5px;}
body.login #login h1 a:focus-visible {outline:3px solid rgba(103,84,217,.24);outline-offset:4px;box-shadow:0 12px 28px rgba(35,45,72,.14);}
body.login #loginform,body.login #registerform,body.login #lostpasswordform,body.login #resetpassform,body.login #confirm_admin_email {
    margin-top:0;padding:28px 30px 24px;border:1px solid #dde4f0;border-radius:22px;background:rgba(255,255,255,.96);
    box-shadow:0 18px 55px rgba(29,42,75,.10);overflow:visible;
}
body.login form .input,body.login input[type="text"],body.login input[type="password"],body.login input[type="email"] {
    box-sizing:border-box;width:100%;min-height:48px;margin:7px 0 18px;padding:10px 13px;border:1px solid #cbd5e5;border-radius:11px;
    background:#fbfcff;color:#202b43;font:500 15px/1.35 var(--nova-font);box-shadow:none;
}
body.login form .input:focus,body.login input[type="text"]:focus,body.login input[type="password"]:focus,body.login input[type="email"]:focus {
    border-color:var(--nova-link);outline:3px solid rgba(103,84,217,.14);box-shadow:none;
}
body.login label {color:#495873;font:600 13px/1.45 var(--nova-font);}
body.login .forgetmenot {display:flex;align-items:center;gap:12px;min-height:36px;}
body.login .forgetmenot label {display:inline-flex;align-items:center;gap:10px;font-weight:500;color:#60708a;cursor:pointer;user-select:none;pointer-events:auto;}
body.login .forgetmenot input[type="checkbox"] + label,body.login #rememberme + label,body.login input[name="rememberme"] + label {margin-left:0!important;}
/* Keep Remember Me native and keyboard-accessible, but give it an explicit Nova switch state. */
body.login .forgetmenot input[type="checkbox"],body.login #rememberme,body.login input[name="rememberme"] {
    -webkit-appearance:none!important;appearance:none!important;position:relative!important;display:inline-block!important;flex:0 0 38px!important;
    width:38px!important;height:22px!important;margin:0!important;padding:0!important;border:1px solid #aebbd0!important;border-radius:999px!important;
    background:#e7ecf4!important;box-shadow:inset 0 0 0 1px rgba(37,52,82,.03)!important;cursor:pointer!important;opacity:1!important;pointer-events:auto!important;
    vertical-align:middle!important;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;
}
body.login .forgetmenot input[type="checkbox"]::before,body.login #rememberme::before,body.login input[name="rememberme"]::before {
    content:""!important;position:absolute!important;display:block!important;width:16px!important;height:16px!important;left:2px!important;top:2px!important;
    margin:0!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 4px rgba(25,38,66,.24)!important;
    transform:translateX(0)!important;transition:transform .14s ease!important;
}
body.login .forgetmenot input[type="checkbox"]:checked,body.login #rememberme:checked,body.login input[name="rememberme"]:checked {
    background:var(--nova-accent)!important;border-color:var(--nova-accent)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)!important;
}
body.login .forgetmenot input[type="checkbox"]:checked::before,body.login #rememberme:checked::before,body.login input[name="rememberme"]:checked::before {transform:translateX(16px)!important;}
body.login .forgetmenot input[type="checkbox"]:focus-visible,body.login #rememberme:focus-visible,body.login input[name="rememberme"]:focus-visible {outline:3px solid rgba(103,84,217,.18)!important;outline-offset:2px!important;}
body.login .forgetmenot input[type="checkbox"]:disabled,body.login #rememberme:disabled,body.login input[name="rememberme"]:disabled {opacity:.55!important;cursor:not-allowed!important;}
body.login .button.wp-hide-pw {top:7px;right:5px;color:#60708a;}
body.login .button.wp-hide-pw:hover,body.login .button.wp-hide-pw:focus {color:var(--nova-link);background:transparent;box-shadow:none;}
body.login .submit {margin:4px 0 0;}
body.login .button-primary {
    min-height:42px;padding:0 18px;border:1px solid var(--nova-accent);border-radius:var(--nova-button-radius);background:var(--nova-accent);
    color:var(--nova-on-accent);font:700 13px/40px var(--nova-font);text-shadow:none;box-shadow:0 8px 18px rgba(29,42,75,.12);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}
body.login .button-primary:hover,body.login .button-primary:focus {background:var(--nova-accent);border-color:var(--nova-accent);color:var(--nova-on-accent);filter:brightness(.95);box-shadow:0 10px 22px rgba(29,42,75,.16);}
body.login .button-primary:focus-visible {outline:3px solid rgba(103,84,217,.24);outline-offset:2px;}
body.login #nav,body.login #backtoblog,body.login .privacy-policy-page-link {margin:16px 4px 0;padding:0;text-align:center;font-family:var(--nova-font);}
body.login #nav a,body.login #backtoblog a,body.login .privacy-policy-page-link a {display:inline-block;color:var(--nova-link);text-decoration:none!important;font-weight:600;padding:6px 8px;border-radius:8px;transition:color .14s ease,background-color .14s ease;}
body.login #nav a:hover,body.login #backtoblog a:hover,body.login .privacy-policy-page-link a:hover {color:var(--nova-link-hover,var(--nova-link));background:rgba(255,255,255,.74);text-decoration:none!important;}
body.login #backtoblog a::before {content:"← ";}
body.login .message,body.login #login_error,body.login .success {
    margin:0 0 16px;padding:13px 15px;border:1px solid #dce3ef;border-left:4px solid var(--nova-accent);border-radius:12px;background:#fff;
    color:#4e5c75;box-shadow:0 6px 20px rgba(29,42,75,.06);font-family:var(--nova-font);
}
body.login #login_error {border-left-color:#d65a76;}
body.login .success {border-left-color:#2f9c7b;}
body.login .language-switcher {margin-top:20px;position:relative;z-index:1;}
body.login .language-switcher form {display:flex;justify-content:center;align-items:center;gap:8px;}
body.login .language-switcher select {min-height:38px;border:1px solid #cbd5e5;border-radius:9px;background:#fff;color:#495873;box-shadow:none;}
body.login .language-switcher .button {min-height:38px;border:1px solid #cbd5e5;border-radius:9px;background:#fff;color:#495873;box-shadow:none;}
body.login.login-action-register #registerform,body.login.login-action-lostpassword #lostpasswordform,body.login.login-action-rp #resetpassform,body.login.login-action-resetpass #resetpassform {position:relative;}
body.login .wp-pwd {margin-bottom:16px;}
body.login .indicator-hint {color:#71809a;font-size:12px;line-height:1.5;}
body.login #reg_passmail {color:#71809a;font-size:12px;line-height:1.55;margin:0 0 16px;}
@media (max-width:600px) {
    body.login::before {width:90vw;height:42vw;opacity:.30;right:-70px;}
    body.login #login {padding-top:36px;width:min(390px,calc(100% - 28px));}
    body.login #loginform,body.login #registerform,body.login #lostpasswordform,body.login #resetpassform,body.login #confirm_admin_email {padding:24px 22px 20px;border-radius:18px;}
}
@media (prefers-reduced-motion:reduce) {body.login .button-primary,body.login .forgetmenot input[type="checkbox"],body.login #rememberme,body.login .forgetmenot input[type="checkbox"]::before,body.login #rememberme::before,body.login input[name="rememberme"]::before {transition:none!important;}}
body.login #login h1::after {content:"Nova";display:block;margin-top:10px;color:#22304c;font:800 20px/1.2 var(--nova-font);letter-spacing:-.4px;text-align:center;}
body.login #login form p {margin:0;}
body.login #login form .forgetmenot {float:none!important;margin:0 0 14px!important;}
body.login #login form .submit {float:none;margin:0;}
body.login #login form .submit .button-primary {float:none;width:100%;min-height:44px;line-height:42px;}
