After reading the button to delay the execution without stopping action before a

Buttons work well, so far i have managed to control the stepper well, the problem is that, at the push of the second button, the stepper stops instantly, what I want to do is to press the button, rotate the stepper another 2-3 seconds and then stop. then pressing the first button to start the stepper again.
the problem is, i don't know how to write in the line of code that delay enforcement operations such delays from the time the button was pressed, to stop the stepper.

This is the code that works, but stops the motor instantly, with no delay from pressing the button:

#include <Stepper.h>
#include <AccelStepper.h>
#include <MultiStepper.h>

int buttonPullupPin_0 = 11;
int butonPullupPin_1 = 10;
int val_0 = 0;
int val_1 = 0;

 AccelStepper stepper(AccelStepper::DRIVER, 4, 3);


 void setup()
{  
 pinMode(buttonPullupPin_0, INPUT);  
 pinMode(butonPullupPin_1, INPUT); 
 stepper.setMaxSpeed(100);
 stepper.setSpeed(90);
 stepper.setEnablePin(9); 
 stepper.disableOutputs();
}

    void loop()
{
  val_0 = digitalRead(buttonPullupPin_0);
  val_1 = digitalRead(butonPullupPin_1);
    if (val_0 == HIGH)
    {
      stepper.enableOutputs();   
    }
    
   if (val_1 == LOW)
   {
      stepper.runSpeed();   //I want to continue this action until val_1 == hight plus a certain time delay
 }
    if (val_1 == HIGH) // here i want after reading the button to delay the execution without stopping action before a certain time then execute the action that is conditioned by reading this state of butonPullupPin_1
   { 
      stepper.disableOutputs();//I want to delay this action against reading (val_1 == HIGH)
   }
}

I think it's fair that I have previously suggested, but did not know exactly how and where to add the lines suggested, if anyone can help me, i ask him to modify this code of mine, to make it as it should.

Thank you very much