El radio del borde y el relleno no están jugando bien

Tengo problemas para tratar de obtener un radio en las imágenes. He simplificado mi problema y exagerado las variables con fines de demostración.

CSS:

div.wrap img {
    -moz-border-radius: 50px;
         border-radius: 50px;
}
img.pic {
    padding: 15px 25px 35px 45px;
}

HTML:

<div class="wrap">
    <img class="pic" src="http://i.imgur.com/UAef0.jpg"
         width="300" height="300" />
</div>

Si elimino el relleno, el puf, las esquinas bonitas. Si ayuda, hay una razón por la cual están en dos clases diferentes. "wrap" puede tener más de una "foto". Algunas veces serán de la misma clase, otras veces no lo harán, ordenadas así:

img.left_pic  { float:left;  padding:5px 10px 5px 5px; }
img.right_pic { float:right; padding:5px 5px 5px 10px; }

Cualquier ayuda o vision sería apreciada

jsFiddle:http: //jsfiddle.net/NwfW6

Editado para una solución:

Est era más o menos lo que básicamente estaba tratando de hacer. Creo que estaba teniendo un momento 'duh'. Estoy seguro de que ahora la declaración que necesitaba usar eramarge n rellen. Otro agradecimiento a GGJ por recordarme cómo hacerlo de la manera correcta. Y lo que dijo Jan sobre agregar relleno a una etiqueta 'img' no tiene sentido, no lo hace. Culpa mía

Respuestas a la pregunta(6)

Su respuesta a la pregunta