/* ===== Secure Links — dark technical theme for PMP login/account pages ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
    --sl-bg:#0b0d10; --sl-surface:#191f26; --sl-surface-2:#222a33; --sl-line:#2f3a44;
    --sl-text:#eef3f8; --sl-dim:#9aa7b4; --sl-faint:#6b7884;
    --sl-accent:#3ddc84; --sl-accent-2:#2cb86c; --sl-accent-dim:#1f7a4d;
}

/* Card wrappers PMP / WP login output */
.pmpro_login_wrap, .pmpro_account, .pmpro_form,
#loginform, .pmpro_checkout, .pmpro_login {
    background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent 120px), var(--sl-surface) !important;
    border: 1px solid var(--sl-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px -34px rgba(0,0,0,0.9), 0 1px 0 rgba(255,255,255,0.03) inset !important;
    padding: 26px !important;
    max-width: 440px;
    margin: 30px auto !important;
    color: var(--sl-text) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
}

/* Headings */
.pmpro_login_wrap h1, .pmpro_login_wrap h2, .pmpro_login_wrap h3,
.pmpro_account h1, .pmpro_account h2, .pmpro_account h3,
.pmpro_form h1, .pmpro_form h2, .pmpro_form h3,
#loginform h1, .pmpro_checkout h1, .pmpro_checkout h2, .pmpro_checkout h3 {
    font-family: 'Space Grotesk', sans-serif !important;
    color: var(--sl-text) !important;
    letter-spacing: -0.01em;
}

/* Labels */
.pmpro_login_wrap label, .pmpro_account label, .pmpro_form label,
#loginform label, .pmpro_checkout label {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.04em;
    color: var(--sl-dim) !important;
}

/* Inputs */
.pmpro_login_wrap input[type="text"],
.pmpro_login_wrap input[type="email"],
.pmpro_login_wrap input[type="password"],
.pmpro_form input[type="text"],
.pmpro_form input[type="email"],
.pmpro_form input[type="password"],
#loginform input[type="text"],
#loginform input[type="password"],
.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"],
.pmpro_account input[type="text"],
.pmpro_account input[type="email"],
.pmpro_account input[type="password"] {
    width: 100% !important;
    box-sizing: border-box !important;
    background: var(--sl-bg) !important;
    color: var(--sl-text) !important;
    border: 1px solid var(--sl-line) !important;
    border-radius: 10px !important;
    padding: 12px 13px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 14px !important;
    margin-bottom: 12px !important;
    box-shadow: none !important;
}
.pmpro_login_wrap input:focus,
.pmpro_form input:focus,
#loginform input:focus,
.pmpro_checkout input:focus,
.pmpro_account input:focus {
    outline: none !important;
    border-color: var(--sl-accent-dim) !important;
    box-shadow: 0 0 0 3px rgba(61,220,132,0.12) !important;
}

/* Primary buttons / submit */
.pmpro_login_wrap input[type="submit"],
.pmpro_form input[type="submit"],
.pmpro_btn, .pmpro_btn-submit,
#loginform input[type="submit"],
.pmpro_checkout input[type="submit"],
button.pmpro_btn {
    background: linear-gradient(180deg, var(--sl-accent), var(--sl-accent-2)) !important;
    color: #04140a !important;
    border: 1px solid var(--sl-accent) !important;
    border-radius: 11px !important;
    padding: 13px 22px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    cursor: pointer !important;
    width: 100%;
    box-shadow: 0 8px 24px -10px rgba(61,220,132,0.6) !important;
    text-shadow: none !important;
    transition: transform .12s, box-shadow .2s !important;
}
.pmpro_login_wrap input[type="submit"]:hover,
.pmpro_btn:hover, #loginform input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 30px -10px rgba(61,220,132,0.8) !important;
}

/* Links */
.pmpro_login_wrap a, .pmpro_account a, .pmpro_form a, #loginform a, .pmpro_checkout a {
    color: var(--sl-accent) !important;
}

/* "Remember me" + small text */
.pmpro_login_wrap .pmpro_login_wrap-rememberme,
.pmpro_login_wrap p, .pmpro_account p, .pmpro_form p {
    color: var(--sl-dim) !important;
    font-size: 13px;
}

/* Messages / errors */
.pmpro_message, .pmpro_error, #login_error, .pmpro_login_wrap .pmpro_message {
    background: var(--sl-surface-2) !important;
    border: 1px solid var(--sl-line) !important;
    border-left: 3px solid var(--sl-accent) !important;
    color: var(--sl-text) !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 13px !important;
}
.pmpro_error, #login_error { border-left-color: #ff5d5d !important; }

/* ===== Dark page background for the login / register / account pages ===== */
body.pmpro-body,
body.pmpro-account,
body.pmpro-login,
body.login,
body.page-template-default:has(.pmpro_login_wrap),
body:has(#loginform),
body:has(.pmpro_form),
body:has(.pmpro_login_wrap),
body:has(.pmpro_account) {
    background: #0b0d10 !important;
}
/* Make Astra's content containers transparent on these pages so the dark
   body shows instead of a white card area. */
body:has(.pmpro_login_wrap) .ast-separate-container,
body:has(.pmpro_login_wrap) #content,
body:has(.pmpro_login_wrap) #primary,
body:has(.pmpro_login_wrap) .site-content,
body:has(.pmpro_login_wrap) .entry-content,
body:has(#loginform) .ast-separate-container,
body:has(#loginform) #content,
body:has(#loginform) .site-content,
body:has(.pmpro_form) .ast-separate-container,
body:has(.pmpro_form) #content,
body:has(.pmpro_form) .site-content,
body:has(.pmpro_form) .entry-content,
body:has(.pmpro_account) .ast-separate-container,
body:has(.pmpro_account) #content,
body:has(.pmpro_account) .site-content {
    background: transparent !important;
    box-shadow: none !important;
}
/* The default wp-login.php page (if used) */
body.login { background: #0b0d10 !important; }
body.login #login h1 a { filter: brightness(0) invert(1); opacity: 0.85; }
body.login #loginform { background: var(--sl-surface) !important; border:1px solid var(--sl-line) !important; box-shadow:0 24px 60px -34px rgba(0,0,0,0.9) !important; }
body.login label { color: var(--sl-dim) !important; }
body.login #backtoblog a, body.login #nav a { color: var(--sl-accent) !important; }
