@font-face {
    font-family: "Proxima Nova";
    src: url("../../fonts/ProximaNova-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --color-primary: #04264A;
    --color-secondary: #ac7904;
    --color-white: #ffffff;
    --color-black: #111111;
    --color-light: #EBEBEB;
    --color-gray: #626262;
    --valiram-login-bg: var(--color-light);
    --valiram-login-panel: rgba(255, 255, 255, 0.9);
    --valiram-login-text: #1d1d1f;
    --valiram-login-muted: var(--color-gray);
    --valiram-login-line: rgba(0, 0, 0, 0.1);
    --valiram-login-line-strong: rgba(0, 0, 0, 0.18);
    --valiram-login-focus: var(--color-primary);
    --valiram-login-danger: #b42318;
}

html,
body.login {
    min-height: 100%;
}

body.login {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 100vh;
    margin: 0;
    padding: 32px 18px;
    background:
        radial-gradient(circle at 18% 18%, rgba(172, 121, 4, 0.24), transparent 28%),
        radial-gradient(circle at 78% 12%, rgba(255, 255, 255, 0.28), transparent 26%),
        linear-gradient(135deg, #04264A 0%, #092f57 42%, #EBEBEB 100%),
        var(--valiram-login-bg);
    color: var(--valiram-login-text);
    font-family: "Proxima Nova", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
    letter-spacing: 0;
}

body.login::before,
body.login::after {
    position: fixed;
    z-index: 0;
    pointer-events: none;
    content: "";
}

body.login::before {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 80px 80px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 72%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 72%, transparent);
}

body.login div#login {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(100%, 420px);
    padding: 0;
}

.login h1 {
    margin: 0 0 24px;
}

.login h1 a {
    width: 100%;
    height: 8dvh;
    margin: 0 auto;
    background-image: url("../../images/logo/valiram_logo.svg");
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.08));
}

.login form {
    box-sizing: border-box;
    margin: 0;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 22px;
    background: var(--valiram-login-panel);
    box-shadow:
        0 24px 80px rgba(4, 38, 74, 0.22),
        0 2px 12px rgba(17, 17, 17, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(22px) saturate(150%);
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    box-sizing: border-box;
    min-height: 50px;
    margin: 5px 0px;
    padding: 0px 15px;
    border: 1px solid var(--valiram-login-line);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.035);
    color: var(--valiram-login-text);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.35;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
    border-color: rgba(4, 38, 74, 0.56);
    background: #fff;
    box-shadow:
        0 0 0 4px rgba(172, 121, 4, 0.14),
        inset 0 1px 2px rgba(0, 0, 0, 0.025);
    outline: none;
}

.login label {
    color: var(--valiram-login-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.login .user-pass-wrap {
    margin-top: 20px;
}

.login .forgetmenot {
    display: flex;
    float: none;
    align-items: satart;
    gap: 10px;
    margin: 20px 0 0 0;
}

.login .forgetmenot label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--valiram-login-muted);
    font-size: 13px;
}

.login input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid var(--valiram-login-line-strong);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: none;
}

.login input[type="checkbox"]:checked {
    border-color: var(--valiram-login-text);
    background: var(--valiram-login-text);
}

.login input[type="checkbox"]:checked::before {
    width: 18px;
    height: 18px;
    margin: -1px 0 0 -1px;
    color: #fff;
}

.login .submit {
    clear: both;
    margin: 22px 0 0;
}

.wp-core-ui .login .button-primary {
    display: inline-flex;
    float: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: var(--color-primary);
    box-shadow:
        0 12px 24px rgba(4, 38, 74, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 52px;
    text-shadow: none;
    transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.wp-core-ui .login .button-primary:hover,
.wp-core-ui .login .button-primary:focus {
    background: var(--color-black);
    box-shadow:
        0 16px 30px rgba(4, 38, 74, 0.28),
        0 0 0 4px rgba(172, 121, 4, 0.14);
    transform: translateY(-1px);
}

.wp-core-ui .login .button-primary:active {
    transform: translateY(0);
}

.login .button.wp-hide-pw {
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    border: 0;
    border-radius: 10px;
    color: var(--valiram-login-muted);
}

.login .button.wp-hide-pw:focus {
    border: 0;
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.13);
    outline: none;
}

.login #nav,
.login #backtoblog,
.login .privacy-policy-page-link,
.login .language-switcher {
    margin: 18px 0 0;
    padding: 0;
    color: var(--valiram-login-muted);
    font-size: 13px;
    text-align: center;
}

.login #nav a,
.login #backtoblog a,
.login .privacy-policy-page-link a,
.login .language-switcher a {
    color: var(--color-white);
    text-decoration: none;
    transition: color 160ms ease;
}

.login #nav a:hover,
.login #backtoblog a:hover,
.login .privacy-policy-page-link a:hover,
.login .language-switcher a:hover {
    color: var(--valiram-login-text);
}

.login .language-switcher form {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.login .language-switcher select {
    min-height: 40px;
    border-color: var(--valiram-login-line);
    border-radius: 11px;
    color: var(--valiram-login-text);
    font-family: inherit;
}

.login .language-switcher .button {
    min-height: 40px;
    border-radius: 11px;
    font-family: inherit;
}

.login .message,
.login .notice,
.login #login_error {
    box-sizing: border-box;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-left: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.07);
    color: var(--valiram-login-text);
    font-size: 13px;
    line-height: 1.5;
}

.login #login_error {
    border-color: rgba(180, 35, 24, 0.18);
    background: rgba(255, 245, 244, 0.92);
    color: var(--valiram-login-danger);
}

.login .message a,
.login .notice a,
.login #login_error a {
    color: inherit;
    font-weight: 600;
}

.login .admin-email__actions {
    display: grid;
    gap: 10px;
}

.login .admin-email__actions .button {
    min-height: 0px;
    border-radius: 12px;
    font-family: inherit;
    font-weight: 600;
}

@media (max-width: 782px) {
    body.login {
        align-items: flex-start;
        padding: 28px 16px;
    }

    body.login::after {
        display: none;
    }

    body.login div#login {
        padding-top: 16px;
    }

    .login form {
        padding: 26px;
        border-radius: 20px;
    }
}

@media (max-width: 420px) {
    body.login {
        padding-inline: 14px;
    }

    .login form {
        padding: 22px;
    }
}
