.login #login {
    --notice-delay: 6s;
    background-image: url(../images/backdrop.webp);
    background-size: cover;
    background-color: #000;
    height: 100dvh;
    contain: paint;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0;
    font-family: Inter, system-ui, sans-serif;
    box-sizing: border-box;
}

.login #login > * {
    box-sizing: border-box;
}

@media screen and (max-width: 600px) {
    .login #login {
        justify-content: start;
        padding-top: 10dvh;
    }
}

.login #login > h1 a {
    background-image: url(../images/logo.png);
    background-size: contain;
    width: 8.75rem;
    height: 5rem;
    display: block;
    margin: 0 auto;
    text-indent: -9999px;
}

.login #login #nav a {
    color: #fff;
    font-weight: 600;
}

.login #login #backtoblog {
    display: none;
}

.login:not(:has(#login-message, #login_error)) {
    --notice-delay: .1s;
}

.login #login-message, .login #login_error {
    --space-from-bottom: 50px;
    border-radius: 999rem;
    box-shadow: 0 0 1.5rem rgba(255, 255, 255, 0.2);
    position: absolute;
    bottom: var(--space-from-bottom);
    left: 50%;
    transform: translateX(-50%);
    animation: float-in 0.5s ease-in-out, float-out 0.5s ease-in-out 5s forwards;
    transform-origin: center;
    margin: 0;
}

.login #login_error {
    display: flex;
    gap: 5px;
    align-items: center;
}

.login #login_error:before {
    content: "!";
    font-size: 1.5rem;
    font-weight: 600;
    color: #e67272;
}

.login .notice:not([id]) {
    --space-from-bottom: 50px;
    position: absolute;
    bottom: var(--space-from-bottom);
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    opacity: 0;
    animation: float-in 0.5s ease-in-out var(--notice-delay) forwards;
    border-radius: 999rem;
    box-shadow: 0 0 1.5rem rgba(255, 255, 255, 0.2);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.login .notice:not([id]):before {
    content: "?";
    font-size: 1.5rem;
    font-weight: 600;
    color: #72aee6;
}

.login .notice {
    font-size: 14px;
    line-height: 1;
}

@media screen and (max-width: 600px) {
    .login .notice {
        width: 90%;
    }
}

.login #loginform, .login #lostpasswordform, .login #resetpassform, .login #registerform {
    width: clamp(300px, 100%, 400px);
    padding: 50px;
    border-radius: 44px;
}

.login #loginform.shake, .login #lostpasswordform.shake, .login #resetpassform.shake, .login #registerform.shake {
    animation: none;
}

.login #loginform.shake input:not([type=submit], [type=checkbox]), .login #lostpasswordform.shake input:not([type=submit], [type=checkbox]), .login #resetpassform.shake input:not([type=submit], [type=checkbox]), .login #registerform.shake input:not([type=submit], [type=checkbox]) {
    border-color: #e67272 !important;
}

@media screen and (max-width: 600px) {
    .login #loginform, .login #lostpasswordform, .login #resetpassform, .login #registerform {
        width: 95%;
        padding: 40px 25px;
    }
    .login #loginform .forgetmenot, .login #lostpasswordform .forgetmenot, .login #resetpassform .forgetmenot, .login #registerform .forgetmenot {
        margin-bottom: 15px;
    }
}

.login #loginform > :first-child, .login #loginform > :nth-child(2), .login #lostpasswordform > :first-child, .login #lostpasswordform > :nth-child(2), .login #resetpassform > :first-child, .login #resetpassform > :nth-child(2), .login #registerform > :first-child, .login #registerform > :nth-child(2) {
    margin-bottom: 25px;
}

.login #loginform input, .login #loginform label, .login #loginform select, .login #lostpasswordform input, .login #lostpasswordform label, .login #lostpasswordform select, .login #resetpassform input, .login #resetpassform label, .login #resetpassform select, .login #registerform input, .login #registerform label, .login #registerform select {
    font-family: inherit;
}

.login #loginform .submit, .login #loginform .submit, .login #lostpasswordform .submit, .login #lostpasswordform .submit, .login #resetpassform .submit, .login #resetpassform .submit, .login #registerform .submit, .login #registerform .submit {
    flex-direction: column;
    gap: 5px;
}

.login #loginform .submit input[type=submit], .login #loginform .submit .wp-generate-pw, .login #loginform .submit input[type=submit], .login #loginform .submit .wp-generate-pw, .login #lostpasswordform .submit input[type=submit], .login #lostpasswordform .submit .wp-generate-pw, .login #lostpasswordform .submit input[type=submit], .login #lostpasswordform .submit .wp-generate-pw, .login #resetpassform .submit input[type=submit], .login #resetpassform .submit .wp-generate-pw, .login #resetpassform .submit input[type=submit], .login #resetpassform .submit .wp-generate-pw, .login #registerform .submit input[type=submit], .login #registerform .submit .wp-generate-pw, .login #registerform .submit input[type=submit], .login #registerform .submit .wp-generate-pw {
    border: 1px solid #BFA26C;
    line-height: 1;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 600;
}

