:root {
    --mw-login-navy: #0d2f52;
    --mw-login-blue: #075aa9;
    --mw-login-gold: #c79a34;
    --mw-login-gold-light: #e7c76e;
    --mw-login-text: #17324e;
    --mw-login-muted: #60738a;
}

body.login.mw-login-screen {
    min-height: 100vh;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.98) 0%, rgba(248,251,254,.94) 25%, rgba(232,242,250,.92) 58%, rgba(222,234,244,.96) 100%),
        linear-gradient(135deg, #fffaf0 0%, #edf6fd 48%, #e6f0f8 100%);
    color: var(--mw-login-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    position: relative;
    overflow-x: hidden;
}

body.login.mw-login-screen::before,
body.login.mw-login-screen::after {
    content: "";
    position: fixed;
    z-index: 0;
    width: 42vw;
    height: 42vw;
    min-width: 360px;
    min-height: 360px;
    border: 1px solid rgba(199,154,52,.13);
    transform: rotate(45deg);
    pointer-events: none;
}
body.login.mw-login-screen::before { left: -26vw; bottom: -22vw; }
body.login.mw-login-screen::after { right: -28vw; top: -18vw; }

body.login #login {
    width: min(92vw, 470px);
    padding: 28px 0 46px;
    position: relative;
    z-index: 2;
}

body.login #login h1 { margin: 0 0 4px; }
body.login #login h1 a {
    background-image: url('../images/my-wakanda-member-portal-seal.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 210px;
    height: 210px;
    margin: 0 auto 8px;
    filter: drop-shadow(0 10px 20px rgba(22,48,74,.16));
}

.mw-login-intro {
    text-align: center;
    margin: 0 auto 18px;
    padding: 0 18px;
}
.mw-login-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--mw-login-gold);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .18em;
}
.mw-login-intro h2 {
    margin: 0;
    color: var(--mw-login-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 6vw, 41px);
    line-height: 1.02;
    font-weight: 700;
}
.mw-login-intro h2 strong {
    display: block;
    margin-top: 3px;
    color: #9f7925;
    font-size: 1.08em;
    letter-spacing: .02em;
}
.mw-login-intro p {
    max-width: 390px;
    margin: 10px auto 0;
    color: var(--mw-login-muted);
    font-size: 14px;
    line-height: 1.45;
}

body.login form {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(199,154,52,.82);
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(35,63,91,.14);
    padding: 28px;
}
body.login form .input,
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
    min-height: 52px;
    margin-top: 7px;
    padding: 9px 14px;
    border: 1px solid #cbd7e3;
    border-radius: 12px;
    background: #fff;
    color: #1a3551;
    font-size: 17px;
    box-shadow: inset 0 1px 2px rgba(21,47,73,.03);
}
body.login form .input:focus,
body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
    border-color: var(--mw-login-blue);
    box-shadow: 0 0 0 3px rgba(7,90,169,.11);
}
body.login label {
    color: #17324e;
    font-size: 13px;
    font-weight: 700;
}
body.login .forgetmenot label { font-weight: 600; }
body.login input[type="checkbox"] {
    border-radius: 5px;
    border-color: #aebdca;
}
body.login .wp-pwd .button.wp-hide-pw {
    min-height: 52px;
    color: #587089;
}
body.login .submit { margin-top: 18px; }
body.login.wp-core-ui .button-primary,
body.login .button-primary {
    float: none;
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--mw-login-gold);
    border-radius: 13px;
    background: linear-gradient(135deg, var(--mw-login-navy) 0%, #074d92 100%);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 700;
    text-shadow: none;
    box-shadow: 0 7px 18px rgba(13,47,82,.18);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
body.login.wp-core-ui .button-primary:hover,
body.login .button-primary:hover {
    background: linear-gradient(135deg, #123c66 0%, #0863b8 100%);
    border-color: var(--mw-login-gold-light);
    transform: translateY(-1px);
    box-shadow: 0 9px 22px rgba(13,47,82,.23);
}
body.login.wp-core-ui .button-primary:focus,
body.login .button-primary:focus { box-shadow: 0 0 0 3px rgba(199,154,52,.25); }

body.login #nav,
body.login #backtoblog {
    text-align: center;
    color: var(--mw-login-muted);
}
body.login #nav { margin: 17px 0 0; }
body.login #backtoblog { margin: 10px 0 0; }
body.login #nav a,
body.login #backtoblog a,
body.login .privacy-policy-page-link a {
    color: #075aa9;
    font-weight: 650;
    text-decoration: none;
}
body.login #nav a:hover,
body.login #backtoblog a:hover { color: #9f7925; }

body.login .message,
body.login #login_error,
body.login .success,
.mw-login-notice {
    border: 0;
    border-left: 4px solid var(--mw-login-blue);
    border-radius: 10px;
    background: rgba(255,255,255,.92);
    color: #28435e;
    box-shadow: 0 7px 18px rgba(35,63,91,.08);
}
.mw-login-notice {
    margin: 0 0 16px;
    padding: 12px 15px;
    border-left-color: var(--mw-login-gold);
    font-size: 13px;
    line-height: 1.45;
}

body.login .language-switcher { display: none; }

.mw-login-footer-brand {
    margin: 23px auto 0;
    padding: 18px 16px 0;
    border-top: 1px solid rgba(199,154,52,.35);
    text-align: center;
    color: var(--mw-login-muted);
}
.mw-login-footer-brand strong {
    display: block;
    color: #9f7925;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    letter-spacing: .16em;
}
.mw-login-footer-brand span,
.mw-login-footer-brand small { display: block; }
.mw-login-footer-brand span { margin-top: 7px; font-size: 12px; }
.mw-login-footer-brand small { margin-top: 9px; color: var(--mw-login-navy); font-size: 11px; font-weight: 700; letter-spacing: .07em; }

@media (max-width: 520px) {
    body.login #login { width: calc(100% - 28px); padding-top: 18px; }
    body.login #login h1 a { width: 175px; height: 175px; }
    body.login form { padding: 22px 18px; border-radius: 18px; }
    .mw-login-intro { padding: 0 8px; }
    .mw-login-intro p { font-size: 13px; }
    .mw-login-footer-brand { margin-top: 18px; }
}
