/*
 * Iocte Nocte – Login Page v2.0
 */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Nunito:wght@400;500;600;700&display=swap');

:root {
    --bg-0:     #0e0b1a;
    --bg-2:     #1a1430;
    --purple-d: #4a2d9e;
    --purple:   #6b3fd4;
    --purple-m: #8a5ae8;
    --purple-l: #a87fff;
    --purple-xl:#c9b8ff;
    --border:   rgba(138, 90, 232, 0.22);
    --glow:     rgba(107, 63, 212, 0.30);
    --txt-1: #f0eaff;
    --txt-2: #b8a8e8;
    --txt-4: #4a3a7a;
}

body.login {
    background: var(--bg-0) !important;
    font-family: 'Nunito', sans-serif !important;
}

body.login::before {
    content: '';
    position: fixed; inset: 0;
    background:
        radial-gradient(ellipse 65% 55% at 20% 30%, rgba(74,45,158,0.28) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 70%, rgba(50,30,140,0.20) 0%, transparent 60%);
    pointer-events: none;
}

/* Stars */
body.login::after {
    content: '';
    position: fixed; inset: 0;
    background-image:
        radial-gradient(1px 1px at 12% 18%, rgba(200,180,255,0.55) 0%, transparent 100%),
        radial-gradient(1px 1px at 28% 60%, rgba(200,180,255,0.45) 0%, transparent 100%),
        radial-gradient(1px 1px at 62% 8%,  rgba(200,180,255,0.50) 0%, transparent 100%),
        radial-gradient(2px 2px at 82% 35%, rgba(200,180,255,0.30) 0%, transparent 100%),
        radial-gradient(1px 1px at 47% 82%, rgba(200,180,255,0.40) 0%, transparent 100%),
        radial-gradient(1px 1px at 92% 72%, rgba(200,180,255,0.35) 0%, transparent 100%),
        radial-gradient(1px 1px at 6%  88%, rgba(200,180,255,0.40) 0%, transparent 100%),
        radial-gradient(2px 2px at 72% 28%, rgba(200,180,255,0.22) 0%, transparent 100%),
        radial-gradient(1px 1px at 35% 45%, rgba(200,180,255,0.30) 0%, transparent 100%),
        radial-gradient(1px 1px at 55% 70%, rgba(200,180,255,0.25) 0%, transparent 100%);
    pointer-events: none;
}

#login { position: relative; z-index: 1; }

/* Logo */
#login h1 a {
    background-image: none !important;
    font-family: 'Rajdhani', serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--purple-xl) !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    width: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
#login h1 a::before { content: '🌙  '; }

/* Form box */
#loginform, #lostpasswordform, #registerform {
    background: rgba(26, 20, 48, 0.82) !important;
    border: 1px solid var(--border) !important;
    border-radius: 20px !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    box-shadow:
        0 8px 40px rgba(0,0,0,0.65),
        0 0 0 1px var(--border),
        0 0 60px rgba(107,63,212,0.10) !important;
    padding: 30px 28px 22px !important;
}

/* Labels */
.login label {
    color: var(--txt-2) !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* Inputs */
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    background: rgba(12, 9, 24, 0.80) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    color: var(--txt-1) !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.login input:focus {
    border-color: var(--purple-m) !important;
    box-shadow: 0 0 0 3px rgba(107,63,212,0.22) !important;
    outline: none !important;
}

/* Submit button */
.wp-core-ui .button-primary {
    background: linear-gradient(135deg, var(--purple-d) 0%, var(--purple) 100%) !important;
    border: none !important;
    border-radius: 28px !important;
    color: #fff !important;
    font-family: 'Nunito', sans-serif !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 11px 22px !important;
    height: auto !important;
    box-shadow: 0 4px 20px var(--glow) !important;
    transition: all 0.2s !important;
    width: 100% !important;
}
.wp-core-ui .button-primary:hover {
    background: linear-gradient(135deg, var(--purple), var(--purple-m)) !important;
    box-shadow: 0 6px 28px var(--glow) !important;
    transform: translateY(-1px) !important;
}

/* Links */
.login #nav, .login #backtoblog { text-align: center !important; }
.login #nav a, .login #backtoblog a {
    color: var(--txt-4) !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 12px !important;
    transition: color 0.2s !important;
}
.login #nav a:hover, .login #backtoblog a:hover { color: var(--purple-xl) !important; }

/* Remember me */
.login .forgetmenot label {
    color: var(--txt-4) !important;
    font-size: 11px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
}

/* Notices */
.login .message, .login .notice, .login .error {
    background: rgba(107,63,212,0.10) !important;
    border-left: 3px solid var(--purple) !important;
    border-radius: 0 8px 8px 0 !important;
    color: var(--txt-2) !important;
}
