     
     enum Const {
         static let imageAspectRatio: CGFloat = 1.5
-        static let margin: CGFloat = 16
+		static let priceMinWidth: CGFloat = 70
+		static let margin: CGFloat = 30
+		static let spacing: CGFloat = 12
     }
     
     private let viewModel: MealViewModel
     
     // MARK: - Views
-    
-    private let imageView: UIImageView = {
+	
+	private lazy var scrollView: UIScrollView = {
+		let scrollView = UIScrollView()
+		return scrollView
+	}()
+	
+	private lazy var imageContainerView: UIView = {
+		let view = UIView()
+		view.layer.shadowColor = UIColor.black.cgColor
+		view.layer.shadowOffset = .zero
+		view.layer.shadowRadius = 12
+		view.layer.shadowOpacity = 0.3
+		view.clipsToBounds = false
+		return view
+	}()
+	
+    private lazy var imageView: UIImageView = {
         let imageView = UIImageView()
         imageView.contentMode = .scaleAspectFill
+		imageView.layer.cornerRadius = 20
 		imageView.clipsToBounds = true
         return imageView
     }()
-    
-    private lazy var priceLabel: BadgeLabel = {
-        let label = BadgeLabel()
-        label.font = .systemFont(ofSize: 16, weight: .semibold)
-        label.textColor = UIColor.htw.textHeadline
-        label.backgroundColor = .white
-        label.roundedCorners = [.topRight, .bottomRight]
-        return label
-    }()
-
+	
     private lazy var counterLabel: BadgeLabel = {
         let label = BadgeLabel()
-        label.font = .systemFont(ofSize: 16, weight: .semibold)
+        label.font = .systemFont(ofSize: 18, weight: .semibold)
         label.textColor = UIColor.htw.textHeadline
-        label.backgroundColor = UIColor.htw.lightGrey
+        label.backgroundColor = UIColor(hex: 0xE8E8E8)
         return label
     }()
-    
+	
+	private lazy var priceLabel: BadgeLabel = {
+		let label = BadgeLabel()
+		label.font = .systemFont(ofSize: 18, weight: .semibold)
+		label.textColor = UIColor.htw.textHeadline
+		label.backgroundColor = UIColor(hex: 0xCFCFCF)
+		return label
+	}()
+
     private lazy var nameLabel: UILabel = {
         let label = UILabel()
         label.font = .systemFont(ofSize: 18, weight: .semibold)

    
    private func update(viewModel: MealViewModel) {
        self.title = viewModel.mensa
        self.imageView.htw.loadImage(url: viewModel.imageUrl, loading: #imageLiteral(resourceName: "Canteen"), fallback: #imageLiteral(resourceName: "Meal-Placeholder"))
        self.priceLabel.text = viewModel.price
        self.counterLabel.text = viewModel.counter
        self.nameLabel.text = viewModel.title
        
        self.counterZeroHeightConstraint.isActive = viewModel.counter.isEmpty ? true : false
        self.counterTopConstraint.constant = viewModel.counter.isEmpty ? 0 : Const.margin

        self.view.layoutIfNeeded()
    }
    

        if UIDevice.current.userInterfaceIdiom == .pad {
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: Loca.close, style: .done, target: self, action: #selector(dismissOrPopViewController))
        }
		
		let layoutGuide = self.view.htw.safeAreaLayoutGuide

		// ScrollView
		
		self.scrollView.alwaysBounceVertical = true
		self.scrollView.translatesAutoresizingMaskIntoConstraints = false
		self.view.addSubview(self.scrollView)
		
		NSLayoutConstraint.activate([
			self.scrollView.leadingAnchor.constraint(equalTo: layoutGuide.leadingAnchor),
			self.scrollView.topAnchor.constraint(equalTo: layoutGuide.topAnchor),
			self.scrollView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor),
			self.scrollView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor)
		])
		
		// Image
		
		self.imageView.translatesAutoresizingMaskIntoConstraints = false
		self.imageContainerView.addSubview(self.imageView)
		
		NSLayoutConstraint.activate([
			self.imageView.leadingAnchor.constraint(equalTo: self.imageContainerView.leadingAnchor),
			self.imageView.topAnchor.constraint(equalTo: self.imageContainerView.topAnchor),
			self.imageView.trailingAnchor.constraint(equalTo: self.imageContainerView.trailingAnchor),
			self.imageView.bottomAnchor.constraint(equalTo: self.imageContainerView.bottomAnchor)
		])
		
		// SubViews
		
		let subviews: [UIView] = [self.imageContainerView, self.counterLabel, self.priceLabel, self.nameLabel, self.moreButton]
        subviews.forEach {
            $0.translatesAutoresizingMaskIntoConstraints = false
            self.scrollView.addSubview($0)
        }

        self.moreButton.addTarget(self, action: #selector(openMealWebsite), for: .touchUpInside)
        
        NSLayoutConstraint.activate([
			self.imageView.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: Const.margin),
            self.imageView.topAnchor.constraint(equalTo: self.scrollView.topAnchor, constant: Const.margin),
            self.imageView.heightAnchor.constraint(equalTo: self.imageView.widthAnchor, multiplier: 1 / Const.imageAspectRatio),
			self.imageView.widthAnchor.constraint(equalTo: self.scrollView.widthAnchor, multiplier: 1, constant: -(2*Const.margin)),
			
            self.counterLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: Const.margin),
            self.counterLabel.topAnchor.constraint(equalTo: self.imageView.bottomAnchor, constant: Const.margin),
			
			self.priceLabel.leadingAnchor.constraint(equalTo: self.counterLabel.trailingAnchor, constant: Const.spacing),
			self.priceLabel.topAnchor.constraint(equalTo: self.imageView.bottomAnchor, constant: Const.margin),
			self.priceLabel.trailingAnchor.constraint(lessThanOrEqualTo: self.scrollView.trailingAnchor, constant: -Const.margin),
			self.priceLabel.widthAnchor.constraint(greaterThanOrEqualToConstant: Const.priceMinWidth),

            self.nameLabel.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: Const.margin),
            self.nameLabel.topAnchor.constraint(equalTo: self.counterLabel.bottomAnchor, constant: Const.spacing),
            self.nameLabel.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -Const.margin),
            self.nameLabel.bottomAnchor.constraint(lessThanOrEqualTo: self.moreButton.topAnchor),
			self.nameLabel.widthAnchor.constraint(equalTo: self.imageView.widthAnchor),
			
            self.moreButton.leadingAnchor.constraint(equalTo: self.scrollView.leadingAnchor, constant: Const.margin),
			self.moreButton.topAnchor.constraint(equalTo: self.nameLabel.bottomAnchor, constant: Const.margin),
			self.moreButton.trailingAnchor.constraint(equalTo: self.scrollView.trailingAnchor, constant: -Const.margin),
            self.moreButton.bottomAnchor.constraint(equalTo: self.scrollView.bottomAnchor, constant: -Const.margin),
            self.moreButton.heightAnchor.constraint(equalToConstant: 40),
			self.moreButton.widthAnchor.constraint(equalTo: self.imageView.widthAnchor)
        ])
        
        self.update(viewModel: self.viewModel)
