Mobile overheat. Shader problem?

Hello everyone!
I am developing my endless runner game, and my game overheats a device (Sams. Galaxy S3) very fast.
Can’t make a screen of stats, here is main info:
Draw calls: 14-20,
Verts: 15k-25k.
I need a bending effect of environment, so shaders look as follows:
Bending_Diffuse

Shader "MyShaders/Diffuse_Color" {
 Properties {
  _Color ("Main Color", Color) = (1,1,1,1)
  _MainTex ("Texture", 2D) = "white" {}
  // _QOffset ("Offset", Vector) = (0,0,0,0)
  _Dist ("Distance", Float) = 200.0
  
  }
  SubShader {
 Tags { "RenderType"="Opaque" }
 LOD 10
  CGPROGRAM
  #pragma surface surf Lambert vertex:vert
  
  struct Input 
  {
  float2 uv_MainTex;
  float4 pos : SV_POSITION;
  };
  
  sampler2D _MainTex;
  fixed4 _Color;
  float4 _QOffset;
  fixed _Dist;
  
  void vert (inout appdata_full v) 
  {  
 float4 vPos = mul (UNITY_MATRIX_MV, v.vertex); 
  float zOff = vPos.z/_Dist;
  vPos += _QOffset*zOff*zOff;  
  v.vertex = mul(transpose(UNITY_MATRIX_IT_MV), vPos);  
  }
  
  
  void surf (Input IN, inout SurfaceOutput o) 
  {  
 fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 o.Albedo = c.rgb;
 o.Alpha = c.a;
 }
  ENDCG
  } 
  Fallback "Diffuse"
  }

Bending_DiffuseDetail:

Shader "MyShaders/Diffuse_Detail_Color" {
 Properties {
  _Color ("Main Color", Color) = (1,1,1,1)
  _MainTex ("Texture", 2D) = "white" {}
  //_QOffset ("Offset", Vector) = (0,0,0,0)
  _Dist ("Distance", Float) = 200.0
  _Detail ("Detail (RGB)", 2D) = "gray" {}
  }
  SubShader {
 Tags { "RenderType"="Opaque" }
 LOD 10
  CGPROGRAM
  #pragma surface surf Lambert vertex:vert
  
  struct Input 
  {
  float2 uv_MainTex;
  float2 uv_Detail;
  float4 pos : SV_POSITION;
  };
  
  sampler2D _MainTex;
  sampler2D _Detail;
  fixed4 _Color;
  float4 _QOffset;
  fixed _Dist;
  
  void vert (inout appdata_full v) 
  {  
 float4 vPos = mul (UNITY_MATRIX_MV, v.vertex); 
  float zOff = vPos.z/_Dist;
  vPos += _QOffset*zOff*zOff;  
  v.vertex = mul(transpose(UNITY_MATRIX_IT_MV), vPos);  
  }
  
  
  void surf (Input IN, inout SurfaceOutput o) 
  {  
 fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 c.rgb *= tex2D(_Detail,IN.uv_Detail).rgb*2;
 o.Albedo = c.rgb;
 o.Alpha = c.a;
 }
  ENDCG
  } 
  Fallback "Diffuse"
  }

What do U think, do these shaders look good enough for mobile, or bending effect makes it very complex to display?

still actual, pleease

You will be the one to decide that. You should use adb and internal profilers to check for your CPU and GPU time. This will give you the greatest insight into the strain of your code on your device.