.login #loginform .submit input[type=submit], .login #loginform .submit input[type=submit], .login #lostpasswordform .submit input[type=submit], .login #lostpasswordform .submit input[type=submit], .login #resetpassform .submit input[type=submit], .login #resetpassform .submit input[type=submit], .login #registerform .submit input[type=submit], .login #registerform .submit input[type=submit] {
    width: 100%;
    background: #0B0C17;
    color: #fff;
    padding: 17px 0;
}

.login #loginform .submit .wp-generate-pw, .login #loginform .submit .wp-generate-pw, .login #lostpasswordform .submit .wp-generate-pw, .login #lostpasswordform .submit .wp-generate-pw, .login #resetpassform .submit .wp-generate-pw, .login #resetpassform .submit .wp-generate-pw, .login #registerform .submit .wp-generate-pw, .login #registerform .submit .wp-generate-pw {
    width: max-content;
    padding: 10xp;
    color: #0B0C17;
    margin: auto;
}

.login #loginform input.input, .login #lostpasswordform input.input, .login #resetpassform input.input, .login #registerform input.input {
    border-radius: 10px;
    border: 1px solid #D8DADC;
    padding: 16px;
    font-size: 16px;
    line-height: 1;
    margin: 0;
}

.login #loginform input.input:focus, .login #lostpasswordform input.input:focus, .login #resetpassform input.input:focus, .login #registerform input.input:focus {
    border-color: #0B0C17;
    outline: none;
    box-shadow: none;
}

.login #loginform label, .login #lostpasswordform label, .login #resetpassform label, .login #registerform label {
    color: #000;
    font-size: 14px;
    font-weight: 400;
}

.login #loginform .wp-pwd button, .login #lostpasswordform .wp-pwd button, .login #resetpassform .wp-pwd button, .login #registerform .wp-pwd button {
    top: 50%;
    transform: translateY(-50%);
    color: rgba(0, 0, 0, 0.6);
    padding: 0;
    border-radius: 50%;
}

.login #loginform .wp-pwd button:focus, .login #lostpasswordform .wp-pwd button:focus, .login #resetpassform .wp-pwd button:focus, .login #registerform .wp-pwd button:focus {
    border: none;
    box-shadow: none;
    color: black;
}

.login #loginform .wp-pwd #pass-strength-result, .login #lostpasswordform .wp-pwd #pass-strength-result, .login #resetpassform .wp-pwd #pass-strength-result, .login #registerform .wp-pwd #pass-strength-result {
    margin-top: 5px;
    border-radius: 5px;
    position: absolute;
    top: 100%;
    height: 30px;
}

.login #loginform .wp-pwd:has(#pass-strength-result), .login #lostpasswordform .wp-pwd:has(#pass-strength-result), .login #resetpassform .wp-pwd:has(#pass-strength-result), .login #registerform .wp-pwd:has(#pass-strength-result) {
    margin-bottom: 50px;
}

.login .user-pass1-wrap {
    margin-bottom: 0 !important;
}

.login .indicator-hint {
    font-size: 0.8rem;
}

.login .language-switcher {
    --edge-margin: 20px;
    position: absolute;
    top: var(--edge-margin);
    left: var(--edge-margin);
    right: auto;
    font-family: Inter, system-ui, sans-serif;
    margin: 0;
    padding: 5px 10px;
    padding-inline-end: 0;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(5px);
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
    border: 1px solid transparent;
    display: flex;
    align-items: center;
}

.login .language-switcher:focus-within {
    border-color: #000;
    outline: 1px solid #fff;
}

.login .language-switcher label {
    margin: 0;
}

.login .language-switcher #language-switcher {
    margin: 0;
}

.login .language-switcher #language-switcher select {
    border-radius: 10px;
    border: none;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    background-color: transparent;
    padding-inline-end: 25px;
}

.login .language-switcher #language-switcher select:focus, .login .language-switcher #language-switcher select:hover {
    border: none;
    box-shadow: none;
    color: #000;
}

.login .language-switcher .dashicons {
    color: #000;
}

.login .language-switcher input[type=submit] {
    display: none;
    visibility: hidden;
}

.interim-login #login {
    margin: 0;
}

[dir=rtl] .login .language-switcher {
    left: auto;
    right: var(--edge-margin);
}

@keyframes float-in {
    from {
        opacity: 0;
        translate: 0 -100%;
    }
    to {
        opacity: 1;
        translate: 0;
        pointer-events: all;
    }
}
@keyframes float-out {
    from {
        opacity: 1;
        translate: 0;
    }
    to {
        opacity: 0;
        translate: 0 calc(100% + var(--space-from-bottom));
    }
}
