Потому что вы используете 'max-device-width'
А у айфона ретина, в случае с семеркой - 667 пикселей ширина, но max-device-width - 667 * 2, и оказывается вне условий ваших медиа квери.
перепишите max-device-width на max-width, min-device-width на min-width (попробуйте), и должно все заработать