/* USASEAN Forum login page — wp-login.php skin.
   Loaded via login_enqueue_scripts in functions.php. Targets the elements WP
   prints on wp-login.php (?action=login | ?action=rp set-new-password | etc.)
   and reskins them to match the public site palette (indigo / burnt-orange,
   Source Serif 4 + DM Sans). */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Source+Serif+4:ital,opsz@0,8..60;1,8..60&display=swap');

:root {
    --color-indigo:       #011737;
    --color-navy:         #1a37ad;
    --color-burnt-orange: #e65d33;
    --color-burnt-orange-hover: #d4522b;
    --color-white:        #ffffff;
    --color-prussian:     #8ba3c1;
}

html, body {
    background: var(--color-indigo) !important;
}

body.login {
    margin: 0 !important;
    font-family: 'DM Sans', 'Helvetica Neue', sans-serif !important;
    color: var(--color-white) !important;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    box-sizing: border-box;
}

#login {
    width: 100% !important;
    max-width: 520px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Every stack element collapses to its content width and centers in the
   flex column, so the visual baseline of logo / button / back-link is
   guaranteed to share the same vertical centerline. */
#login > * {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Header logo — white-on-transparent forum mark on the indigo background.
   Natural ratio of the source PNG is 3.33:1 (1024×307); render at 440×132. */
.login h1 {
    width: 440px !important;
    max-width: 100% !important;
    margin: 0 auto 1.5rem !important;
    padding: 0 !important;
    text-align: center !important;
}
.login h1 a {
    display: block !important;
    background-image: url('../images/login-logo.png'), none;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100% !important;
    height: 132px !important;
    margin: 0 !important;
    text-indent: -9999px;
    overflow: hidden;
}

/* Form card */
.login form {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    padding: 2rem !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
    margin-top: 0 !important;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    color: var(--color-white) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1rem !important;
    padding: 0.75rem 0.9rem !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
    border-color: var(--color-burnt-orange) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(230, 93, 51, 0.25) !important;
}

.login label,
.login p label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.875rem !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* Show password reveal button */
.login .button.wp-hide-pw {
    color: rgba(255, 255, 255, 0.6) !important;
}
.login .button.wp-hide-pw:hover {
    color: var(--color-burnt-orange) !important;
}

/* Submit button — orange pill, matches the public-site CTAs */
.login .button-primary,
.wp-core-ui .button-primary {
    background: var(--color-burnt-orange) !important;
    background-color: var(--color-burnt-orange) !important;
    border: none !important;
    border-radius: 9999px !important;
    color: var(--color-white) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 0.85rem 1.5rem !important;
    width: 100% !important;
    text-shadow: none !important;
    box-shadow: 0 6px 16px rgba(230, 93, 51, 0.35) !important;
    transition: background 0.2s ease, transform 0.05s ease !important;
    text-transform: none;
    letter-spacing: 0.02em;
}
.login .button-primary:hover,
.wp-core-ui .button-primary:hover {
    background: var(--color-burnt-orange-hover) !important;
    background-color: var(--color-burnt-orange-hover) !important;
}
.login .button-primary:active,
.wp-core-ui .button-primary:active {
    transform: translateY(1px);
}

/* "Remember Me" row */
.login .forgetmenot label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.login input[type="checkbox"] {
    accent-color: var(--color-burnt-orange);
}

/* Footer links — Lost password / Back to site */
.login #nav,
.login #backtoblog {
    text-align: center !important;
    margin: 1rem auto !important;
    padding: 0 !important;
}
.login #nav a,
.login #backtoblog a {
    color: var(--color-prussian) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    transition: color 0.2s ease;
}
.login #nav a:hover,
.login #backtoblog a:hover {
    color: var(--color-burnt-orange) !important;
}

/* Hide the language switcher (clutter on a single-locale event site) */
.language-switcher {
    display: none !important;
}

/* Messages (success / error / password-set instructions) */
.login .message,
.login #login_error,
.login .notice {
    background: rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid var(--color-burnt-orange) !important;
    color: var(--color-white) !important;
    border-radius: 6px !important;
    padding: 0.85rem 1rem !important;
    margin: 0 0 1rem !important;
    box-shadow: none !important;
}
.login .message a,
.login #login_error a,
.login .notice a {
    color: var(--color-burnt-orange) !important;
}

/* Password strength indicator */
.login #pass-strength-result {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--color-white) !important;
    border-radius: 6px !important;
}
.login #pass-strength-result.strong { border-color: #6ee7b7 !important; }
.login #pass-strength-result.short,
.login #pass-strength-result.bad   { border-color: #fda4af !important; }
