Puede usar degradados de fondo para ese efecto. Para su ejemplo, simplemente agregue las siguientes líneas (es mucho código porque tiene que usar prefijos de proveedor):
background-image:
-moz-linear-gradient(top, #000 10px, transparent 10px),
-moz-linear-gradient(bottom, #000 10px, transparent 10px),
-moz-linear-gradient(left, #000 10px, transparent 10px),
-moz-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-o-linear-gradient(top, #000 10px, transparent 10px),
-o-linear-gradient(bottom, #000 10px, transparent 10px),
-o-linear-gradient(left, #000 10px, transparent 10px),
-o-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-webkit-linear-gradient(top, #000 10px, transparent 10px),
-webkit-linear-gradient(bottom, #000 10px, transparent 10px),
-webkit-linear-gradient(left, #000 10px, transparent 10px),
-webkit-linear-gradient(right, #000 10px, transparent 10px);
background-image:
linear-gradient(top, #000 10px, transparent 10px),
linear-gradient(bottom, #000 10px, transparent 10px),
linear-gradient(left, #000 10px, transparent 10px),
linear-gradient(right, #000 10px, transparent 10px);
No es necesario un marcado innecesario.
Si solo desea tener un borde doble, puede usar un contorno y un borde en lugar de un borde y un relleno.
Si bien también podría usar pseudoelementos para lograr el efecto deseado, no lo desaconsejaría. Los pseudoelementos son una herramienta muy poderosa que proporciona CSS, si los "desperdicia" en cosas como esta, probablemente los perderá en otro lugar.
Solo uso pseudo-elementos si no hay otra forma. No porque sean malos, todo lo contrario, porque no quiero desperdiciar a mi Joker.