/*------------------------------------------------------------------------
  Media Impact Funders - Login & Authentication Styles
  Brand Colors:
  - Primary Yellow: #feda30
  - Black: #212127
  - Gray Dark: #313136
  - Gray Med: #949494
  - Gray Pale: #f0f0f0
------------------------------------------------------------------------*/

/* =========================================
   CSS Variables
   ========================================= */
:root {
    --mif-yellow: #feda30;
    --mif-black: #212127;
    --mif-gray-dark: #313136;
    --mif-gray-med: #949494;
    --mif-gray-pale: #f0f0f0;
    --mif-gray: #bfbfbf;
    --mif-font-sans:
        "Avenir Next", "Helvetica Neue", "Helvetica", "Roboto", "Arial",
        sans-serif;
}

/* =========================================
   Login Page Styles
   ========================================= */
body.login {
    background-color: var(--mif-black) !important;
    font-family: var(--mif-font-sans);
}

body.login #login {
    padding-top: 6%;
}

body.login h1 a {
    background-image: url("../images/logo.svg") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 280px !important;
    height: 48px !important;
    margin-bottom: 30px !important;
}

body.login form {
    background: #fff;
    border: none !important;
    border-radius: 0;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
    padding: 26px 24px 34px;
}

body.login form .input,
body.login form input[type="text"],
body.login form input[type="password"],
body.login form input[type="email"] {
    background: var(--mif-gray-pale);
    border: 2px solid transparent;
    border-radius: 0;
    font-family: var(--mif-font-sans);
    font-size: 14px;
    padding: 10px 14px;
    transition: all 0.2s ease;
}

body.login form .input:focus,
body.login form input[type="text"]:focus,
body.login form input[type="password"]:focus,
body.login form input[type="email"]:focus {
    background: #fff;
    border-color: var(--mif-yellow);
    box-shadow: 0 0 0 1px var(--mif-yellow);
    outline: none;
}

body.login form label {
    color: var(--mif-black);
    font-family: var(--mif-font-sans);
    font-size: 13px;
    font-weight: 600;
}

body.login .button-primary {
    background: var(--mif-yellow) !important;
    border: 2px solid var(--mif-yellow) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--mif-black) !important;
    font-family: var(--mif-font-sans) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    height: auto !important;
    letter-spacing: 0.5px;
    line-height: 1.4 !important;
    padding: 10px 24px !important;
    text-shadow: none !important;
    transition: all 0.2s ease !important;
    width: 100%;
    margin-top: 10px;
}

body.login .button-primary:hover,
body.login .button-primary:focus {
    background: var(--mif-black) !important;
    border-color: var(--mif-black) !important;
    color: #fff !important;
}

body.login #nav {
    text-align: center;
}

body.login #backtoblog {
    display: none !important;
}

body.login #nav a {
    color: var(--mif-gray) !important;
    font-family: var(--mif-font-sans);
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.login #nav a:hover {
    color: var(--mif-yellow) !important;
}

body.login .privacy-policy-page-link a {
    color: var(--mif-gray) !important;
}

body.login .privacy-policy-page-link a:hover {
    color: var(--mif-yellow) !important;
}

/* Success/info messages (e.g., "Check your email") */
body.login .message,
body.login .success {
    background: var(--mif-gray-pale);
    border-left: 4px solid var(--mif-yellow);
    border-radius: 0;
    box-shadow: none;
    color: var(--mif-black);
    font-family: var(--mif-font-sans);
    margin-bottom: 20px;
    padding: 12px 16px;
}

/* Error messages */
body.login #login_error {
    background: #fff5f5;
    border-left: 4px solid #dc3545;
    border-radius: 0;
    box-shadow: none;
    color: #721c24;
    font-family: var(--mif-font-sans);
}

/* Remember Me checkbox */
body.login .forgetmenot {
    margin-top: 10px;
}

body.login input[type="checkbox"] {
    accent-color: var(--mif-yellow);
}

body.login input[type="checkbox"]:checked {
    background: var(--mif-yellow);
    border-color: var(--mif-yellow);
}

/* Lost Password page specific */
body.login.login-action-lostpassword .button-primary,
body.login.login-action-rp .button-primary {
    width: 100%;
}

/* Reset Password page */
body.login.login-action-rp #pass-strength-result {
    font-family: var(--mif-font-sans);
    border-radius: 0;
    margin-top: 10px;
}

body.login.login-action-rp .pw-weak {
    margin-top: 10px;
}

body.login.login-action-rp .pw-weak label {
    font-size: 12px;
}

/* Hide the WordPress language switcher if present */
body.login .language-switcher {
    margin-top: 20px;
}

body.login .language-switcher label {
    color: var(--mif-gray);
}

/* Interim login (session expired popup) */
body.interim-login {
    background: var(--mif-black) !important;
}

body.interim-login #login {
    padding-top: 0;
}

/* Two-factor auth compatibility (if using 2FA plugin) */
body.login .backup-methods-wrap a {
    color: var(--mif-gray) !important;
}

body.login .backup-methods-wrap a:hover {
    color: var(--mif-yellow) !important;
}

/* Password visibility toggle button */
body.login .wp-hide-pw {
    background: transparent !important;
    border: none !important;
    color: var(--mif-gray-med) !important;
    cursor: pointer;
    padding: 0 !important;
    transition: color 0.2s ease;
}

body.login .wp-hide-pw:hover {
    color: #078ca5 !important;
}

body.login .wp-hide-pw:focus {
    box-shadow: none !important;
    color: #078ca5 !important;
    outline: none !important;
}

body.login .wp-hide-pw .dashicons {
    color: inherit !important;
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
}
