/* Public recovery only. Keep core errors, strength indicators and submission controls. */
:root {
    --vv-recovery-ink: #143e42;
    --vv-recovery-accent: #c11e6b;
    --vv-recovery-border: #e2e8f0;
    --vv-recovery-radius: 10px;
    --vv-recovery-target: 44px;
}
body.login { background: #f8fafc; color: var(--vv-recovery-ink); }
#login { width: min(360px, calc(100% - 32px)); padding-block-start: clamp(24px, 8vh, 80px); }
.login h1 a { width: 240px; height: 64px; background-size: contain; background-position: center; margin-block-end: 24px; }
.login form { border: 1px solid var(--vv-recovery-border); border-radius: var(--vv-recovery-radius); box-shadow: none; padding: 24px; }
.login label { line-height: 1.5; }
.login input[type=text], .login input[type=password], .login input[type=email] { min-height: var(--vv-recovery-target); font-size: 16px; border-color: var(--vv-recovery-border); border-radius: 6px; }
.login .button-primary { min-height: var(--vv-recovery-target); padding-inline: 16px; background: var(--vv-recovery-ink); border-color: var(--vv-recovery-ink); text-shadow: none; }
.login .button-primary:hover, .login .button-primary:focus { background: #1a5054; border-color: #1a5054; }
.login .button.wp-hide-pw { min-width: var(--vv-recovery-target); min-height: var(--vv-recovery-target); }
.login :is(a, button, input):focus-visible { outline: 2px solid var(--vv-recovery-accent); outline-offset: 3px; }
.login :is(#nav, #backtoblog) a { display: inline-flex; align-items: center; min-height: var(--vv-recovery-target); color: var(--vv-recovery-ink); }
.login .message, .login #login_error, .login .success { border-radius: 6px; line-height: 1.6; overflow-wrap: anywhere; }
.login .privacy-policy-page-link { line-height: 1.6; }
.login .language-switcher { display: none; }
.vv-recovery-languages { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 12px 16px 24px; }
.vv-recovery-languages a { display: inline-flex; align-items: center; min-height: var(--vv-recovery-target); padding-inline: 8px; color: var(--vv-recovery-ink); }
.vv-recovery-languages a[aria-current] { font-weight: 700; text-decoration-thickness: 2px; }
@media (max-width: 480px) { .login form { padding: 20px; } .login #nav, .login #backtoblog { padding-inline: 4px; margin-block: 4px; } }
