.login{
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
    padding-inline: clamp(12px, 4vw, 20px);
    padding-block: var(--space-xxl);
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: normal;

    h1{
        margin: 0;
        font-size: var(--font-size-xxl);
    }

    .login-info{
        font-size: var(--font-size-base);
        font-weight: 400;
        text-align: center;
        margin-block: var(--space-sm);
    }

    a.login-link{
        color: var(--color-blue);
        cursor: pointer;
        font-size: var(--font-size-sm);
    }
    a.login-link:hover{
        text-decoration: underline;
    }

    .login-input-block-full{
        margin-top: var(--space-md);
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--space-xs);
        border-radius: var(--radius-lg);
        border: 0.12rem solid var(--color-border);
        padding-block: var(--space-sm);
        padding-inline: var(--space-md);
    }

    .login-input-block-up{
        margin-top: var(--space-md);
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--space-xs);
        border-radius: var(--radius-lg);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border: 0.12rem solid var(--color-border);
        padding-block: var(--space-sm);
        padding-inline: var(--space-md);
    }

    .login-input-block-down{
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--space-xs);
        border-radius: var(--radius-lg);
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border: 0.12rem solid var(--color-border);
        border-top: 0;
        padding-block: var(--space-sm);
        padding-inline: var(--space-md);
    }

    label{
        font-size: var(--font-size-xs);
        font-weight: 500;
    }

    input{
        font-size: var(--font-size-sm);
        font-weight: 400;
    }

    button{
        margin-block: var(--space-md);
        padding: 10px 20px;
    }

    .error-text{
        display: none;
        width: 100%;
        text-align: left;
        font-size: var(--font-size-sm);
        color: var(--color-error);
        margin-top: var(--space-xs);
        padding-inline: var(--space-md);
    }

    .error-text.visible{
        display: block;
    }

    .login-social-block{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-sm);
        margin-bottom: var(--space-lg);
    }

    p{
        font-size: var(--font-size-sm);
        margin-bottom: var(--space-lg);
        text-align: center;

        a{
            font-weight: 500;
            cursor: pointer;
        }

        a:hover{
            text-decoration: underline;
        }
    }
}

main{
    background: var(--color-bg-alt);
}