/* Shared branding for WordPress login, registration and password recovery. */
body.login {
    background: #f7f7f2;
    color: #232820;
    font-family: Arial, Helvetica, sans-serif;
    min-height: 100vh;
}
body.login #login {
    box-sizing: border-box;
    width: min(440px, calc(100% - 32px));
    padding: clamp(28px, 7vh, 76px) 0 32px;
}
body.login h1 a {
    width: min(280px, 100%);
    height: 82px;
    margin: 0 auto 28px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
body.login form {
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #dcded4;
    border-radius: 12px;
    box-shadow: 0 10px 32px rgba(35, 40, 32, .06);
    padding: 28px;
    margin-top: 20px;
    overflow: visible;
}
body.login form::after { content: ""; display: table; clear: both; }
body.login label { color: #293427; font-size: 15px; }
body.login input[type="text"],
body.login input[type="email"],
body.login input[type="password"] {
    box-sizing: border-box;
    border-color: #7b8472;
    border-radius: 6px;
    color: #232820;
    background: #fff;
    font-size: 18px;
    min-height: 48px;
}
body.login input[type="checkbox"] { border-color: #7b8472; }
body.login input:focus,
body.login select:focus {
    border-color: #536b20;
    box-shadow: 0 0 0 2px #536b20;
    outline: 2px solid transparent;
}
body.login .button-primary {
    background: #d6f266;
    border: 1px solid #536b20;
    border-radius: 6px;
    color: #232820;
    text-shadow: none;
    box-shadow: none;
    font-weight: 700;
    min-height: 44px;
    padding: 5px 20px;
}
body.login .button-primary:hover,
body.login .button-primary:active { background: #c3e34c; border-color: #536b20; color: #232820; }
body.login .button-primary:disabled,
body.login .button-primary[disabled] { background: #e8ebdf !important; color: #59614f !important; border-color: #b9c0ad !important; }
body.login .button-primary:focus-visible,
body.login a:focus-visible,
body.login button:focus-visible { outline: 3px solid #536b20; outline-offset: 3px; box-shadow: none; }
body.login .button.wp-hide-pw { color: #536b20; min-height: 44px; }
body.login #nav, body.login #backtoblog { padding-inline: 8px; line-height: 1.8; }
body.login #nav a, body.login #backtoblog a,
body.login .privacy-policy-page-link a { color: #435d20; text-decoration: underline; text-underline-offset: 3px; }
body.login #nav a:hover, body.login #backtoblog a:hover { color: #232820; }
body.login .message, body.login .success, body.login #login_error {
    border-radius: 6px;
    box-shadow: none;
    background: #fff;
    color: #232820;
    overflow-wrap: anywhere;
}
body.login .message { border-left-color: #759125; }
body.login .success { border-left-color: #28733d; }
body.login #login_error { border-left-color: #b32d2e; }
body.login .language-switcher { padding: 0 16px 24px; }
body.login .language-switcher form { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.login .language-switcher select { max-width: min(230px, 60vw); }
body.login.interim-login #login { padding-top: 16px; }
body.login.interim-login h1 a { height: 54px; margin-bottom: 16px; }
@media (max-width: 380px) {
    body.login form { padding: 20px; }
    body.login .forgetmenot { float: none; margin-bottom: 16px; }
    body.login p.submit { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    body.login * { animation: none !important; transition: none !important; }
}
