It's more of an XHTML / CSS question. First, XHTML...
You currently have this for your elements
<p>Your Name (required)<br />
<span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" class="wpcf7-validates-as-required" size="40" /></span> </p>
The span probably isn't a great idea, the break element isn't semantic and there's nothing whatsoever to indicate that "Your name" is tied to the text box. That's a huge accessibility issue. Especially since in the case that this falls apart, your user won't even know that this is required. More importantly for you, this tag soup is why you're having styling problems and you can't get it to look the way you want.
<label for="your-name">Your Name (required)</label>
<input type="text" id="your-name" name="your-name" value="" class="wpcf7-validates-as-required formTextbox" size="40" />
The list gives a more logical structure, the label and the form field are clean, understandable semantic units and the for attribute of the label ties them together (note: you need to add the id attribute to the form field)
Then you need to include these declarations in your style sheet. You can use any other declarations to style the labels and form field you want as long as you don't override these elements. (note: I added an additional class to your textbox on the assumption you'd want all your textboxes to work this way.
Note that to keep everything consistent, you include the classes for all other form elements you want aligned properly.