Peredur, Thank you for your offer of help.
I tried to revert the parent theme to the original and have achieved a different scenario.
What I saw before using firebug was that the site-title was using the rules from the parent stylesheet in particular width: 700px; but the site description was using the rules from the child stylesheet width 400px; Since this was within a 940px wide element this caused it to be displayed below the site title and not alongside as I intended.
Having changed the parent stylesheet as a work-round and now changed it back (to show you) it now seems to be using the definitions from the child stylesheet in both cases as I intended.
This may have been the end of it except that now the #header padding, which is defined as padding: 0; in the child stylesheet but as padding: 30px 0 0 0; in the parent stylesheet is displaying with the 30px padding at the top.
I am so confused. I've tried clearing the browser cache in case it is actually a local problem. I've double-checked the syntax in the stylesheets. What next?
Here are the relevant bits from the 2 stylesheets (copied and pasted so syntax is as is):
/* extract from child theme stylesheet*/
#header {
padding: 0;
}
#site-title {
color: #002147;
margin: 0;
font-size: 2.5em;
width: 540px;
}
#site-title a {
color: #002147;
}
#site-description {
margin: 0px 0 4px;
width: 400px;
text-align: right;
}
/* This is the custom header image */
#branding img {
border-top: 2px solid #002147;
}
/*extract from parent theme stylesheet*/
/* =Header
-------------------------------------------------------------- */
#header {
padding: 30px 0 0 0;
}
#site-title {
float: left;
font-size: 30px;
line-height: 36px;
margin: 0 0 18px 0;
width: 700px;
}
#site-title a {
color: #000;
font-weight: bold;
text-decoration: none;
}
#site-description {
clear: right;
float: right;
font-style: italic;
margin: 15px 0 18px 0;
width: 220px;
}
/* This is the custom header image */
#branding img {
border-top: 4px solid #000;
border-bottom: 1px solid #000;
display: block;
float: left;
}