Sto facendo un sito con i css

http://www.koto.it/prova/offerte.html
http://www.koto.it/prova/offerta.html

e diversi contenuti dovranno essere poi messi in dinamico tramite php; ho eseguito un test di validazione ed è risultato corretto. Vorrei però sapere se ho strutturato il tutto con un minimo di criterio; ho fatto tre fogli stile: uno per i blocchi, uno per il testo e uno per le immagini. Qualche esperto potrebbe dare un'occhiata e darmi magari qualche dritta: sono sulla strada giusta o devo cambiare qualcosa? Sono comprensibili anche da una persona che non li ha fatti?
Ci sono un paio di stili che si riferiscono solo alla pagina offerta (inizialmente dovevano essere comuni) però poi siccome alla fine vengono utilizzata solo lì, è il caso che li metta interni al documento?
Inoltre vorrei capire se gli stili così messi potrebbero dar fastidio ai futuri contenuti dinamici.
grazie!

stili blocchi
codice:
@charset "utf-8";
#pagina {
	width: 760px;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 0px;
}
#pagina #header {
	clear: both;
	height: 250px;
	margin-bottom: 20px;
	
}
#pagina #header .immagine_menu {
	height: 80px;
	width: 240px;
	float: left;
	background-image: url(immagini/titoli-offerta01.gif);
	background-repeat: no-repeat;
}
#pagina #header #logo {
	background-repeat: no-repeat;
	height: 80px;
	width: 80px;
	margin-left: 510px;
}
#pagina #offerte {
	width: 760px;
	margin-top: 40px;
	float: left;
}


#pagina #offerte .immagine_laterale{
	width: 240px;
	float: left;
	height: 125px;
	margin-bottom: 10px;
}

#offerte .box_miniatura {
	width: 240px;
	float: left;
	margin-left: 5px;
	
	padding-bottom: 5px;
	padding-left: 5px;
	margin-bottom: 10px;
	padding-top: 5px;
	height: 110px;
}
#offerte .box_miniatura .prezzo {
	background-image: url(immagini/comuni/rett_sx.png);
	background-repeat: no-repeat;
	height: 50px;
	width: 120px;
	float: left;
	margin-left: -40px;
}

#offerte .box_miniatura .prezzo:hover{
	background-image: url(immagini/comuni/rett_dx.png);
	background-repeat: no-repeat;
	height: 50px;
	width: 120px;
	float: left;
	margin-left: -40px;
}


#offerte .ritorno {
	width: 200px;
	float: left;
}


#offerta_singola_gallery {
	width: 80px;
	float: left;
	margin-left: 45px;
	margin-top: 60px;
	display: inline;
	margin-right: 20px;
}



#offerta_singola_banner_laterale {
	width: 190px;
	float: left;
	background-color: #dae5f5;
	background-image: url(immagini/comuni/tondo.gif);
	background-repeat: no-repeat;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-top: 15px;
	display: inline;
	margin-top: 5px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-right: 10px;
}
#offerta_singola_riferimenti {
background-color: #8298CD;
float: left;
width: 200px;
padding-bottom: 30px;
padding-left: 19px;
padding-top: 19px;
}
[/code]

stili testo
codice:
@charset "utf-8";

a {
	text-decoration: none;
	color: #4a77b6;
	border: 0px none;
}
a:hover {
	color: #CCCCCC;
	text-decoration: none;
}
.giustificato {
	text-align: justify;
}
.sottotitolo {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
	color: #4a77b6;
	height: 20px;
	width: 300px;
}
.evidenz {
	font-weight: bold;
}

#offerte .box_miniatura .testo_miniatura {
	float: left;
	margin-left: 5px;
	width: 155px;
}
#offerte .box_miniatura .titolo {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: bolder;
	letter-spacing: -1px;
	margin-bottom: 2px;
}
#offerte .box_miniatura .descrizione {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	line-height: 10px;
	color: #666666;
	width: 150px;
	float: none;
}
#offerte .box_miniatura .numero  {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: bolder;
	letter-spacing: -1px;
	margin-bottom: 2px;
	color: #FFFFFF;
	margin-left: 8px;
	margin-top: 12px;
	width: 50px;
}
#offerte .box_miniatura .euro {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #FFFFFF;
	margin-left: 26px;
	font-weight: bold;
	margin-top: -5px;
	text-transform: capitalize;
	width: 30px;
}

#offerta_singola_testo {
	width: 320px;
	margin-top: 0px;
	padding: 0px 0px 10px 25px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #666666;
	float: left;
	display: inline;
	margin-right: 50px;
}

#offerta_singola_banner_laterale ul {
	margin: 0px;
	padding: 0px 0px 0px 15px;
	list-style-image: none;
	list-style-type: none;
	line-height: 12px;
}
#offerta_singola_banner_laterale li {
	margin-bottom: 0px;
	margin-top: 0px;
	padding: 0px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: normal;
}

#offerta_singola_banner_laterale p {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: normal;
	text-align: right;
	color: #4A77B6;
}
#offerta_singola_banner_laterale a {
	font-weight: bold;
}
#offerta_singola_riferimenti p {
	margin-top: 5px;
	margin-bottom: 0px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: bolder;
	text-align: right;
	padding-right: 10px;
	color: #FFFFFF;
}
#offerta_singola_riferimenti a {
	color: #FFFFFF;

}
#offerta_singola_riferimenti a:hover {
color: #CCCCCC;

}