Not able to get correct output while using if statement

Hey everyone , I was recently solving this problem and I’m facing an issue. I can’t seem to fulfill the hourly rate times 1.5 part. How would I solve it?
Expected output - 498.75
My output - 708.75

3.1 Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Pay the hourly rate for the hours up to 40 and 1.5 times the hourly rate for all hours worked above 40 hours. Use 45 hours and a rate of 10.50 per hour to test the program (the pay should be 498.75). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking the user input - assume the user types numbers properly.

hours = input("Enter Hours:")
rate = input("Enter rate:")

# Converts to floats for multiplication
hours = float(hours)
rate = float(rate)

if hours > 40:
   overtime = rate*1.5
   total = hours*overtime
else :
    total = hours*rate

The first 40 hours of pay are always computed at the base pay rate. Only hours past 40 are computed at 1.5 the base pay rate.

Hi Jeremy! Yes indeed that was the error. I found a solution on stackoverflow.
The code would be something like this

if hours > 40:
   overtime = rate*1.5
   overtimeHours = hours - 40
   total = (40*rate) + (overtimeHours*overtime)