Нету фона при налегании одного блока на другой, как исправить?
Z-index работает только если элементу указан position: relative или absolute
классу photo z-index можно не давать он абсолютно лишний.
width: 216px
 height: 117px
таких магических чисел лучше избегать
Может быть z-index или позиционирование использовать?
то есть селектор с label  поставить z-index выше, чем селектору photo
Хотя вижу, что же стоит z-index...  
Код html в студию вместе с css