:root {
    --cw-black: #09090b;
    --cw-panel: #123456;
    --cw-panel-2: #29465B;
    --cw-gold: #d4af37;
    --cw-gold-bright: #f0c85a;
    --cw-ink: #eef6fb;
    --cw-muted: #b7c8d4;
    --cw-subtle: #8ea5b3;
    --cw-border: rgba(238, 246, 251, 0.14);
}

html,
body.login {
    min-height: 100%;
    background:
        radial-gradient(circle at 18% 8%, rgba(41, 70, 91, 0.54), transparent 28rem),
        radial-gradient(circle at 84% 22%, rgba(212, 175, 55, 0.12), transparent 22rem),
        linear-gradient(180deg, var(--cw-black) 0%, #0a1119 24%, var(--cw-panel) 62%, #081b2b 100%);
    color: var(--cw-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.login::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(9,9,11,0.72), transparent 28%, transparent 72%, rgba(9,9,11,0.72)),
        radial-gradient(ellipse at center top, transparent 0%, rgba(9,9,11,0.48) 72%);
}

#login {
    position: relative;
    z-index: 1;
    width: min(92vw, 27rem);
    padding: clamp(3rem, 8vh, 5.75rem) 0 2rem;
}

.login h1 {
    margin-bottom: 1.4rem;
}

.login h1 a {
    width: min(18rem, 78vw);
    min-height: 4.4rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--cw-ink);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.15;
    text-indent: 0;
    text-decoration: none;
    pointer-events: auto;
}

body.cws-login-has-logo .login h1 a {
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}

.login form {
    margin-top: 0;
    border: 1px solid var(--cw-border);
    border-radius: 0.125rem;
    background:
        linear-gradient(135deg, rgba(212, 175, 55, 0.10), transparent 36%),
        linear-gradient(180deg, rgba(41, 70, 91, 0.94), rgba(18, 52, 86, 0.97));
    padding: 1.6rem;
    color: var(--cw-ink);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
}

.login label {
    color: var(--cw-muted);
    font-size: 0.88rem;
    font-weight: 600;
}

.login form .input,
.login input[type='text'],
.login input[type='password'],
.login input[type='email'] {
    min-height: 3rem;
    margin-top: 0.35rem;
    border: 1px solid rgba(238, 246, 251, 0.12);
    border-radius: 0.125rem;
    background: rgba(9, 9, 11, 0.72);
    color: #fff;
    font-size: 1rem;
    box-shadow: none;
}

.login form .input:focus,
.login input[type='text']:focus,
.login input[type='password']:focus,
.login input[type='email']:focus {
    border-color: rgba(212, 175, 55, 0.72);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.14);
    outline: none;
}

.login .button.wp-hide-pw {
    color: var(--cw-gold-bright);
}

.login .button.wp-hide-pw:focus {
    border-color: transparent;
    box-shadow: none;
}

.login .forgetmenot {
    display: flex;
    align-items: center;
    min-height: 2.9rem;
}

.login .forgetmenot label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--cw-subtle);
    font-size: 0.82rem;
}

.login input[type='checkbox'] {
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(238, 246, 251, 0.24);
    background: rgba(9, 9, 11, 0.72);
    box-shadow: none;
}

.login input[type='checkbox']:checked::before {
    filter: invert(73%) sepia(45%) saturate(580%) hue-rotate(4deg) brightness(98%) contrast(92%);
}

.wp-core-ui.login .button-primary {
    min-height: 2.85rem;
    border: 1px solid var(--cw-gold);
    border-radius: 0.125rem;
    background: var(--cw-gold);
    color: #092132;
    padding: 0 1.15rem;
    font-weight: 800;
    text-shadow: none;
    box-shadow: 0 12px 28px rgba(212, 175, 55, 0.20);
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.wp-core-ui.login .button-primary:hover,
.wp-core-ui.login .button-primary:focus {
    border-color: var(--cw-gold-bright);
    background: var(--cw-gold-bright);
    color: #092132;
    box-shadow: 0 16px 34px rgba(212, 175, 55, 0.24);
    transform: translateY(-1px);
}

.login #nav,
.login #backtoblog,
.login .privacy-policy-page-link {
    position: relative;
    z-index: 1;
    margin-top: 1rem;
    text-align: center;
}

.login #nav a,
.login #backtoblog a,
.login .privacy-policy-page-link a {
    color: var(--cw-muted);
    font-size: 0.86rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.login #nav a:hover,
.login #nav a:focus,
.login #backtoblog a:hover,
.login #backtoblog a:focus,
.login .privacy-policy-page-link a:hover,
.login .privacy-policy-page-link a:focus {
    color: var(--cw-gold-bright);
}

.login .message,
.login .notice,
.login .success,
.login #login_error {
    border-left: 4px solid var(--cw-gold);
    border-radius: 0.125rem;
    background: rgba(18, 52, 86, 0.96);
    color: var(--cw-ink);
    box-shadow: 0 12px 34px rgba(0,0,0,0.22);
}

.login #login_error {
    border-left-color: #8b0000;
}

.login .message a,
.login .notice a,
.login .success a,
.login #login_error a {
    color: var(--cw-gold-bright);
}

.login-language-switcher {
    position: relative;
    z-index: 1;
}

.login-language-switcher label,
.login-language-switcher .dashicons-translation {
    color: var(--cw-muted);
}

.login-language-switcher select {
    border-color: var(--cw-border);
    background: rgba(9, 9, 11, 0.72);
    color: #fff;
}

@media (max-width: 480px) {
    .login form {
        padding: 1.25rem;
    }

    .login .forgetmenot,
    .login .submit {
        float: none;
    }

    .wp-core-ui.login .button-primary {
        width: 100%;
        margin-top: 0.75rem;
    }
}

.cws-login-register-prompt {
    margin: 0 0 1rem;
    border: 1px solid rgba(238, 246, 251, 0.12);
    border-radius: 0.125rem;
    background: rgba(18, 52, 86, 0.72);
    color: var(--cw-muted);
    padding: 0.9rem 1rem;
    text-align: center;
    box-shadow: 0 12px 34px rgba(0,0,0,0.20);
}

.cws-login-register-prompt span {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.86rem;
}

.cws-login-register-prompt a {
    color: var(--cw-gold-bright);
    font-weight: 800;
    text-decoration: none;
}

.cws-login-register-prompt a:hover,
.cws-login-register-prompt a:focus {
    color: #fff;
}

/* Login logo: use only the Café Weltschmerz beeldmerk, no visible wordmark text. */
.login h1 {
    margin-bottom: 1.35rem !important;
    text-align: center;
}

.login h1 a,
body.cws-login-has-logo .login h1 a {
    display: block !important;
    width: 7rem !important;
    height: 7rem !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

/* Crop horizontal logo assets to the mark only. */
.login h1 a,
body.cws-login-has-logo .login h1 a {
    background-size: auto 100% !important;
    background-position: left center !important;
}
