/* ==========================================================
   INFINITY INNER CIRCLE — Login page styles
   FY27 design-system restyle
   Scoped under body.ifp-login-page — zero bleed to main site
   Note: page background should be V Green 1 #073749
   (set on the Elementor section).
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap');

/* Back link above the card (light text on the dark login background). */
body.ifp-login-page .ifp-login-back {
    display: block;
    width: 100%;
    max-width: 480px;
    margin: 0 auto 16px;
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
}
body.ifp-login-page .ifp-login-back:hover { color: #ffffff; }

body.ifp-login-page #loginform {
    background: #ffffff;
    border-radius: 8px;
    padding: 40px 48px 48px;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

body.ifp-login-page #loginform p {
    margin-bottom: 20px;
}

body.ifp-login-page #loginform label {
    display: block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #064a51;
    margin-bottom: 6px;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
}

body.ifp-login-page #loginform input[type="text"],
body.ifp-login-page #loginform input[type="password"] {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 15px;
    color: #333333;
    background: #ffffff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
    box-sizing: border-box;
}

body.ifp-login-page #loginform input[type="text"]:focus,
body.ifp-login-page #loginform input[type="password"]:focus {
    border-color: #0b6a73;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(11,106,115,0.12);
}

body.ifp-login-page #loginform .login-remember label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
    color: #818181;
    cursor: pointer;
}

body.ifp-login-page #loginform .login-remember input[type="checkbox"] {
    accent-color: #0b6a73;
    width: 14px;
    height: 14px;
}

body.ifp-login-page #loginform .login-submit {
    margin-bottom: 0;
    margin-top: 28px;
}

body.ifp-login-page #loginform #wp-submit {
    width: 100%;
    background: #073749;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    padding: 13px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
    transition: background 0.15s;
}

body.ifp-login-page #loginform #wp-submit:hover {
    background: #064a51;
}

/* "Already logged in" message */
body.ifp-login-page .ifp-already-logged-in {
    background: #ffffff;
    border-radius: 8px;
    padding: 32px 40px;
    text-align: center;
    max-width: 420px;
    margin: 0 auto;
}

body.ifp-login-page .ifp-already-logged-in {
    text-align: center;
}
body.ifp-login-page .ifp-already-logged-in a:not(.ifp-login-btn) {
    color: #0b6a73;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.ifp-login-page .ifp-login-btn {
    display: inline-block;
    background: #073749;
    color: #ffffff;
    border-radius: 999px;
    padding: 12px 28px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
    transition: background 0.15s;
}
body.ifp-login-page .ifp-login-btn:hover {
    background: #064a51;
}

/* Login error messages */
body.ifp-login-page #login_error {
    background: #fdf0ee;
    border: 1px solid rgba(179,64,47,0.25);
    border-left: none;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 13px;
    color: #b3402f;
    margin-bottom: 16px;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
