Ah, vale. Con las prisas esta mañana no entré a mirar tu código.
Creo que lo que tienes es una estructura de falsas columnas equilibradas (igual altura). Y para ello sigues una técnica de encadenado de cajas.
Mira a ver si esta otra
forma la encuentras menos afectada de "divitis".
Sólo tienes que cambiar en #contenedor el valor de width por un min-width apropiado. Y por supuesto, retirar el "margin: 0 auto" que ya será innecesario.
Nos cuentas.