/*
 * Login-Formular: ruhiger Auftritt und Textrolle des Design-Vertrags.
 * Die Bahnhofs-Szene (login-train-scene, login-brand-panel) bleibt unberührt.
 */

.login-form-section .login-title {
    font-size: var(--login-base-title-size);
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.02em;
}

.login-form-section .btn-login {
    transition:
        scale var(--transition-base),
        background-color var(--transition-fast);
}

.login-form-section .btn-login:active:not(:disabled) {
    scale: 0.985;
}

@media (prefers-reduced-motion: no-preference) {
    .login-form-section :is(.login-header, .form-group, .btn-login, .login-form__security) {
        animation: login-field-rise 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    .login-form-section .form-group:nth-of-type(1) {
        animation-delay: 70ms;
    }

    .login-form-section .form-group:nth-of-type(2) {
        animation-delay: 130ms;
    }

    .login-form-section .btn-login {
        animation-delay: 190ms;
    }

    .login-form-section .login-form__security {
        animation-delay: 250ms;
    }
}

@keyframes login-field-rise {
    from {
        opacity: 0;
        transform: translate3d(0, 0.625rem, 0);
    }
}

@media (max-width: 767.98px) {
    .login-form-section {
        padding-block-end: env(safe-area-inset-bottom, 0px);
    }
}
