problems with if, else if, else statements

Hi so I am trying to code a steppermotor with 4 seperate positions. Now if I don't use "{ }" to close the if loop the motor will run position 2,3,4 when button for 2 is pressed. However when I close all if statements with "{ }" the arduino gets confused and runs a position continuously.

Now having this problem I think it has something to do with too many IF statements. When I implement else or else if statements with my current code

void loop() 
{

  
  digitalWrite(22, LOW);                          //Homing
  if (digitalRead(52) == HIGH)
  {
     while (digitalRead(53) == LOW)
    {
      stepper.setSpeed(-100);
      stepper.runSpeed();
    }
  }
  
  stepper.setCurrentPosition(0);                  //Limit switch
  if (digitalRead(53) == HIGH)
  {
     while (stepper.currentPosition() != 10) 
     {
      stepper.setSpeed(200);
      stepper.runSpeed();
     }
  }

  stepper.setCurrentPosition(0);                  //Position 1
  if (digitalRead(50) == HIGH)
  {
    while (stepper.currentPosition() != 50)
     {
      stepper.setSpeed(100);
      stepper.runSpeed();
     }
    stepper.setCurrentPosition(0);
  delay(1000);
  }
  
  stepper.setCurrentPosition(0);                  //Position 2
  else if (digitalRead(48) == HIGH)
  {
    while (stepper.currentPosition() != 25)
     {
      stepper.setSpeed(100);
      stepper.runSpeed();
     }
    stepper.setCurrentPosition(0);
  delay(1000);

  stepper.setCurrentPosition(0);                  //Position 3
  else (digitalRead(46) == HIGH)  
    while (stepper.currentPosition() != -35)
    {
      stepper.setSpeed(-100);
      stepper.runSpeed();
    }
    stepper.setCurrentPosition(0);
  delay(1000);

  
  stepper.setCurrentPosition(0);                  //Position 4
  if (digitalRead(44) == HIGH)  
    while (stepper.currentPosition() != 75)
    {
      stepper.setSpeed(100);
      stepper.runSpeed();
    }
  delay(1000);
  stepper.setCurrentPosition(0);
    while (stepper.currentPosition() != -115)
    {
      stepper.setSpeed(-100);
      stepper.runSpeed();
    }
  }
}

I get the following error
"
exit status 1
'else' without a previous 'if'
"

Anyone know what I am doing wrong?

Thank you in advance

Post COMPLETE code.