/* Native WordPress recovery forms; authentication fields and behaviour stay native.
   Five roles: title, body, label, button, caption. */
body.login {
  --jfm-auth-title: 700 clamp(26px, 5vw, 30px)/1.2 Manrope, Arial, sans-serif;
  --jfm-auth-body: 400 15px/1.65 Manrope, Arial, sans-serif;
  --jfm-auth-label: 600 14px/1.4 Manrope, Arial, sans-serif;
  --jfm-auth-button: 700 15px/1.4 Manrope, Arial, sans-serif;
  --jfm-auth-caption: 600 12px/1.4 Manrope, Arial, sans-serif;
  --jfm-auth-ink: #182922;
  --jfm-auth-muted: #5b6862;
  --jfm-auth-blue: #075ddd;
  --jfm-auth-line: #dce4de;
  box-sizing: border-box;
  min-height: 100vh;
  margin: 0;
  padding: 48px 20px 32px;
  background: #f7f8f5;
  color: var(--jfm-auth-ink);
  font: var(--jfm-auth-body);
}
body.login *, body.login *::before, body.login *::after { box-sizing: border-box; }
body.login #login { width: min(100%, 440px); margin: 0 auto; padding: 0; }
body.login .wp-login-logo { margin: 0 0 38px; padding: 0; }
body.login .wp-login-logo a {
  width: min(100%, 254px); height: 36px; margin: 0;
  padding: 0; background: url(logo-jobs.png) no-repeat left center/contain;
}
body.login .jfm-auth-intro { margin-bottom: 24px; }
body.login .jfm-auth-eyebrow { margin: 0 0 10px; color: var(--jfm-auth-blue); font: var(--jfm-auth-caption); letter-spacing: .1em; }
body.login .jfm-auth-title { margin: 0; font: var(--jfm-auth-title); letter-spacing: -.035em; text-wrap: balance; }
body.login form {
  overflow: visible; margin-top: 20px; padding: 28px;
  border: 1px solid var(--jfm-auth-line); border-radius: 16px;
  background: #fff; box-shadow: 0 8px 28px #18292207;
}
body.login label { color: var(--jfm-auth-ink); font: var(--jfm-auth-label); }
body.login form .input, body.login input[type=text], body.login input[type=password], body.login input[type=email] {
  width: 100%; min-height: 50px; margin: 9px 0 20px; padding: 11px 13px;
  border: 1px solid #b5c2ba; border-radius: 8px; background: #fff;
  color: var(--jfm-auth-ink); font: var(--jfm-auth-body); box-shadow: none;
}
body.login input:focus { border-color: var(--jfm-auth-blue); outline: 2px solid #075ddd33; outline-offset: 2px; box-shadow: none; }
body.login.wp-core-ui .button.button-primary {
  display: inline-flex; align-items: center; justify-content: center;
  float: none; width: 100%; min-height: 48px; padding: 12px 18px;
  border: 1px solid var(--jfm-auth-blue); border-radius: 8px;
  background: var(--jfm-auth-blue); color: #fff; font: var(--jfm-auth-button);
  text-shadow: none; box-shadow: none; white-space: normal;
}
body.login .button-primary:hover { background: #054bb4; border-color: #054bb4; }
body.login a:focus-visible, body.login button:focus-visible, body.login .button:focus-visible { outline: 3px solid #ff4a8b; outline-offset: 3px; box-shadow: none; }
body.login .message, body.login .notice, body.login #login_error {
  margin: 0 0 18px; padding: 15px 17px; border: 0; border-left: 3px solid var(--jfm-auth-blue);
  border-radius: 0 8px 8px 0; background: #eef4fe; color: var(--jfm-auth-ink);
  font: var(--jfm-auth-body); box-shadow: none; overflow-wrap: anywhere;
}
body.login .notice-error, body.login #login_error { border-left-color: #b63145; background: #fff0f2; }
body.login .notice-success { border-left-color: #167348; background: #edf8f1; }
body.login .message p, body.login .notice p, body.login #login_error p { font: var(--jfm-auth-body); }
body.login #nav, body.login #backtoblog, body.login .privacy-policy-page-link { padding: 0; margin: 20px 0 0; color: var(--jfm-auth-muted); font: var(--jfm-auth-label); }
body.login #backtoblog { margin-top: 14px; }
body.login #nav a, body.login #backtoblog a, body.login .privacy-policy-page-link a { color: var(--jfm-auth-muted); text-decoration: none; }
body.login #nav a:hover, body.login #backtoblog a:hover { color: var(--jfm-auth-blue); text-decoration: underline; }
body.login .forgetmenot { float: none; margin: 0 0 20px; }
body.login .forgetmenot label, body.login .description, body.login .pw-weak { font: var(--jfm-auth-label); }
body.login .wp-pwd { margin-bottom: 16px; }
body.login .wp-pwd .input { margin-bottom: 0; padding-right: 42px; }
body.login .wp-hide-pw { top: 9px; right: 2px; height: 48px; }
body.login #pass-strength-result { margin: 0 0 12px; padding: 8px; font: var(--jfm-auth-label); }
body.login .language-switcher { max-width: 440px; margin: 24px auto 0; padding: 0; }
body.login .language-switcher form { padding: 0; border: 0; background: none; box-shadow: none; }
@media (max-width: 480px) { body.login { padding: 36px 20px 28px; } body.login form { padding: 22px; } }

/* Match the streamlined front-end account screens. */
body.login{--jfm-auth-title:650 28px/1.25 Manrope,Arial,sans-serif;--jfm-auth-ink:#18212c;--jfm-auth-muted:#7a8493;--jfm-auth-blue:#1959d9;--jfm-auth-line:#dce1e8;background:#fff;padding:32px 20px 44px}
body.login .wp-login-logo{margin:0 0 52px}body.login .wp-login-logo a{width:220px;height:32px;margin:0 auto;background-position:center}
body.login .jfm-auth-eyebrow{display:none}body.login .jfm-auth-title{text-align:center;letter-spacing:-.025em;font-weight:650}body.login .jfm-auth-intro{margin-bottom:24px}
body.login form{padding:0;border:0;border-radius:0;box-shadow:none;margin-top:24px}body.login label{font-weight:550}body.login form .input,body.login input[type=text],body.login input[type=password],body.login input[type=email]{font-size:16px;border-color:#dce1e8;border-radius:10px;min-height:50px}
body.login.wp-core-ui .button.button-primary{min-height:52px;border-radius:10px;font-size:16px;font-weight:600}body.login .button-primary:hover{background:#1247b2;border-color:#1247b2}
body.login #nav,body.login #backtoblog,body.login .privacy-policy-page-link{text-align:center;font-size:14px}body.login #nav a,body.login #backtoblog a{color:#1959d9}body.login #backtoblog{display:none}
body.login .message,body.login .notice,body.login #login_error{font-size:14px;line-height:1.65;border-radius:10px}body.login .message p,body.login .notice p,body.login #login_error p{font-size:14px}
@media(max-width:480px){body.login{padding:28px 20px 40px}body.login .wp-login-logo{margin-bottom:38px}body.login .jfm-auth-title{font-size:26px}body.login form{padding:0}}

/* Align recovery branding with the main site header. */
body.login .wp-login-logo a{position:absolute;top:28px;left:max(20px,calc((100% - 1180px)/2));margin:0;background-position:left center}body.login .wp-login-logo{height:32px}
@media(max-width:480px){body.login .wp-login-logo a{top:24px;left:20px}}
