Fatal error: Call to undefined function wp_enqueue_media()

As goto10 mentioned in comment, you must be using WordPress 3.5.0 or newer (when this function was added), AND your theme is calling wp_enqueue_media incorrectly.

WordPress codex for wp_enqueue_media specifically states :

“This function should be called from the ‘admin_enqueue_scripts’
action hook, or later.”

Your theme is calling it incorrectly in admin_print_styles which is executed before admin_enqueue_scripts, meaning that the media.php file has not been loaded yet.

You should contact that theme developer as that is not the correct way to call wp_enqueue_media

If for some reason you want to call this function, or other functions in the media (or images.php) files (like when using AJAX), you will need to include the file once:

include_once( ABSPATH . 'wp-admin/includes/media.php' );