<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Health and Fitness Archives | Frive</title>
	<atom:link href="https://blog.frive.co.uk/category/health-fitness/feed" rel="self" type="application/rss+xml" />
	<link>https://www.lionsprep.co.uk/blog/health-fitness</link>
	<description>The UK&#039;s highest rated meal plan service</description>
	<lastBuildDate>Mon, 10 Aug 2026 20:01:19 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Are Ultra-Processed Foods Bad for Building Muscle?</title>
		<link>https://blog.frive.co.uk/health-fitness/are-ultra-processed-foods-bad-for-building-muscle</link>
		
		<dc:creator><![CDATA[mike@vitalisdigital.co.uk]]></dc:creator>
		<pubDate>Fri, 28 Aug 2026 07:50:00 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20819</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/are-ultra-processed-foods-bad-for-building-muscle">Are Ultra-Processed Foods Bad for Building Muscle?</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_0">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>Are Ultra-Processed Foods Bad for Building Muscle?</h1>
<p class="author">by Frive Team | 28th August, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2026/04/3.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;"><table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;"><thead><tr><th colspan="1" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">TL;DR</th></tr></thead><tbody><tr style="background:#ffffff;"><td style="padding:14px 18px;text-align:left;line-height:23px;">Under NOVA, almost all protein powders are ultra-processed, including plain unflavoured whey isolate. No trial shows ultra-processed protein sources build less muscle when total protein and calories are matched, and the meta-analysis of 49 trials and 1,863 participants behind the 1.62 g/kg protein figure was a meta-analysis of supplements. Where ultra-processed food does cost you is appetite and displacement. Judge a food on protein per calorie, fibre, added sugar and whether it replaces a meal or sits alongside one.</td></tr></tbody></table></div>
<p>Not in the way most people mean. There is no trial evidence that ultra-processed protein sources build less muscle once total protein and calories are matched. What they do is make it easier to eat more than you meant to, and easier to miss fibre.</p> 
<p><a href="https://www.frive.co.uk/blog/health-fitness/cost-of-ultra-processed-diet" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Good whole ingredients are expensive</a>, and they take time to turn into a meal. So it is no surprise that most of the food people lean on to hit a protein target is ultra-processed: whey powder, plant protein, bars, puddings, flavoured yogurts, mycoprotein, most breaded chicken.</p> 
<p>And so does the research. The evidence that more protein builds more muscle was largely generated using exactly these products.</p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">Skip the cooking</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Chef-prepared high-protein meals, 40g and above, delivered fresh and ready in minutes.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>What is NOVA?</h2>
<p>NOVA is a food classification system from Carlos Monteiro's team at the University of Sao Paulo. It is not an acronym; nova just means new in Portuguese. It sorts food by <a href="https://www.cambridge.org/core/journals/public-health-nutrition/article/ultraprocessed-foods-what-they-are-and-how-to-identify-them/E6D744D714B1FF09D5BCA3E74D53A185" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the extent and purpose of the industrial processing</a> it has been through, not by how nutritious it is. Group 4 is what people mean by ultra-processed.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="3" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">The four NOVA groups</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:10%;"><strong>Group</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:32%;"><strong>What it covers</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:58%;"><strong>Examples</strong></th>
</tr>
</thead><tbody>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:center;font-weight:500;"><strong>1</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Unprocessed or minimally processed foods</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Chicken breast, eggs, milk, plain yogurt, lentils, frozen veg</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:center;font-weight:500;"><strong>2</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Processed culinary ingredients</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Olive oil, butter, salt, sugar, honey</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:center;font-weight:500;"><strong>3</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Processed foods, group 1 plus group 2</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Tinned tuna in brine, cheese, cottage cheese, tinned pulses</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;text-align:center;font-weight:500;"><strong>4</strong></td>
<td style="padding:12px 14px;text-align:left;color:#333;">Ultra-processed formulations, typically built from extracted substances</td>
<td style="padding:12px 14px;text-align:left;color:#333;">Protein powder, protein bars, flavoured yogurts, mycoprotein, wholemeal bread, fizzy drinks</td>
</tr>
</tbody></table></div>
<p><strong>Worth noting:</strong> </strong>Wholemeal bread, baked beans and plain whey isolate all sit in group 4. So does a bag of sweets. Keep that in mind for everything that follows.</p> 
<h2>Is protein powder ultra-processed?</h2>
<p>Yes. Almost all protein powders are NOVA group 4, including a plain unflavoured whey isolate with nothing else in the tub. An isolate is a substance extracted from a food, which is the defining feature of group 4, however short the ingredients list is.</p> 
<p>Now the interesting part. The most cited evidence that extra protein builds muscle is a <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC5867436/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">meta-analysis of 49 randomised trials and 1,863 participants</a>: fat-free mass up 0.30 kg, with no further benefit detectable beyond around 1.62 g of protein per kg of bodyweight a day. It is a meta-analysis of supplementation. The products in those trials were powders and shakes.</p> 
<p><strong>The evidence that protein builds muscle was built using ultra-processed foods.</strong></p> 
<h3 style="font-size: 18px;line-height:40px;">So is your protein ultra-processed? A quick reference</h3>
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="3" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">Is it ultra-processed? The gym cupboard, answered</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:24%;"><strong>Food</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:10%;"><strong>NOVA</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:66%;"><strong>The short answer</strong></th>
</tr>
</thead><tbody>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Whey isolate</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, even unflavoured. Extracted protein is the definition of group 4.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Whey concentrate</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, and flavoured versions carry more additives.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Pea or plant protein</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, for exactly the same reason as whey.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Protein bars</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, and further into group 4 than powder, because of sweeteners, binders and coatings.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Flavoured high-protein yogurt</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, because of the sweeteners and thickeners.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Plain strained Greek yogurt</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">1</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">No. Milk and live cultures, nothing else.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Mycoprotein</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Yes, and it still delivers protein and fibre.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;text-align:left;font-weight:500;"><strong>Breaded chicken</strong></td>
<td style="padding:12px 14px;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;text-align:left;color:#333;">Yes. Plain grilled chicken breast is group 1.</td>
</tr>
</tbody></table></div>
<p>So here is the distinction that actually helps. A two-ingredient whey isolate and a 20-ingredient protein bar are both group 4. One is sweetened mainly with maltitol at roughly 30 g per 100 g, enough to put a laxative warning on the wrapper. They are not the same product. We have argued the <a href="https://www.frive.co.uk/blog/food-tips/clean-protein-vs-shakes" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whole-food protein versus shakes</a> case separately.</p> 
<p><strong>In short:</strong> </strong>Yes, protein powder is ultra-processed, and so is the research showing protein builds muscle. The label is not tracking what you think it is tracking.</p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7795/opt_900x600_1098-Chicken_Tikka_Masala_Pilau_Rice_Tomatoes_Peppers_(5).png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Frive Chicken Tikka Masala with 55g of protein and no UPFs</a>
</figcaption>
</figure><div class="content">
<h2>How reliable is the ultra-processed label?</h2>
<p>Less reliable than it looks. Five things are worth knowing before you use it to shop:</p> 
<p><strong>Experts cannot agree on it.</strong> Asked to classify the same foods, trained evaluators <a href="https://www.nature.com/articles/s41430-022-01099-1" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">agreed only at kappa 0.32 to 0.34</a>. Just three of 120 foods were put in the same group by everyone. Most landed in two, three or four different groups.</p> 
<p><strong>It ignores nutrition.</strong> Between 26 and 35 per cent of ultra-processed foods earn top Nutri-Score ratings. That is how whey isolate and a bag of sweets share a category.</p> 
<p><strong>It carries cultural bias.</strong> A <a href="https://www.cambridge.org/core/journals/proceedings-of-the-nutrition-society/article/are-all-ultraprocessed-foods-bad-a-critical-review-of-the-nova-classification-system/16D07B81A1587340B3EE847F3C662E60" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">2025 critical review</a> notes <a href="https://www.frive.co.uk/blog/health-fitness/vegetarian-protein-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">tofu, a staple protein across Asian cuisines</a>, lands in group 4.</p> 
<p><strong>Processed food supplies real nutrients.</strong> In US diets it provides 55 per cent of fibre, 48 per cent of calcium and 43 per cent of potassium, per <a href="https://www.cambridge.org/core/journals/proceedings-of-the-nutrition-society/article/are-all-ultraprocessed-foods-bad-a-critical-review-of-the-nova-classification-system/16D07B81A1587340B3EE847F3C662E60" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the same review</a>.</p> 
<p><strong>The UK position is cautious.</strong> SACN says <a href="https://www.gov.uk/government/publications/processed-foods-and-health-sacns-rapid-evidence-update/processed-foods-and-health-sacns-rapid-evidence-update-summary" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">it is unclear whether these foods are inherently unhealthy due to processing</a>, and the NHS <a href="https://www.nhs.uk/live-well/eat-well/how-to-eat-a-balanced-diet/what-are-processed-foods/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">names ultra-processed foods that fit a healthy diet</a>, including wholemeal bread, higher fibre cereals and baked beans.</p> 
<p>None of which makes the category meaningless. The largest analysis to date, <a href="https://pubmed.ncbi.nlm.nih.gov/39286398/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">over 206,000 people and 16,800 cardiovascular events</a>, found a modest association at a hazard ratio of 1.11. But it was concentrated in sugar-sweetened drinks and processed meats, while bread, cereals, yogurt and savoury snacks were inversely associated.</p> 
<p><strong>In short:</strong> </strong>NOVA measures processing, not nutrition, and it does so inconsistently. It is a population-level research tool being used as a personal shopping rule.</p> 
<h2>Does the source of your protein change how much muscle you build?</h2>
<p>On the current evidence, no, once total protein and calories are matched. There is a caveat, and it is smaller than either side of this argument would like.</p> 
<h3 style="font-size: 18px;line-height:40px;">The eggs study everyone half-remembers</h3>
<p><strong>The famous bit.</strong> In 10 resistance-trained men, <a href="https://pubmed.ncbi.nlm.nih.gov/28978542/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whole eggs beat egg whites for muscle protein synthesis after training</a> at matched protein. The researchers put the gap at around 40 per cent. That number travelled a long way.</p> 
<p><strong>The bit that did not travel.</strong> Over 12 weeks in <a href="https://pubmed.ncbi.nlm.nih.gov/33306586/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">30 resistance-trained young men</a>, whole eggs and egg whites produced no difference in muscle mass. Whole eggs did produce greater strength gains, so it is not closed, and a <a href="https://pubmed.ncbi.nlm.nih.gov/34504041/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">2021 review</a> calls the evidence very limited.</p> 
<p><strong>Why it matters beyond eggs.</strong> In 23 men across 16 weeks of training, <a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0089431" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">correlations between acute protein synthesis and actual muscle growth ran from r=0.02 to r=0.16</a>. Effectively zero.</p> 
<p>That last finding inoculates you against every headline claiming a food boosts muscle protein synthesis. A 40 per cent acute advantage did not become 40 per cent more muscle.</p> 
<h3 style="font-size: 18px;line-height:40px;">Animal protein versus plant protein</h3>
<p>A systematic review of 18 randomised trials found <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC7926405/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">no significant effect of protein source on lean mass</a>, at a weighted mean difference of 0.22 kg (-0.02 to 0.46), and none on strength.</p> 
<p>The caveat, stated plainly: percentage lean mass slightly favoured animal protein, the authors think it is marginally better for younger adults, and the results were not stable when trials were removed one at a time. If that effect is real, it is far too small to be what holds your training back.</p> 
<p>What does hold training back is missing the total. Roughly <a href="https://jissn.biomedcentral.com/articles/10.1186/s12970-018-0215-1" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">0.4 g per kg per meal across at least four meals</a> gets most people to 1.6 g per kg, and our guide to <a href="https://www.frive.co.uk/blog/health-fitness/how-much-protein-per-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">how much protein you need per day</a> has the working.</p> 
<p><strong>In short:</strong> </strong>No trial shows ultra-processed protein sources build less muscle at matched protein and calories. Total daily protein beats source, by a wide margin.</p> 
<h2>Where ultra-processed food genuinely works against you</h2>
<p>In your appetite, not in your muscle. This is the part of the argument that survives scrutiny, and it matters more than anything above. Four trials tell the story.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="3" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">What the appetite trials actually found</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:20%;"><strong>Trial</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:36%;"><strong>What it tested</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:44%;"><strong>What it found</strong></th>
</tr>
</thead><tbody>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC7946062/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Hall 2019</a><strong>
20 adults, metabolic ward</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Ultra-processed versus unprocessed diets, matched for calories offered, energy density, macros, sugar, sodium and fibre. Eaten freely.</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">508 kcal a day more eaten on the ultra-processed diet. Plus 0.9 kg on that arm, minus 0.9 kg on the other, over two weeks each.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12975374/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Brunstrom 2026</a><strong>
reanalysis of the same 20</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">What people actually put on the plate under each diet.</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">On the unprocessed diet they ate <a href="https://www.frive.co.uk/blog/food-recipes/high-volume-low-calorie-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">57 per cent more food by weight</a> per meal, and still took in around 330 fewer calories a day.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><a href="https://europepmc.org/articles/PMC13084570" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Forde 2026</a><strong>
41 adults, crossover</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Both diets ultra-processed, energy density matched. Only texture and eating rate changed.</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">369 fewer calories a day on the slower-eating diet. Nothing about the processing label changed.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;text-align:left;font-weight:500;"><a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0025929" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Gosby 2011</a><strong>
22 lean adults</strong></td>
<td style="padding:12px 14px;text-align:left;color:#333;">Protein diluted from 15 to 10 per cent of energy.</td>
<td style="padding:12px 14px;text-align:left;color:#333;">Total energy intake rose by 12 per cent over four days. Low-protein food makes you eat more of everything else.</td>
</tr>
</tbody></table></div>
<p>Twenty people in a metabolic ward is small and artificial, so read Hall as a mechanism rather than a forecast of your week. But the Forde trial settles the argument: the cost is not the label, it is energy density, eating rate and how much protein the food carries.</p> 
<p>Why a lifter should care is arithmetic. <a href="https://www.frive.co.uk/blog/health-fitness/not-losing-weight-calorie-deficit" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">An unintended 300 to 500 calories a day</a> decides whether a cut holds lean mass, and <a href="https://www.frive.co.uk/blog/health-fitness/how-many-calories-should-i-eat-a-day-to-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whether a gaining phase adds muscle or fat</a>. Our guide to <a href="https://www.frive.co.uk/blog/health-fitness/how-to-lose-weight-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">losing fat while gaining muscle</a> covers the protocol, and <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">why ultra-processed food drives hunger</a> covers the mechanism.</p> 
<p><strong>In short:</strong> </strong>Processing costs you through appetite and intake, not through anything that happens in the muscle. Indirect, and still the thing that decides your result.</p> 
<h2>The second cost: what it displaces</h2>
<p>A day built on shakes, bars and puddings can hit the protein number and miss almost everything else. Three things to hold in mind:</p> 
<p><strong>Fibre is the clearest loss.</strong> The NHS recommends <a href="https://www.nhs.uk/live-well/eat-well/digestive-health/how-to-get-more-fibre-into-your-diet/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">30 g a day and notes most UK adults get around 20 g</a>. Most protein products contain almost none, so replacing a meal with a shake removes the vegetables, pulses and wholegrains that came with it.</p> 
<p><strong>But do not oversell it.</strong> Fibre's evidence is for long-term disease risk, not hypertrophy or recovery. No trial shows a whole-food diet beating a nutrient-matched processed one for training outcomes, so anyone promising better recovery is ahead of the data.</p> 
<p><strong>The practical version.</strong> Powder and bars are good supplements to meals and poor replacements for them. If the alternative is nothing, our <a href="https://www.frive.co.uk/blog/food-recipes/best-protein-snacks" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">protein snack ideas</a> and <a href="https://www.frive.co.uk/blog/food-recipes/high-protein-lunches-gym-days" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">high-protein lunches that hit 40 g at midday</a> are the better swap.</p> 
<p>Our <a href="https://www.frive.co.uk/blog/health-fitness/fibremaxxing-explained" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">guide to hitting 30 g of fibre a day</a> covers the practical side, and the <a href="https://www.frive.co.uk/blog/health-fitness/best-foods-for-muscle-recovery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">best foods for muscle recovery</a> piece keeps the same honest framing.</p> 
<p><strong>In short:</strong> </strong>The question is not what the food is made of. It is what the food replaced. Alongside a meal, a shake is doing the job it was designed for, provided you have counted the calories. Instead of a meal, it costs you fibre and everything that travels with it.</p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7878/opt_900x600_Frive_beef-kofta.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Frive Kofta Style Beef with 48g of protein and no UPFs</a>
</figcaption>
</figure><div class="content">
<h2>What to look at instead of the NOVA group</h2>
<p>Four things: protein per calorie, fibre per serving, added sugar and sugar alcohols, and whether the food replaces a meal or sits alongside one.</p> 
<p><strong>Protein per calorie, not protein per serving.</strong> A 20 g protein bar at 220 calories and a 20 g protein yogurt at 144 calories are not doing the same job.</p> 
<p><strong>Fibre per serving.</strong> Most protein products have very little. Anything replacing a meal needs some.</p> 
<p><strong>Added sugar and sugar alcohols.</strong> Polyols above 10 g per 100 g carry a laxative warning for a reason, and they are common in bars.</p> 
<p><strong>Replaces a meal, or sits alongside one.</strong> This changes the answer most often, and almost nobody applies it.</p> 
<h3 style="font-size: 18px;line-height:40px;">The gym-food audit</h3>
<p>Every row is a food gym-goers actually buy, scored on those four things rather than on which NOVA box it falls into. Note how little the NOVA column predicts the verdict.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="6" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">The gym-food audit: what the NOVA label does not tell you</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:19%;"><strong>Food</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:7%;"><strong>NOVA</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:11%;"><strong>Protein /100g</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:12%;"><strong>Protein /100 kcal</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:10%;"><strong>Fibre /100g</strong></th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:41%;"><strong>Verdict for muscle</strong></th>
</tr>
</thead><tbody>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Whey isolate, unflavoured</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">84 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">23 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">2.0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Best protein per calorie here. Adds little else, and does not need to.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Whey concentrate, flavoured</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">71 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">19 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">1.4 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Nearly as efficient. More additives, same job.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Plant protein blend (pea)</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">69 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">19 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">3.5 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Comparable. Slightly more fibre. A fine choice.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Protein bar (60 g, typical)</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">34 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">9 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4.0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Half the protein efficiency of powder, often heavy in polyols. Snack, not staple.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>High-protein pudding pot (200 g)</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">10 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">13 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">Not declared</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Efficient protein, fibre not declared. Good snack, poor meal.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Flavoured high-protein yogurt (200 g)</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">10 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">14 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">Not declared</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Same story. Genuinely useful for hitting a target.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Plain strained Greek yogurt, 0%</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">1</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">10.3 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">19 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Two ingredients, and matches whey concentrate for protein per calorie.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Greek-style plain yogurt</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">1 to 3</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">5.7 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">4 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Not the same product as strained Greek, and many add cream or thickeners.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Mycoprotein (Quorn pieces)</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">14 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">19 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">8.3 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">An ultra-processed food delivering protein and serious fibre.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Chicken breast, grilled</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">1</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">32 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">22 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">The benchmark whole food, and cheap protein per calorie at scale.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Breaded chicken breast, baked</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">17.7 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">8 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0.8 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Same bird, roughly a third of the protein efficiency.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Cottage cheese, plain reduced fat</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">3</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">10.6 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">16 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Cheap, efficient, underrated.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Tuna, canned in brine</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">3</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">24.9 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">23 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Excellent, and it costs about a pound.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;"><strong>Baked beans in tomato sauce</strong></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">5.0 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">6 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;">4.9 g</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Ultra-processed, modest protein, real fibre. Adds to a meal.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;text-align:left;font-weight:500;"><strong>Wholemeal bread</strong></td>
<td style="padding:12px 14px;text-align:center;color:#333;">4</td>
<td style="padding:12px 14px;text-align:center;color:#333;">9.4 g</td>
<td style="padding:12px 14px;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">4 g</span></td>
<td style="padding:12px 14px;text-align:center;color:#333;">7.0 g</td>
<td style="padding:12px 14px;text-align:left;color:#333;">Ultra-processed by NOVA, and named by the NHS as one that fits a healthy diet.</td>
</tr>
</tbody></table></div>
<p><em>Whole-food values are from </em><a href="https://www.gov.uk/government/publications/composition-of-foods-integrated-dataset-cofid" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">McCance and Widdowson's Composition of Foods</a><em> and </em><a href="https://www.nutrition.org.uk/nutritional-information/protein/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the British Nutrition Foundation</a><em>; packaged products use typical UK label values, which vary by brand. Fibre is AOAC where declared.</em></p> 
<h3 style="font-size: 18px;line-height:40px;">Reading the table: three worked examples</h3>
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 18px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="3" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">Three products, judged properly</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:24%;">Product</th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:center;width:16%;">Protein /100 kcal</th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e3ebe6;text-align:left;width:60%;">Verdict</th>
</tr>
</thead><tbody>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;">Plain whey isolate</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">23 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Almost always taken alongside food. Efficient and useful, provided the calories are counted.</td>
</tr>
<tr style="background:#f8faf9;">
<td style="padding:12px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-weight:500;">A supermarket protein bar</td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">9 g</span></td>
<td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#333;">Sweetened with polyols, usually eaten instead of a meal. Fine occasionally, poor daily, and the problem is the missing meal.</td>
</tr>
<tr style="background:#ffffff;">
<td style="padding:12px 18px;text-align:left;font-weight:500;">A flavoured protein yogurt</td>
<td style="padding:12px 14px;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">14 g</span></td>
<td style="padding:12px 14px;text-align:left;color:#333;">No declared fibre. Useful on top of meals, poor as a substitute for one.</td>
</tr>
</tbody></table></div>
<section class="frive-trending" data-diet="high-protein" data-min="6" data-max="10" aria-label="Frive meals">
  <div class="frive-trending__head">
    <div>
      <h2 class="frive-trending__title">Loading the menu…</h2>
      <p class="frive-trending__sub"></p> 
    </div>
    <div class="frive-trending__nav">
      <button type="button" data-dir="-1" aria-label="Previous">&#8249;</button>
      <button type="button" data-dir="1" aria-label="Next">&#8250;</button>
    </div>
  </div>
  <div class="frive-trending__track"></div>
  <div class="frive-trending__cta"><a href="https://www.frive.co.uk/menu">See the full menu</a></div>
</section>
<h2>How to get the healthy protein your body craves</h2>
<p>Your protein powder is not the problem. The meals around it are. Three or four times a week <a href="https://www.frive.co.uk/our-plans/fitness-meal-prep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">most people who train</a> choose between <a href="https://www.frive.co.uk/blog/food-tips/cooking-after-eight-terrible-idea-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">cooking something decent at 8pm</a> and grabbing whatever hits the protein number fastest, and that choice sets your fibre, your calorie total and how much of your gain is muscle.</p> 
<p>That is the gap <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Frive</a> is built for: the meal, not the supplement.</p> 
<p><strong>High protein:</strong> options at 40 g and above, <a href="https://www.frive.co.uk/blog/health-fitness/macro-balanced-meal-plans-beginners-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">macro-balanced</a> and portion-controlled</p> 
<p><strong>Chef-prepared:</strong> <a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">made from 100 per cent natural ingredients</a>, never ultra-processed.</p> 
<p><strong>Weekly variety:</strong> a rotating menu of more than 40 dishes, ready in around four minutes.</p> 
<p>It is not a better protein source than your shaker. It is the meal your shaker keeps replacing. If that is the corner you want to fix, start with the <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">high-protein meal plan</a>, and if you are wary of anything ready to heat, we have covered <a href="https://www.frive.co.uk/blog/health-fitness/are-microwave-ready-meals-bad-for-you" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whether ready meals are actually bad for you</a> separately.</p> 
<div style="background:#eaf4ee;border:1px solid #cfe3d8;border-left:4px solid #053827;border-radius:12px;padding:16px 20px;margin:24px 0;font-size:15px;line-height:23px;color:#1d1d1d;"><strong style="color:#053827;">In short:</strong> </strong>Judge food on protein per calorie, fibre, added sugar and what it displaces. On those four, the NOVA group barely predicts anything.</div>
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">No prep, no planning</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Let Frive handle the meals your shaker keeps replacing. Fresh to your door, ready in around four minutes.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>FAQs</h2>
<h3 style="font-size: 18px;line-height:40px;">Is protein powder ultra-processed?</h3>
<p>Yes. Under the NOVA system almost all protein powders are group 4, including plain unflavoured whey isolate, because a protein isolate is a substance extracted from a food. That classification describes how the product was made, not how nutritious it is, and no trial shows powder builds less muscle than food.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is whey protein ultra-processed?</h3>
<p>Yes. Both whey isolate and whey concentrate are NOVA group 4, since whey protein is extracted and refined from milk. A two-ingredient unflavoured isolate and a heavily flavoured concentrate share that classification despite being very different products, which is a good reason to read the label rather than the group.</p> 
<h3 style="font-size: 18px;line-height:40px;">Are protein bars ultra-processed?</h3>
<p>Yes, and they sit further into group 4 than powder does because of the sweeteners, binders and coatings. A typical UK bar delivers around 9 g of protein per 100 calories against 23 g for whey isolate, and many are sweetened with polyols at levels that carry a laxative warning.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is Greek yogurt ultra-processed?</h3>
<p>Plain strained Greek yogurt is not: it is milk and live cultures, which is NOVA group 1. Flavoured high-protein yogurt pots usually are group 4, because of the sweeteners and thickeners. Greek-style yogurt is a different product again, with roughly half the protein of strained Greek yogurt.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is mycoprotein ultra-processed?</h3>
<p>Yes. Mycoprotein products such as Quorn pieces are NOVA group 4. They are also one of the clearest examples of why the group is a poor guide: Quorn pieces provide around 14 g of protein and at least 5 g of fibre per 100 g, which is more fibre than almost anything else in a high-protein diet.</p> 
<h3 style="font-size: 18px;line-height:40px;">Do ultra-processed foods stop you building muscle?</h3>
<p>No. There is no trial evidence that ultra-processed protein sources build less muscle once total protein and calories are matched. Morton's 2018 meta-analysis of 49 trials and 1,863 participants, the source of the 1.62 g per kg figure, was itself a meta-analysis of supplements, which were ultra-processed products.</p> 
<h3 style="font-size: 18px;line-height:40px;">Can you build muscle on a diet with no ultra-processed food?</h3>
<p>Yes, easily, provided you hit your daily protein target. Chicken breast, tuna, strained Greek yogurt, eggs, lentils and tofu will get most people to 1.6 g per kg without a supplement. The trade-off is convenience rather than results, which is why most people use some processed protein anyway.</p> 

  </div> </div> <style>  .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;}
.frive-offer-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#053827;color:#fff;border-radius:16px;padding:22px 26px;margin:28px 0;box-shadow:0 6px 20px rgba(5,56,39,.18)}
.frive-offer-banner__text{flex:1 1 280px;min-width:240px}
.frive-offer-banner__kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f6c76b;margin-bottom:6px}
.frive-offer-banner__headline{display:block;font-size:21px;font-weight:800;line-height:1.25;margin:0 0 6px;color:#fff}
.frive-offer-banner__sub{display:block;font-size:14px;color:rgba(255,255,255,.82);margin:0}
.frive-offer-banner__cta{flex:0 0 auto;display:inline-block;background:#fff;color:#053827!important;font-size:16px;font-weight:800;text-decoration:none;padding:13px 26px;border-radius:30px;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}
.frive-offer-banner__cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
@media (max-width:480px){.frive-offer-banner{padding:20px}.frive-offer-banner__cta{width:100%;text-align:center}}
.frive-trending{margin:34px 0}
.frive-trending__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 4px 14px}
.frive-trending__title{font-size:23px;font-weight:800;color:#053827;margin:0;line-height:1.2}
.frive-trending__sub{font-size:14px;color:#6b766f;margin:4px 0 0}
.frive-trending__nav{display:flex;gap:8px;flex:0 0 auto}
.frive-trending__nav button{width:40px;height:40px;border-radius:50%;border:1px solid #053827;background:#fff;color:#053827;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.frive-trending__nav button:hover{background:#053827;color:#fff}
.frive-trending__nav button:disabled{opacity:.35;cursor:default;background:#fff;color:#053827}
.frive-trending__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;margin:-4px;scrollbar-width:none}
.frive-trending__track::-webkit-scrollbar{display:none}
.fcard{scroll-snap-align:start;flex:0 0 264px;width:264px;background:#fff;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(5,56,39,.05);transition:transform .14s ease,box-shadow .14s ease}
.fcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(5,56,39,.13)}
.fcard__imgwrap{position:relative;aspect-ratio:4/3;background:#f3f1ec}
.fcard__imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.fcard__tag{position:absolute;top:10px;left:10px;background:#053827;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px}
.fcard__rating{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.94);color:#1d1d1d;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:3px}
.fcard__rating .star{color:#f5a623}
.fcard__body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.fcard__meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b766f;margin-bottom:6px}
.fcard__chip{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1d1d1d}
.fcard__low{background:#eaf4ee;color:#053827;font-weight:700;padding:2px 8px;border-radius:20px;font-size:11px}
.fcard__title{font-size:15px;font-weight:800;line-height:1.25;margin:0 0 5px}
.fcard__desc{font-size:13px;color:#6b766f;line-height:1.4;margin:0 0 12px;flex:1}
.fcard__macros{display:flex;gap:8px}
.fcard__macro{flex:1;background:#f6f8f6;border-radius:10px;padding:7px 8px;text-align:center;font-size:12px;color:#6b766f}
.fcard__macro b{display:block;font-size:14px;color:#1d1d1d}
.frive-trending__cta{text-align:center;margin-top:18px}
.frive-trending__cta a{display:inline-block;background:#053827;color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:12px 28px;border-radius:30px}
.frive-trending[hidden]{display:none}
@media (max-width:520px){.fcard{flex-basis:80vw;width:80vw}.frive-trending__title{font-size:20px}} </style>
<script>
/* Frive offer sync - reads the live sitewide offer into every in-article banner.
   Inline + self-contained so this single article works without any sitewide change. */
(function () {
  /* Live offer source. Primary = the sticky offer span (confirmed on frive.co.uk);
     fallback = bare .offer-details, which the site's own syncOfferDetails() populates. */
  var SELECTORS = ['.sticky-offer-button .offer-details', '.offer-details'];
  var TARGETS = '.frive-offer-text'; /* banner headline(s) */
  function readOffer() {
    for (var i = 0; i < SELECTORS.length; i++) {
      var el = document.querySelector(SELECTORS[i]);
      if (el) { var t = (el.textContent || '').trim(); if (t) return t; }
    }
    return '';
  }
  var applying = false;
  function sync() {
    var t = readOffer();
    if (!t) return false;
    var els = document.querySelectorAll(TARGETS);
    if (!els.length) return false;
    applying = true;
    for (var i = 0; i < els.length; i++) { if (els[i].textContent !== t) els[i].textContent = t; }
    applying = false;
    return true;
  }
  function init() {
    sync();
    /* The site sets .offer-details on window.onload, so re-sync then too. */
    window.addEventListener('load', sync);
    if (window.MutationObserver) {
      var src = document.querySelector('.sticky-offer-button') || document.body;
      new MutationObserver(function () { if (!applying) sync(); })
        .observe(src, { childList: true, subtree: true, characterData: true });
    }
    var n = 0, iv = setInterval(function () { if (sync() || ++n > 40) clearInterval(iv); }, 250);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();
})();
</script>
<script>
/* Frive meal carousel - fills every .frive-trending section from the live weekly menu. */
(function () {
  var API='https://www.frive.co.uk/api/js/v1/menu', CF='https://cloudfront.frive.co.uk/';
  var TITLES={
    'high-protein':'High-protein picks on the Frive menu this week',
    'vegetarian':'Vegetarian dishes on the Frive menu this week',
    'low-carb':'Low-carb picks on the Frive menu this week',
    'balanced':'Balanced meals on the Frive menu this week',
    'trending':'Trending on the Frive menu this week',
    'general':'Fresh on the Frive menu this week'
  };
  function tagNames(mi){ return (mi.tags||[]).map(function(t){return t.name||'';}); }
  var FILTERS={
    'high-protein':function(mi){ return tagNames(mi).indexOf('High Protein')>-1 || (mi.adjustedProteins||0)>=30; },
    'vegetarian':function(mi){ return !mi.isMeat && !mi.isFish; },
    'low-carb':function(mi){ return !!mi.is_low_carb; },
    'balanced':function(mi){ return !!mi.is_calorie_conscious; },
    'trending':function(mi){ var m=(mi.merchandisingTag&&mi.merchandisingTag.name)||''; return ['Meal Of The Month','House Special','Top Rated'].indexOf(m)>-1 || tagNames(mi).some(function(n){return ['Top Rated','5* Rated By You'].indexOf(n)>-1;}); }
  };
  // Deterministic per-week shuffle so "general" is stable within a menu week.
  function seeded(seed){ var s=0; for(var i=0;i<seed.length;i++) s=(s*31+seed.charCodeAt(i))>>>0; return function(){ s=(s*1664525+1013904223)>>>0; return s/4294967296; }; }
  function shuffle(arr, rnd){ arr=arr.slice(); for(var i=arr.length-1;i>0;i--){ var j=Math.floor(rnd()*(i+1)); var t=arr[i];arr[i]=arr[j];arr[j]=t; } return arr; }

  function baseItems(menu){
    var SKIP_CATS=[4,75,80];
    return (menu.items||[]).filter(function(x){ var mi=x.menuItem; return mi&&mi.title&&SKIP_CATS.indexOf(mi.category)===-1&&!mi.out_of_stock&&(mi.medias||[]).length&&tagNames(mi).indexOf('Add-on')===-1&&!/x\s*\d+\s*$/i.test(mi.title); }).map(function(x){return x.menuItem;});
  }
  function toCard(mi){
    var md=(mi.medias||[])[0]||{}; var d=(mi.description||'').replace(/\s+/g,' ').trim();
    return { title:mi.title.replace(/\s+/g,' ').trim(), desc:d.length>96?d.slice(0,93)+'…':d,
      kcal:Math.round(mi.adjustedCalories||0), protein:Math.round(mi.adjustedProteins||0), fibre:Math.round(mi.adjustedFibre||0),
      low:!!mi.is_low_carb, rating:mi.avg_rating, rates:mi.total_rates,
      tag:(mi.merchandisingTag&&mi.merchandisingTag.name)||null, img:md.url?CF+md.url:null };
  }
  function select(menu, diet, min, max){
    var all=baseItems(menu), week=menu.nextChangeDate||'week';
    function general(){ return shuffle(all, seeded(week)).slice(0,max); }
    if(diet==='general' || !FILTERS[diet] && diet!=='trending') return {items:general(), diet:'general'};
    if(diet==='trending'){
      var tagged=all.filter(FILTERS.trending).sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
      if(tagged.length<max){ var rest=all.filter(function(mi){return tagged.indexOf(mi)===-1;}).sort(function(a,b){return (b.avg_rating||0)-(a.avg_rating||0)||(b.total_rates||0)-(a.total_rates||0);}); tagged=tagged.concat(rest); }
      return {items:tagged.slice(0,max), diet:'trending'};
    }
    var matched=all.filter(FILTERS[diet]);
    if(matched.length<min) return {items:general(), diet:'general'}; // revert to general
    if(diet==='high-protein') matched.sort(function(a,b){return (b.adjustedProteins||0)-(a.adjustedProteins||0);});
    else matched.sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
    return {items:matched.slice(0,max), diet:diet};
  }

  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return {'&':'&','<':'&lt;','>':'&gt;','"':'&quot;'}[c];}); }
  function rf(n){ return (Math.round(n*10)/10).toFixed(1); }
  function nf(n){ return n>=1000?Math.round(n/1000)+'k':n; }
  function cardHTML(c){
    var tag=c.tag?'<span class="fcard__tag">'+esc(c.tag)+'</span>':'';
    var rating=c.rating?'<span class="fcard__rating"><span class="star">★</span>'+rf(c.rating)+(c.rates?' ('+nf(c.rates)+')':'')+'</span>':'';
    var low=c.low?'<span class="fcard__low">Low carb</span>':'';
    var img=c.img?'<img decoding="async" loading="lazy" src="'+esc(c.img)+'" alt="'+esc(c.title)+'">':'';
    return '<a class="fcard" href="https://www.frive.co.uk/menu"><div class="fcard__imgwrap">'+img+tag+rating+'</div>'
      +'<div class="fcard__body"><div class="fcard__meta"><span class="fcard__chip">🔥 '+c.kcal+' kcal</span>'+low+'</div>'
      +'<h3 class="fcard__title">'+esc(c.title)+'</h3><p class="fcard__desc">'+esc(c.desc)+'</p> '
      +'<div class="fcard__macros"><div class="fcard__macro">Protein<b>'+c.protein+'g</b></div><div class="fcard__macro">Fibre<b>'+c.fibre+'g</b></div></div></div></a>';
  }
  function prettyDate(iso){ try{ return new Date(iso+'T00:00:00').toLocaleDateString('en-GB',{day:'numeric',month:'long'}); }catch(e){ return iso; } }

  function fill(section, menu){
    var diet=(section.getAttribute('data-diet')||'trending').toLowerCase();
    var min=parseInt(section.getAttribute('data-min')||'6',10), max=parseInt(section.getAttribute('data-max')||'10',10);
    var res=select(menu, diet, min, max);
    if(!res.items.length){ section.hidden=true; return; }
    section.querySelector('.frive-trending__track').innerHTML=res.items.map(toCard).map(cardHTML).join('');
    section.querySelector('.frive-trending__title').textContent=TITLES[res.diet]||TITLES.trending;
    section.querySelector('.frive-trending__sub').textContent=menu.nextChangeDate?('Pulled live from this week’s menu · refreshes '+prettyDate(menu.nextChangeDate)):'';
    wire(section);
  }
  function wire(section){
    var track=section.querySelector('.frive-trending__track');
    var btns=section.querySelectorAll('.frive-trending__nav button');
    function step(){ var c=track.querySelector('.fcard'); return c?c.offsetWidth+16:280; }
    function upd(){ btns[0].disabled=track.scrollLeft<=4; btns[1].disabled=track.scrollLeft+track.clientWidth>=track.scrollWidth-4; }
    btns[0].onclick=function(){ track.scrollBy({left:-step()*1.5,behavior:'smooth'}); };
    btns[1].onclick=function(){ track.scrollBy({left:step()*1.5,behavior:'smooth'}); };
    track.addEventListener('scroll',upd); window.addEventListener('resize',upd); setTimeout(upd,60);
  }
  function init(){
    var sections=document.querySelectorAll('.frive-trending'); if(!sections.length) return;
    fetch(API,{headers:{accept:'application/json'}}).then(function(r){return r.json();}).then(function(menu){
      for(var i=0;i<sections.length;i++) fill(sections[i], menu);
    }).catch(function(){ for(var i=0;i<sections.length;i++) sections[i].hidden=true; });
  }
  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init();
})();
</script></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_1 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_0">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_2 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_1">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/are-ultra-processed-foods-bad-for-building-muscle">Are Ultra-Processed Foods Bad for Building Muscle?</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>High Volume, Low Calorie Foods To Keep You Full &#038; Satisfied</title>
		<link>https://blog.frive.co.uk/food-recipes/high-volume-low-calorie-foods</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 10:24:00 +0000</pubDate>
				<category><![CDATA[Food and Recipes]]></category>
		<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=16928</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/food-recipes/high-volume-low-calorie-foods">High Volume, Low Calorie Foods To Keep You Full &amp; Satisfied</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_3 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_1">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>25 High Volume, Low Calorie Foods That Keep You Full For Longer</h1>
<p class="author">by Frive Team | Updated 23rd July, 2026 | <a style="text-decoration: underline;" href="/blog/food-recipes">Food & Recipes</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2025/05/annie-lang-6PFqjxsHMOU-unsplash-2-scaled.jpg" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p><strong>TL;DR: High volume, low calorie foods are rich in water and fibre, so you can eat large portions for very few calories. The best examples include leafy greens (15 to 25 kcal per 100g), cucumber (15 kcal), watermelon (30 kcal), broth based soups and air popped popcorn. Pair them with lean protein to stay full for hours.</strong></p> 
<p>Trying to cut calories but constantly feeling hungry? The answer might not be eating less, but eating differently. High volume, low calorie foods give you more to chew on, literally. Because they are full of fibre and water, they let you eat satisfying portions without loading up on calories. This guide covers the 25 best options with their calories per 100g, the snacks that actually fill you up, and seven meal ideas that put it all together.</p> 
<h2>The 25 best high volume, low calorie foods at a glance</h2>
<p>Every food below is listed with its approximate calories per 100g and what actually fills you up (water, fibre or protein), grouped by category. Figures are approximate and based on standard UK nutrition data.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:10px 0 6px;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="4" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">At a glance: 25 high volume, low calorie foods</th></tr>
<tr><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;">Food</th><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:center;padding:10px 14px;border-bottom:1px solid #e3ebe6;">Kcal/100g</th><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:center;padding:10px 14px;border-bottom:1px solid #e3ebe6;">What fills you up</th><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 14px;border-bottom:1px solid #e3ebe6;">Best use</th></tr></thead><tbody>
<tr><td colspan="4" style="background:#eaf4ee;color:#053827;font-weight:700;font-size:13px;letter-spacing:.03em;padding:9px 18px;border-bottom:1px solid #e3ebe6;">Vegetables</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">1. Celery</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">14</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water + fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Crunchy snacking, soups</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">2. Lettuce</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">15</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Salad bases, wraps</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">3. Cucumber</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">15</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Salads, snack sticks</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">4. Courgette</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">17</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Noodles, roasting, grating into oats</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">5. Tomatoes</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">18</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Sauces, salads, roasting</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">6. Mushrooms</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">22</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water + fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Bulking out mince, stir fries</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">7. Spinach</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">23</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water + fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Wilting into anything</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">8. Cauliflower</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">25</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Rice swap, roasting</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">9. Cabbage</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">25</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Slaws, stir fries</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">10. Broccoli</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">34</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Sides, soups, grain bowls</td></tr>
<tr><td colspan="4" style="background:#eaf4ee;color:#053827;font-weight:700;font-size:13px;letter-spacing:.03em;padding:9px 18px;border-bottom:1px solid #e3ebe6;">Fruits</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">11. Watermelon</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">30</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Sweet cravings, hydration</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">12. Strawberries</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">32</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Snacks, yoghurt bowls</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">13. Grapefruit</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">42</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Breakfast, salads</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">14. Oranges</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">47</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water + fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Portable snack</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">15. Apples</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">52</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Water + fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Portable snack, slow eating</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">16. Raspberries</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">52</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Highest fibre berry, yoghurt bowls</td></tr>
<tr><td colspan="4" style="background:#eaf4ee;color:#053827;font-weight:700;font-size:13px;letter-spacing:.03em;padding:9px 18px;border-bottom:1px solid #e3ebe6;">Lean proteins</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">17. Egg whites</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">52</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Omelettes, scrambles</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">18. 0% Greek yoghurt</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">59</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Breakfast base, creamy swaps</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">19. White fish (cod)</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">82</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Big, lean dinners</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">20. Cottage cheese</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">98</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">High protein snacking</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">21. Prawns</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">99</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Stir fries, salads</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">22. Chicken breast (cooked)</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">165</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Protein</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">The lean protein anchor for volume meals</td></tr>
<tr><td colspan="4" style="background:#eaf4ee;color:#053827;font-weight:700;font-size:13px;letter-spacing:.03em;padding:9px 18px;border-bottom:1px solid #e3ebe6;">Grains and pulses</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">23. Porridge oats (made with water)</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">71</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Fibre</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">Filling breakfasts</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:500;text-align:left;">24. Boiled potatoes</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">87</span></td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:center;color:#333;font-weight:600;">Starch + water</td><td style="padding:12px 14px;border-bottom:1px solid #eef1ef;text-align:left;color:#6b766f;">One of the most satiating foods tested</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;font-weight:500;text-align:left;">25. Cooked lentils</td><td style="padding:12px 14px;text-align:center;"><span style="display:inline-block;background:#eaf4ee;color:#053827;font-weight:700;padding:3px 11px;border-radius:20px;font-size:13px;white-space:nowrap;">116</span></td><td style="padding:12px 14px;text-align:center;color:#333;font-weight:600;">Fibre + protein</td><td style="padding:12px 14px;text-align:left;color:#6b766f;">Soups, curries, salads</td></tr>
</tbody></table></div>
<p><em>Figures are approximate and based on standard UK nutrition data.</em></p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">Skip the cooking</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Fresh, chef prepared meals under 500 kcal, delivered and ready in minutes.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>What are high volume, low calorie foods?</h2>
<p>High volume, low calorie foods are foods rich in water and fibre that you can eat in large portions without consuming many calories; think leafy greens, berries, broth based soups and air popped popcorn. They physically fill your stomach and help you feel satisfied, even though the calorie count stays low.</p> 
<p>This way of eating is based on a principle called energy density: the number of calories in a given weight of food. Foods with low energy density, like cucumber or strawberries, take up more space in your stomach and digest more slowly, which triggers fullness signals before you have eaten too many calories. This approach, known as volumetrics and developed by Dr Barbara Rolls, has been <a href="https://onlinelibrary.wiley.com/doi/pdf/10.1002/oby.20582" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><a href="https://onlinelibrary.wiley.com/doi/pdf/10.1002/oby.20582" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">linked to better weight loss results</a></a> than diets built around meal replacements, largely because it is easier to stick with.</p> 
<p>The maths makes the point better than any theory. 100g of crisps carries around 530 kcal; 100g of strawberries carries 32. Same weight on the plate, seventeen times the calories. Eat 500g of food built from the list below and you might total 150 to 250 kcal; the same weight of pastry, cheese and crisps clears 2,000. Your stomach measures weight and stretch, not calories, which is exactly the loophole volume eating uses.</p> 
<p>Lower volume foods like nuts, cheese and oils pack a lot of calories into small portions. They are not "bad" foods, but they provide little physical volume, which makes it easy to overeat without noticing. If you want filling, low calorie foods doing the work at every meal, the trick is simply to build your plate around the high water, high fibre options and add lean protein for staying power.</p> 
<p><em>Skip the cooking: Frive’s <a href="https://www.frive.co.uk/our-plans/low-calorie-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">low calorie meal plan</a> keeps every dish under 500 kcal, freshly made with no ultra processed ingredients.</em></p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6778/opt_upload.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Low calorie meals under 500 kcal, packed with nutrition</a>
</figcaption>
</figure><div class="content">
<h2>What are the benefits of volume eating?</h2>
<p><strong>In short:</strong> you feel fuller on fewer calories, which makes healthy eating dramatically easier to sustain. Here is what that looks like in practice:</p> 
<p><strong>Fuller for longer:</strong> high volume foods trigger fullness signals through your stomach’s stretch receptors, reducing overall calorie intake without any sense of deprivation.</p> 
<p><strong>Easier weight management:</strong> satisfying portions make a calorie deficit easier to stick with than restrictive or replacement based diets.</p> 
<p><strong>Fewer cravings:</strong> when meals genuinely satisfy, you are less likely to reach for calorie dense snacks like sweets, cheese and crisps later on.</p> 
<p><strong>Effortless portion control:</strong> large portions of low energy density foods provide visual and physical satiety, so you naturally stop when full without weighing every bite.</p> 
<p><strong>Steadier blood sugar:</strong> fibre rich, high volume foods slow the absorption of sugar into the bloodstream, which can reduce <a href="https://www.frive.co.uk/blog/health-fitness/post-lunch-fatigue-energy-crash" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">energy crashes and sugar cravings</a>.</p> 
<p><strong>Better digestion:</strong> most high volume foods are <a href="https://www.frive.co.uk/blog/health-fitness/fibremaxxing-explained" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">high in fibre</a>, which keeps digestion regular and supports a healthy gut microbiome.</p> 
<p><strong>Steady energy:</strong> unlike calorie dense snacks that spike and crash, high volume options fuel you gradually thanks to their fibre, water and nutrient content.</p> 
<p>In contrast, high calorie, low volume foods like chocolate, nuts and cheese are easy to overeat: a few bites can contain hundreds of calories while offering little satiety. That mismatch is often <a href="https://www.frive.co.uk/blog/health-fitness/not-losing-weight-calorie-deficit" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">why a calorie deficit fails</a>; not too little willpower, just too much hunger. Studies of low energy density diets consistently find people eat a similar weight of food day to day regardless of its calories, which is why lowering the energy density of your meals reduces intake without reducing satisfaction.</p> 
<h2>The 25 best foods, category by category</h2>
<p>Here is how to actually use each group, with the standout foods in each.</p> 
<div class="frive-card-grid">
<div class="frive-card">
<h3 style="font-size: 18px;line-height:40px;">Low calorie vegetables</h3>
<p class="frive-card__stat">14 to 34 kcal per 100g</p> 
<p><strong>Vegetables are the backbone of volume eating:</strong> mostly water and fibre, packed with micronutrients, and cheap.</p> 
<p><strong>Leafy greens (lettuce, spinach, rocket):</strong> incredibly low in calories but full of water and fibre. Swap tortilla wraps for large romaine leaves, or add a handful of spinach to stir fries and smoothies.</p> 
<p><strong>Cruciferous veg (broccoli, cauliflower, cabbage):</strong> fibre rich with real substance and dense texture. Roast cauliflower instead of potatoes, use <a href="https://www.frive.co.uk/blog/food-recipes/low-carb-lunch-ideas" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">cauliflower rice</a>, or blitz broccoli into soups.</p> 
<p><strong>Courgette:</strong> light, hydrating and endlessly versatile: grate it into oats, spiralise it into noodles in place of pasta, or roast it as a side.</p> 
<p><strong>Cucumber and celery:</strong> the classic high volume snacks at around 15 kcal per 100g. Their crunch slows eating down, giving your brain time to register fullness. Dip into hummus instead of crackers.</p> 
<p><strong>Tomatoes and mushrooms:</strong> juicy, low energy density flavour carriers. Use chopped tomatoes as a pasta sauce base <a href="https://www.frive.co.uk/blog/food-recipes/heavy-cream-pasta-substitutes" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">instead of cream</a>, and fold chopped mushrooms through mince to stretch it further for fewer calories.</p> 
</div>
<div class="frive-card">
<h3 style="font-size: 18px;line-height:40px;">Water rich fruits</h3>
<p class="frive-card__stat">30 to 52 kcal per 100g</p> 
<p><strong>Watermelon and strawberries:</strong> sweet, hydrating options that curb sugar cravings without the calorie hit of biscuits. Watermelon is around 92% water.</p> 
<p><strong>Raspberries:</strong> the fibre champion of the fruit bowl at roughly 7g of fibre per 100g, which is why they keep you fuller than their 52 kcal suggests.</p> 
<p><strong>Grapefruit and oranges:</strong> water and fibre rich citrus that takes time to peel and eat, a natural brake on mindless snacking.</p> 
<p><strong>Apples:</strong> high in pectin fibre and water; eating one before a meal has been shown to reduce how much people eat afterwards.</p> 
</div>
<div class="frive-card">
<h3 style="font-size: 18px;line-height:40px;">Lean proteins</h3>
<p class="frive-card__stat">52 to 165 kcal per 100g</p> 
<p>Protein is the missing piece in most volume eating advice. It is <a href="https://www.frive.co.uk/blog/performance/how-much-protein-per-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the most satiating macronutrient</a>, and pairing it with high volume foods beats volume alone for keeping hunger away.</p> 
<p><strong>Egg whites:</strong> almost pure protein at 52 kcal per 100g; bulk out a whole egg omelette with extra whites for a bigger plate at a small calorie cost.</p> 
<p>0% Greek yoghurt: creamy, versatile and around 10g of protein per 100g. Use it as <a href="https://www.frive.co.uk/blog/food-recipes/how-to-get-30g-of-protein-for-breakfast" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">a breakfast base</a> or a swap for cream and mayonnaise.</p> 
<p><strong>White fish and prawns:</strong> huge, lean portions for their calories; a 150g cod fillet is under 130 kcal. Perfect for big dinners that stay light.</p> 
<p><strong>Cottage cheese:</strong> a high protein snack that pairs well with the vegetable sticks above.</p> 
<p><strong>Chicken breast:</strong> the densest food on our list at 165 kcal per 100g, but its protein content makes it the anchor that turns a bowl of vegetables into a meal that lasts all afternoon.</p> 
</div>
<div class="frive-card">
<h3 style="font-size: 18px;line-height:40px;">Whole grains and pulses</h3>
<p class="frive-card__stat">71 to 116 kcal per 100g</p> 
<p><strong>Porridge oats made with water:</strong> oats swell dramatically when cooked, so a modest 40g serving becomes a big, warming bowl at around 150 kcal.</p> 
<p><strong>Boiled potatoes:</strong> unfairly maligned; plain boiled potatoes rank among the most satiating foods ever tested, at only 87 kcal per 100g. It is the frying and toppings that add up.</p> 
<p><strong>Lentils and beans:</strong> fibre and protein together make pulses exceptionally filling. Slightly higher in calories than vegetables, but they work harder per calorie than almost anything else. If you have IBS or struggle with bloating, start small; lentils are often the easiest on the gut.</p> 
</div>
</div>
<h2>High volume, low calorie snacks</h2>
<p>Snacking is where most calorie budgets quietly fall apart. These options give you plenty to eat for very little:</p> 
<p><strong>Air popped popcorn:</strong> a big 20g bowl is around 80 kcal, with fibre to keep you full. Season with herbs or a little nutritional yeast rather than butter.</p> 
<p><strong>Veg sticks and hummus:</strong> cucumber, celery, carrot and pepper with two tablespoons of hummus comes in around 120 kcal.</p> 
<p><strong>Berries with 0% Greek yoghurt:</strong> a large bowl for roughly 120 kcal, with protein for staying power.</p> 
<p><strong>Rice cakes:</strong> around 35 kcal each; top with cottage cheese and tomato for a more substantial bite.</p> 
<p><strong>Miso soup:</strong> warming, savoury and about 35 kcal a bowl; brilliant for <a href="https://www.frive.co.uk/blog/health-fitness/how-to-avoid-the-3pm-slump-and-keep-your-focus" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the late afternoon slump</a>.</p> 
<p><strong>Pickled gherkins:</strong> crunchy, salty satisfaction at roughly 12 kcal per 100g.</p> 
<p><strong>Frozen grapes:</strong> a sweet treat that takes ages to eat; a handful is around 55 kcal.</p> 
<p><em>Skip the cooking: browse <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">this week’s Frive menu</a> for fresh, portion controlled meals with the full nutrition on every label.</em></p> 
<h2>Volume eating recipes: 7 high volume, low calorie meal ideas</h2>
<p>Approximate calories are per serving. Each idea combines volume foods with a protein source, the pairing that keeps you full for hours.</p> 
<p><strong>Veggie packed stir fry (around 350 kcal):</strong> courgette, broccoli, cabbage and mushrooms in soy, garlic and chilli, with <a href="https://www.frive.co.uk/blog/food-recipes/health-benefits-prawns" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">prawns</a> or chicken, served over cauliflower rice or a small scoop of brown rice.</p> 
<p><strong>Souped up salad (around 400 kcal):</strong> a big base of leafy greens with cherry tomatoes, cucumber, celery and lentils, topped with grilled chicken or tofu and a balsamic drizzle.</p> 
<p><strong>Berry yoghurt bowl (around 250 kcal):</strong> 0% Greek yoghurt with mixed berries, a teaspoon of chia seeds and cinnamon; breakfast or dessert.</p> 
<p><strong>Stuffed courgettes (around 300 kcal):</strong> hollowed courgettes filled with lentils, chopped tomatoes, garlic and herbs, baked until tender.</p> 
<p><strong>Broth bowl (around 320 kcal):</strong> miso broth with steamed greens, shredded carrots, tofu and courgette noodles for a light, warming dinner.</p> 
<p><strong>Prawn courgetti (around 280 kcal):</strong> spiralised courgette with garlic prawns, cherry tomatoes and chilli; pasta night feel at a quarter of the calories.</p> 
<p><strong>Big batch chicken and vegetable soup (around 330 kcal):</strong> chicken breast, cabbage, celery, tomatoes and beans simmered in stock; makes several lunches.</p> 
<p><em>Skip the cooking: Frive’s chefs build the same high volume, protein paired logic into <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">every meal on the menu</a>, with calories and macros printed on the label.</em></p> 
<h2>What foods should you limit?</h2>
<p>Knowing what to limit matters as much as knowing what to eat. These foods are dense in calories but low in volume, so they are <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">easy to overeat</a>:</p> 
<p><strong>Sweets and pastries:</strong> small in size but packed with sugar and calories, with very little satiety or nutrition.</p> 
<p><strong>Cheese and fatty meats:</strong> calorie dense and easy to overdo; even small portions add up quickly.</p> 
<p><strong>Fried foods:</strong> high in fat and low in fibre and water, so they do little for fullness.</p> 
<p><strong>Nuts and nut butters:</strong> healthy in moderation but very calorie rich; stick to measured portions.</p> 
<p><strong>Sugary drinks and alcohol:</strong> calories that never touch your stomach’s stretch receptors, and they can spike hunger later.</p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6308/opt_upload.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Freshly made, low calorie meals with no ultra processed ingredients</a>
</figcaption>
</figure><div class="content">
<h2>Is volume eating safe and sustainable?</h2>
<p>Yes, provided you keep balance in mind. Volume eating is not about living on mountains of salad; your body still needs enough energy, protein, healthy fats and micronutrients to function well, in line with <a href="https://www.nhs.uk/live-well/eat-well/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the NHS Eatwell guidance</a>. A diet made entirely of cucumber and popcorn will not work long term. Pair volume foods with good protein sources and healthy fats, keep plenty of variety and colour on your plate, and treat the approach as a structure for satisfying meals rather than a restriction tool.</p> 
<p>For most people <a href="https://www.frive.co.uk/our-plans/weight-loss-meal-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">aiming to lose weight safely</a>, a deficit of around 500 calories below maintenance is the sensible ceiling; volume eating simply makes that deficit feel like far less of a sacrifice.</p> 
<h2>How do you make volume eating work day to day?</h2>
<p><strong>A few habits make the difference between a diet phase and a way of eating:</strong></p> 
<p><strong>Tune into hunger cues:</strong> high volume meals help you feel full, but eat when genuinely hungry and slow down enough to notice when you have had enough.</p> 
<p><strong>Eat without distractions:</strong> mindful eating helps you enjoy food more and stop naturally, even with a full plate.</p> 
<p><strong>Prioritise protein at every meal:</strong> volume fills you now; protein keeps you full later. Every meal above pairs the two.</p> 
<p><strong>Choose wisely when eating out:</strong> pick dishes loaded with vegetables or broth based soups, ask for dressings on the side, and swap fries for salad or extra greens.</p> 
<p><strong>Prep ahead, or skip the prep entirely:</strong> <a href="https://www.frive.co.uk/blog/health-fitness/beginners-weight-loss-meal-prep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">batch cook soups and salads</a>, or <a href="https://www.frive.co.uk/our-plans/meal-prep-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">let Frive do it</a>: meals built on whole, high volume ingredients with satiety in mind, no calorie counting required.</p> 
<p><strong>A simple plate formula to remember:</strong> half the plate non starchy vegetables, a quarter lean protein, a quarter smart carbohydrates (potatoes, oats or pulses), plus a thumb of healthy fats for flavour and vitamin absorption. Build every lunch and dinner that way and the volume, the protein and the calorie control all take care of themselves without a single gram weighed.</p> 
<p><em>“The food is tasty and has clean ingredients, and it’s really helpful to have all the nutritional information ready. I also felt really full after each meal.” Soph, Frive customer</em></p> 
<section class="frive-trending" data-diet="balanced" data-min="6" data-max="10" aria-label="Frive meals">
  <div class="frive-trending__head">
    <div>
      <h2 class="frive-trending__title">Loading the menu…</h2>
      <p class="frive-trending__sub"></p> 
    </div>
    <div class="frive-trending__nav">
      <button type="button" data-dir="-1" aria-label="Previous">‹</button>
      <button type="button" data-dir="1" aria-label="Next">›</button>
    </div>
  </div>
  <div class="frive-trending__track"></div>
  <div class="frive-trending__cta"><a href="https://www.frive.co.uk/menu">See the full menu</a></div>
</section>
<h2>Eat more, weigh less: the volume eating way</h2>
<p>Eating well does not have to mean going hungry. Fill your plate with fibre rich vegetables, water rich fruits, lean proteins and broth based meals and you get the volume your stomach wants with the nutrition your body needs, while the calories quietly take care of themselves.</p> 
<p><strong>Frive meals are built around this same philosophy:</strong> low calorie, high volume ingredients, natural foods, and proper portions of protein, with no calorie counting and no restrictive rules.</p> 
<p><strong>Dig into <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Frive’s menu</a> and see how easy it is to eat more for less. Less effort, fewer calories, more satisfaction.</strong></p> 
<p><em>*Please note, offers are subject to change. At the time of writing, Frive is offering an introductory discount on first week orders for new customers.</em></p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">No prep, no planning</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Let Frive keep you full for fewer calories. Fresh to your door, ready in minutes.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>FAQs</h2>
<h3 style="font-size: 18px;line-height:40px;">What is the highest volume, lowest calorie food?</h3>
<p>Leafy greens like lettuce, spinach and rocket top the list at around 15 to 25 kcal per 100g, being mostly water and fibre. Celery (14 kcal) and cucumber (15 kcal) are close behind. All of them let you fill your plate, and your stomach, for a near negligible calorie cost.</p> 
<h3 style="font-size: 18px;line-height:40px;">What foods are very filling but low in calories?</h3>
<p><strong>The most filling low calorie foods combine water or fibre with protein:</strong> broth based soups, boiled potatoes, porridge, berries, legumes, air popped popcorn and lean proteins like white fish and 0% Greek yoghurt. They take up space in your stomach and digest slowly, keeping you fuller for longer without extra calories.</p> 
<h3 style="font-size: 18px;line-height:40px;">How can I add volume to meals without adding calories?</h3>
<p>Bulk every meal with non starchy vegetables, water rich fruits, leafy greens or broth. Grate courgette into oats, fold mushrooms through mince, serve curries on cauliflower rice, and start meals with soup or salad. Pair with lean protein and a little healthy fat so the fullness actually lasts.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is volume eating?</h3>
<p>Volume eating means filling your plate with foods that are low in calories but high in physical volume, mainly thanks to water and fibre. Based on the energy density principle behind the volumetrics approach, it lets you eat satisfying portions while naturally keeping total calories down, which makes it easier to sustain than restrictive dieting.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does volume eating help you stick to a calorie deficit?</h3>
<p>Yes. Hunger is the main reason calorie deficits fail, and high volume meals directly address it by stretching the stomach and slowing digestion. Eating bigger portions of low energy density foods makes a deficit feel like normal eating rather than restriction, which is what keeps people consistent for long enough to see results.</p> 
<h3 style="font-size: 18px;line-height:40px;">Can volume eating support muscle gain or fat loss?</h3>
<p>Both, if protein is included. For fat loss, volume manages hunger while calories stay low. For muscle gain, pair high volume vegetables with enough <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">lean protein (chicken, fish, eggs, Greek yoghurt)</a> and <a href="https://www.frive.co.uk/blog/health-fitness/how-many-calories-should-i-eat-a-day-to-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">adequate overall calories</a>. Volume without protein leaves you full now but hungry later; the pairing is what works.</p> 
<h3 style="font-size: 18px;line-height:40px;">How do I recover well from training on a low calorie diet?</h3>
<p>Prioritise protein at every meal, around 20 to 40g, and use volume foods to satisfy appetite around it. Fibre rich carbohydrates like potatoes, oats and pulses <a href="https://www.frive.co.uk/blog/health-fitness/what-to-eat-after-a-workout" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">refill energy stores</a> while keeping calories controlled. Recovery suffers when protein drops too low, not when overall portions are simply more vegetable heavy.</p> 

  </div> </div> <style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;}
.frive-offer-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#053827;color:#fff;border-radius:16px;padding:22px 26px;margin:28px 0;box-shadow:0 6px 20px rgba(5,56,39,.18)}
.frive-offer-banner__text{flex:1 1 280px;min-width:240px}
.frive-offer-banner__kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f6c76b;margin-bottom:6px}
.frive-offer-banner__headline{display:block;font-size:21px;font-weight:800;line-height:1.25;margin:0 0 6px;color:#fff}
.frive-offer-banner__sub{display:block;font-size:14px;color:rgba(255,255,255,.82);margin:0}
.frive-offer-banner__cta{flex:0 0 auto;display:inline-block;background:#fff;color:#053827!important;font-size:16px;font-weight:800;text-decoration:none;padding:13px 26px;border-radius:30px;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}
.frive-offer-banner__cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
@media (max-width:480px){.frive-offer-banner{padding:20px}.frive-offer-banner__cta{width:100%;text-align:center}}
.frive-trending{margin:34px 0}
.frive-trending__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 4px 14px}
.frive-trending__title{font-size:23px;font-weight:800;color:#053827;margin:0;line-height:1.2}
.frive-trending__sub{font-size:14px;color:#6b766f;margin:4px 0 0}
.frive-trending__nav{display:flex;gap:8px;flex:0 0 auto}
.frive-trending__nav button{width:40px;height:40px;border-radius:50%;border:1px solid #053827;background:#fff;color:#053827;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.frive-trending__nav button:hover{background:#053827;color:#fff}
.frive-trending__nav button:disabled{opacity:.35;cursor:default;background:#fff;color:#053827}
.frive-trending__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;margin:-4px;scrollbar-width:none}
.frive-trending__track::-webkit-scrollbar{display:none}
.fcard{scroll-snap-align:start;flex:0 0 264px;width:264px;background:#fff;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(5,56,39,.05);transition:transform .14s ease,box-shadow .14s ease}
.fcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(5,56,39,.13)}
.fcard__imgwrap{position:relative;aspect-ratio:4/3;background:#f3f1ec}
.fcard__imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.fcard__tag{position:absolute;top:10px;left:10px;background:#053827;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px}
.fcard__rating{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.94);color:#1d1d1d;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:3px}
.fcard__rating .star{color:#f5a623}
.fcard__body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.fcard__meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b766f;margin-bottom:6px}
.fcard__chip{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1d1d1d}
.fcard__low{background:#eaf4ee;color:#053827;font-weight:700;padding:2px 8px;border-radius:20px;font-size:11px}
.fcard__title{font-size:15px;font-weight:800;line-height:1.25;margin:0 0 5px}
.fcard__desc{font-size:13px;color:#6b766f;line-height:1.4;margin:0 0 12px;flex:1}
.fcard__macros{display:flex;gap:8px}
.fcard__macro{flex:1;background:#f6f8f6;border-radius:10px;padding:7px 8px;text-align:center;font-size:12px;color:#6b766f}
.fcard__macro b{display:block;font-size:14px;color:#1d1d1d}
.frive-trending__cta{text-align:center;margin-top:18px}
.frive-trending__cta a{display:inline-block;background:#053827;color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:12px 28px;border-radius:30px}
.frive-trending[hidden]{display:none}
@media (max-width:520px){.fcard{flex-basis:80vw;width:80vw}.frive-trending__title{font-size:20px}}
.frive-card-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:10px 0 28px}
.frive-card{background:#fff;border:1px solid #e3ebe6;border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(5,56,39,.05);display:flex;flex-direction:column}
.frive-card h3{margin:0 0 10px !important;font-size:17px !important;line-height:1.3 !important;color:#053827 !important}
.frive-card__stat{display:inline-block;align-self:flex-start;background:#eaf4ee;color:#053827;font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:20px;margin:0 0 10px}
.frive-card p{font-size:15px;line-height:22px;color:#333;margin:0 0 8px}
.frive-card p:last-child{margin-bottom:0}
@media (max-width:600px){.frive-card-grid{grid-template-columns:1fr}}
 </style> <script>
/* Frive offer sync - reads the live sitewide offer into every in-article banner.
   Inline + self-contained so this single article works without any sitewide change. */
(function () {
  /* Live offer source. Primary = the sticky offer span (confirmed on frive.co.uk);
     fallback = bare .offer-details, which the site's own syncOfferDetails() populates. */
  var SELECTORS = ['.sticky-offer-button .offer-details', '.offer-details'];
  var TARGETS = '.frive-offer-text'; /* banner headline(s) */
  function readOffer() {
    for (var i = 0; i < SELECTORS.length; i++) {
      var el = document.querySelector(SELECTORS[i]);
      if (el) { var t = (el.textContent || '').trim(); if (t) return t; }
    }
    return '';
  }
  var applying = false;
  function sync() {
    var t = readOffer();
    if (!t) return false;
    var els = document.querySelectorAll(TARGETS);
    if (!els.length) return false;
    applying = true;
    for (var i = 0; i < els.length; i++) { if (els[i].textContent !== t) els[i].textContent = t; }
    applying = false;
    return true;
  }
  function init() {
    sync();
    /* The site sets .offer-details on window.onload, so re-sync then too. */
    window.addEventListener('load', sync);
    if (window.MutationObserver) {
      var src = document.querySelector('.sticky-offer-button') || document.body;
      new MutationObserver(function () { if (!applying) sync(); })
        .observe(src, { childList: true, subtree: true, characterData: true });
    }
    var n = 0, iv = setInterval(function () { if (sync() || ++n > 40) clearInterval(iv); }, 250);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();
})();
</script>
<script>
/* Frive meal carousel - fills every .frive-trending section from the live weekly menu. */
(function () {
  var API='https://www.frive.co.uk/api/js/v1/menu', CF='https://cloudfront.frive.co.uk/';
  var TITLES={
    'high-protein':'High-protein picks on the Frive menu this week',
    'vegetarian':'Vegetarian dishes on the Frive menu this week',
    'low-carb':'Low-carb picks on the Frive menu this week',
    'balanced':'Balanced meals on the Frive menu this week',
    'trending':'Trending on the Frive menu this week',
    'general':'Fresh on the Frive menu this week'
  };
  function tagNames(mi){ return (mi.tags||[]).map(function(t){return t.name||'';}); }
  var FILTERS={
    'high-protein':function(mi){ return tagNames(mi).indexOf('High Protein')>-1 || (mi.adjustedProteins||0)>=30; },
    'vegetarian':function(mi){ return !mi.isMeat && !mi.isFish; },
    'low-carb':function(mi){ return !!mi.is_low_carb; },
    'balanced':function(mi){ return !!mi.is_calorie_conscious; },
    'trending':function(mi){ var m=(mi.merchandisingTag&&mi.merchandisingTag.name)||''; return ['Meal Of The Month','House Special','Top Rated'].indexOf(m)>-1 || tagNames(mi).some(function(n){return ['Top Rated','5* Rated By You'].indexOf(n)>-1;}); }
  };
  // Deterministic per-week shuffle so "general" is stable within a menu week.
  function seeded(seed){ var s=0; for(var i=0;i<seed.length;i++) s=(s*31+seed.charCodeAt(i))>>>0; return function(){ s=(s*1664525+1013904223)>>>0; return s/4294967296; }; }
  function shuffle(arr, rnd){ arr=arr.slice(); for(var i=arr.length-1;i>0;i--){ var j=Math.floor(rnd()*(i+1)); var t=arr[i];arr[i]=arr[j];arr[j]=t; } return arr; }

  function baseItems(menu){
    return (menu.items||[]).filter(function(x){ var mi=x.menuItem; return mi&&mi.title&&mi.category!==4&&!mi.out_of_stock&&(mi.medias||[]).length&&tagNames(mi).indexOf('Add-on')===-1; }).map(function(x){return x.menuItem;});
  }
  function toCard(mi){
    var md=(mi.medias||[])[0]||{}; var d=(mi.description||'').replace(/\s+/g,' ').trim();
    return { title:mi.title.replace(/\s+/g,' ').trim(), desc:d.length>96?d.slice(0,93)+'…':d,
      kcal:Math.round(mi.adjustedCalories||0), protein:Math.round(mi.adjustedProteins||0), fibre:Math.round(mi.adjustedFibre||0),
      low:!!mi.is_low_carb, rating:mi.avg_rating, rates:mi.total_rates,
      tag:(mi.merchandisingTag&&mi.merchandisingTag.name)||null, img:md.url?CF+md.url:null };
  }
  function select(menu, diet, min, max){
    var all=baseItems(menu), week=menu.nextChangeDate||'week';
    function general(){ return shuffle(all, seeded(week)).slice(0,max); }
    if(diet==='general' || !FILTERS[diet] && diet!=='trending') return {items:general(), diet:'general'};
    if(diet==='trending'){
      var tagged=all.filter(FILTERS.trending).sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
      if(tagged.length<max){ var rest=all.filter(function(mi){return tagged.indexOf(mi)===-1;}).sort(function(a,b){return (b.avg_rating||0)-(a.avg_rating||0)||(b.total_rates||0)-(a.total_rates||0);}); tagged=tagged.concat(rest); }
      return {items:tagged.slice(0,max), diet:'trending'};
    }
    var matched=all.filter(FILTERS[diet]);
    if(matched.length<min) return {items:general(), diet:'general'}; // revert to general
    if(diet==='high-protein') matched.sort(function(a,b){return (b.adjustedProteins||0)-(a.adjustedProteins||0);});
    else matched.sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
    return {items:matched.slice(0,max), diet:diet};
  }

  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return {'&':'&','<':'<','>':'>','"':'"'}[c];}); }
  function rf(n){ return (Math.round(n*10)/10).toFixed(1); }
  function nf(n){ return n>=1000?Math.round(n/1000)+'k':n; }
  function cardHTML(c){
    var tag=c.tag?'<span class="fcard__tag">'+esc(c.tag)+'</span>':'';
    var rating=c.rating?'<span class="fcard__rating"><span class="star">★</span>'+rf(c.rating)+(c.rates?' ('+nf(c.rates)+')':'')+'</span>':'';
    var low=c.low?'<span class="fcard__low">Low carb</span>':'';
    var img=c.img?'<img decoding="async" loading="lazy" src="'+esc(c.img)+'" alt="'+esc(c.title)+'">':'';
    return '<a class="fcard" href="https://www.frive.co.uk/menu"><div class="fcard__imgwrap">'+img+tag+rating+'</div>'
      +'<div class="fcard__body"><div class="fcard__meta"><span class="fcard__chip">🔥 '+c.kcal+' kcal</span>'+low+'</div>'
      +'<h3 class="fcard__title">'+esc(c.title)+'</h3><p class="fcard__desc">'+esc(c.desc)+'</p> '
      +'<div class="fcard__macros"><div class="fcard__macro">Protein<b>'+c.protein+'g</b></div><div class="fcard__macro">Fibre<b>'+c.fibre+'g</b></div></div></div></a>';
  }
  function prettyDate(iso){ try{ return new Date(iso+'T00:00:00').toLocaleDateString('en-GB',{day:'numeric',month:'long'}); }catch(e){ return iso; } }

  function fill(section, menu){
    var diet=(section.getAttribute('data-diet')||'trending').toLowerCase();
    var min=parseInt(section.getAttribute('data-min')||'6',10), max=parseInt(section.getAttribute('data-max')||'10',10);
    var res=select(menu, diet, min, max);
    if(!res.items.length){ section.hidden=true; return; }
    section.querySelector('.frive-trending__track').innerHTML=res.items.map(toCard).map(cardHTML).join('');
    section.querySelector('.frive-trending__title').textContent=TITLES[res.diet]||TITLES.trending;
    section.querySelector('.frive-trending__sub').textContent=menu.nextChangeDate?('Pulled live from this week’s menu · refreshes '+prettyDate(menu.nextChangeDate)):'';
    wire(section);
  }
  function wire(section){
    var track=section.querySelector('.frive-trending__track');
    var btns=section.querySelectorAll('.frive-trending__nav button');
    function step(){ var c=track.querySelector('.fcard'); return c?c.offsetWidth+16:280; }
    function upd(){ btns[0].disabled=track.scrollLeft<=4; btns[1].disabled=track.scrollLeft+track.clientWidth>=track.scrollWidth-4; }
    btns[0].onclick=function(){ track.scrollBy({left:-step()*1.5,behavior:'smooth'}); };
    btns[1].onclick=function(){ track.scrollBy({left:step()*1.5,behavior:'smooth'}); };
    track.addEventListener('scroll',upd); window.addEventListener('resize',upd); setTimeout(upd,60);
  }
  function init(){
    var sections=document.querySelectorAll('.frive-trending'); if(!sections.length) return;
    fetch(API,{headers:{accept:'application/json'}}).then(function(r){return r.json();}).then(function(menu){
      for(var i=0;i<sections.length;i++) fill(sections[i], menu);
    }).catch(function(){ for(var i=0;i<sections.length;i++) sections[i].hidden=true; });
  }
  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init();
})();
</script></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_4 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_2">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_5 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_3">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div>
<p>The post <a href="https://blog.frive.co.uk/food-recipes/high-volume-low-calorie-foods">High Volume, Low Calorie Foods To Keep You Full &amp; Satisfied</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Stress, Sleep and Weight: Why Lifestyle Matters</title>
		<link>https://blog.frive.co.uk/health-fitness/stress-sleep-weight-gain</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Thu, 09 Jul 2026 09:25:05 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20535</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/stress-sleep-weight-gain">Stress, Sleep and Weight: Why Lifestyle Matters</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_6 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_2">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>Stress, Sleep and Weight: Why Your Lifestyle Matters as Much as Your Food</h1>
<p class="author">by Frive Team | 9th July, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-3.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<div class="frive-tldr"><span class="frive-tldr__label">TL;DR</span><p>Chronic stress and short sleep genuinely drive weight gain, not through a lack of willpower but through biology. Sustained cortisol raises cravings for energy-dense food and favours fat around the abdomen, while as little as two short nights raise the hunger hormone ghrelin and lower the fullness hormone leptin. Food, stress and sleep form a self-reinforcing loop, and the fastest place to break it is a steady, earlier, natural evening meal.</p> </div>
<p>You have cleaned up your diet. The takeaways are mostly gone, the portions are sensible, you are more or less in a deficit, and the scale still will not move, or worse, it is drifting the wrong way. Before you cut calories again, it is worth looking at the two levers most weight advice quietly ignores: how you sleep and how stressed you are.</p> 
<p>This is not a willpower conversation. Chronic stress and short sleep change the biology of appetite and fat storage in ways that are measurable, well studied, and largely outside your conscious control. Here is what the evidence actually says, where the viral 'cortisol belly' content gets it wrong, and the practical order to fix things in.</p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">Skip the cooking</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Chef-prepared, natural dinners delivered fresh and ready in three minutes, so an earlier dinner actually happens.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:16px 0;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="2" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">The stress, sleep and weight triangle: at a glance</th></tr>
</thead>
<tbody>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;width:26%;vertical-align:top;">The short answer</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Yes, chronic stress and short sleep genuinely promote weight gain, mainly by shifting appetite hormones and steering tired, stressed evenings toward energy-dense food.</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;width:26%;vertical-align:top;">Stress</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Sustained cortisol raises the pull of high-calorie food and is linked to more fat carried around the abdomen.</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;width:26%;vertical-align:top;">Short sleep</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Two short nights are enough to raise the hunger hormone ghrelin, lower the fullness hormone leptin, and increase next-day hunger.</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;width:26%;vertical-align:top;">The loop</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Stress compresses the evening, dinner drifts late, sleep suffers, the next day starts hungrier and the food gets worse. The cycle feeds itself.</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;width:26%;vertical-align:top;">Cortisol belly</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">A kernel of truth wrapped in overstatement. Cortisol matters; supplements, detoxes and spot-reduction do not fix it.</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;font-weight:600;width:26%;vertical-align:top;">What helps</td><td style="padding:12px 18px;color:#333;">Protect a sleep window, get morning light and movement, steady your food pattern, move dinner earlier. Food is the corner you can control tonight.</td></tr>
</tbody>
</table>
</div>
<h2>Eating well but still gaining? Look outside the kitchen</h2>
<div class="frive-inshort"><p><b>In short:</b> If sensible eating is not shifting the scale, the missing variables are usually stress and sleep. Weight is set by a triangle of food, stress and sleep, and the last two are chronically underweighted.</p> </div>
<p>You can do everything right in the kitchen and still be fighting a body that is stressed, under-slept and, as a direct result, hungrier and more inclined to store fat. The plate is only one leg of the tripod.</p> 
<p>None of this replaces energy balance; total intake still matters most. But stress and sleep quietly move the inputs to that equation, how hungry you are, what you crave, how well you recover from a heavy day, so treating them as irrelevant leaves a real lever untouched. The rest of this article takes each corner in turn, then puts them back together.</p> 
<p>Picture the specific reader here: mid-career, in a demanding role, six hours of sleep on a work night, running on deadline adrenaline, and increasingly frustrated that a tidy diet is not being rewarded. The instinct is to eat even less. Often that is exactly the wrong move, because it adds another stressor to a system already tipped toward hunger and fat storage.</p> 
<h2>What does stress actually do to your weight?</h2>
<div class="frive-inshort"><p><b>In short:</b> Chronic stress keeps cortisol elevated, and sustained cortisol both increases the appetite for energy-dense food and is linked to more fat stored around the middle.</p> </div>
<p>Cortisol itself is not the villain; it is an essential hormone that wakes you up, mobilises energy and helps you handle a genuine threat. The problem is when the threat never switches off.</p> 
<p>When stress becomes a permanent background hum (deadlines, caregiving, a phone that never stops), cortisol stays high for weeks rather than minutes. Researchers Tanja Adam and Elissa Epel describe how, in that state, <a href="https://pubmed.ncbi.nlm.nih.gov/17543357/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">stress reshapes the brain&#39;s reward system</a> so that high-fat, high-sugar 'comfort' foods become genuinely more rewarding to eat. The reach for the biscuit tin at 9pm is a physiological pull, not a moral failure.</p> 
<p>Timing matters here. A sudden, acute stress (a near-miss in traffic, a tense five minutes before a presentation) tends to suppress appetite; nobody feels hungry mid-crisis. It is the low-grade, chronic version that does the damage, because weeks of elevated cortisol keep nudging you toward calorie-dense food while the stress itself never resolves. Most modern stress is exactly this slow-burn kind, which is why the effect on weight builds quietly over months rather than announcing itself.</p> 
<p>There is a body-composition signal too. In the <a href="https://pubmed.ncbi.nlm.nih.gov/34292207/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Multi-Ethnic Study of Atherosclerosis</a>, adults reporting high chronic stress carried on average around 9cm&sup2; more visceral fat, the fat packed around the internal organs, than those with low stress, after adjusting for age, sex and other factors. The effect is modest and it is a correlation, but it points in a consistent direction: stress and abdominal fat travel together.</p> 
<h3 style="font-size: 18px;line-height:40px;">The 'cortisol belly' trend: what is real and what is not</h3>
<p>Social media has turned this into 'cortisol belly', complete with supplements, detoxes and face-and-tummy 'cortisol checks'. The honest read is that there is a kernel of truth wrapped in a lot of overstatement. As one UK analysis puts it, the trend often <a href="https://theconversation.com/the-cortisol-belly-myth-when-diet-culture-is-rebranded-as-wellness-254362" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">repackages ordinary diet culture as wellness science</a>. The table below separates the two.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:16px 0;">
<table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;">
<thead>
<tr><th colspan="3" style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">The cortisol belly claim versus the evidence</th></tr>
<tr>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;width:33.3%;">The viral claim</th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;width:33.3%;">The kernel of truth</th>
<th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;width:33.3%;">Where it goes wrong</th>
</tr>
</thead>
<tbody>
<tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;vertical-align:top;">Stress gives you a specific 'cortisol belly'</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;vertical-align:top;">Chronic stress is linked to more visceral fat, and cortisol does favour abdominal storage.</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;vertical-align:top;">There is no unique stress-only fat pad you can diagnose from a photo; fat distribution is mostly genetics, sex and total intake.</td></tr>
<tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;vertical-align:top;">Cortisol-lowering supplements melt belly fat</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;vertical-align:top;">Genuinely high cortisol from disease does change how fat is stored.</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;vertical-align:top;">No over-the-counter supplement is shown to lower cortisol enough to shift body fat; the evidence base is essentially absent.</td></tr>
<tr style="background:#ffffff;"><td style="padding:12px 18px;font-weight:600;vertical-align:top;">You need a cortisol detox or cleanse</td><td style="padding:12px 18px;color:#333;vertical-align:top;">Managing stress and sleep really does help appetite and adherence.</td><td style="padding:12px 18px;color:#333;vertical-align:top;">Cortisol is essential, not a toxin. You cannot 'flush' it. Sleep, stress load and diet pattern are the real levers.</td></tr>
</tbody>
</table>
</div>
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7893/opt_900x600_Hot-Honey-Salmon.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Hot Honey Salmon</a>
</figcaption>
</figure><div class="content">
<h2>Why are tired days hungrier days?</h2>
<div class="frive-inshort"><p><b>In short:</b> Short sleep rewires appetite within a night or two: the hunger hormone ghrelin rises and the fullness hormone leptin falls, so you wake hungrier and harder to satisfy exactly when willpower is lowest.</p> </div>
<p>This is one of the most replicated findings in the field, and it has nothing to do with discipline.</p> 
<p>In a tightly controlled study, restricting healthy young men to four hours in bed for just two nights was enough to <a href="https://www.acpjournals.org/doi/10.7326/0003-4819-141-11-200412070-00008" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">raise ghrelin, lower leptin and increase self-reported hunger</a>, with the sharpest cravings aimed at calorie-dense, sweet and starchy foods. Larger population work in the <a href="https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0010062" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Wisconsin Sleep Cohort</a> found the same hormonal pattern tracking with shorter habitual sleep and higher body weight.</p> 
<div class="frive-statcallout"><p>Just two nights of four-hour sleep raised the hunger hormone ghrelin by about 28% and lowered the fullness hormone leptin by about 18%, and <a href="https://www.acpjournals.org/doi/10.7326/0003-4819-141-11-200412070-00008" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the men reported roughly 24% more hunger</a>, with the strongest cravings for sweet and salty, calorie-dense foods.</p> </div>
<p>It is not only hormones. Brain-imaging work led by Matthew Walker&#39;s group shows that after a poor night, <a href="https://www.nature.com/articles/ncomms3259" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the brain&#39;s reward regions respond more strongly to junk food while the frontal regions that apply the brakes go quieter</a>. You are hit with a stronger pull toward the wrong food and a weaker ability to resist it at the same time.</p> 
<p>Then there is the simple behavioural layer on top of the hormones. A tired brain makes more impulsive choices and stays up later, and the later you are awake, the more hours there are to snack. The 10pm scroll-and-graze is not a separate bad habit; it is the direct downstream of a short night, arriving exactly when the fridge is closest and judgement is thinnest.</p> 
<p>This even shows up on the scale during dieting. When dieters were held in a calorie deficit but allowed only 5.5 hours in bed, <a href="https://www.acpjournals.org/doi/abs/10.7326/0003-4819-153-7-201010050-00006" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">they lost markedly less fat and more lean muscle</a> than when the same people slept 8.5 hours. Same calories, worse result, purely from short sleep. If you count calories and still stall, our guide on <a href="https://www.frive.co.uk/blog/health-fitness/not-losing-weight-calorie-deficit" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">why you might not be losing weight in a deficit</a> covers the other usual suspects.</p> 
<h2>The loop that makes it worse</h2>
<div class="frive-inshort"><p><b>In short:</b> Stress and sleep do not act alone; they form a self-reinforcing loop with food, where each turn makes the next more likely. That is why 'just eat less' rarely fixes it.</p> </div>
<p>Here is the loop most late-finishing professionals are living in:</p> 
<p>- A demanding day keeps cortisol elevated and squeezes the evening into a narrow window.</p> 
<p>- Dinner drifts late, and depleted, end-of-day decision-making defaults to <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ultra-processed convenience food</a>, the exact category stress makes more tempting.</p> 
<p>- A late, heavy or processed meal, and the <a href="https://www.frive.co.uk/blog/food-tips/cooking-after-eight-terrible-idea-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">cognitive load of cooking at 9pm</a>, disrupt sleep quality.</p> 
<p>- You wake short on the sleep that regulates appetite, so ghrelin is up and leptin is down.</p> 
<p>- The next day starts hungrier, more stressed and lower on willpower, so it fuels the <a href="https://www.frive.co.uk/blog/health-fitness/post-lunch-fatigue-energy-crash" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">afternoon energy dip</a> and the pattern repeats.</p> 
<p>The important point is that this is a systems problem, not a character flaw. The modern food environment is engineered to exploit precisely this tired, stressed state. You do not break a loop by trying harder at every point; you break it at its most controllable link.</p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7164/opt_upload.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Saffron & Paprika Baked Bass</a>
</figcaption>
</figure><div class="content">
<h2>How do you break the loop?</h2>
<div class="frive-inshort"><p><b>In short:</b> Break it in evidence order, biggest levers first: protect a consistent sleep window, get morning light and movement, steady your food pattern, then move dinner earlier. None of it is a seven-day transformation.</p> </div>
<p>The list below is roughly ordered by how much each change moves the needle, with food placed where it genuinely belongs rather than at the top.</p> 
<p>- <strong>Protect a consistent sleep window.</strong> Regular sleep and wake times matter more than chasing a perfect eight hours once. If you sleep enough but still wake unrefreshed, our guide on <a href="https://www.frive.co.uk/blog/health-fitness/why-do-i-wake-up-tired-after-8-hours-of-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">waking up tired after eight hours</a> digs into quality.</p> 
<p>- <strong>Get morning light and some movement.</strong> Daylight early anchors your body clock and cortisol rhythm; a short walk does more for stress physiology than it looks like it should.</p> 
<p>- <strong>Steady your food pattern with protein and fibre.</strong> Regular, predictable meals with <a href="https://www.frive.co.uk/blog/nutrition/importance-of-high-fibre-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">enough protein and fibre</a> flatten blood-sugar swings, blunt cravings and remove one daily decision. This is the corner you can act on tonight.</p> 
<p>- <strong>Move dinner earlier where life allows.</strong> An earlier, lighter evening meal supports sleep. The barrier is rarely knowledge; it is the 9pm finish, which is a logistics problem, not a willpower one.</p> 
<p>- <strong>Contain late alcohol and afternoon caffeine.</strong> Both fragment sleep quietly, and a nightcap in particular suppresses the deep sleep that regulates next-day appetite.</p> 
<p>Be realistic about pace. None of these levers delivers a dramatic weekly drop, and anyone promising one is selling something. What they do is remove the headwind, so that a sensible diet finally translates into results instead of stalling. Expect the shift in cravings and energy within a couple of weeks, and the change on the scale to follow more gradually as the loop loses momentum.</p> 
<section class="frive-trending" data-diet="balanced" data-min="6" data-max="10" aria-label="Frive meals">
  <div class="frive-trending__head">
    <div>
      <h2 class="frive-trending__title">Loading the menu&hellip;</h2>
      <p class="frive-trending__sub"></p> 
    </div>
    <div class="frive-trending__nav">
      <button type="button" data-dir="-1" aria-label="Previous">&#8249;</button>
      <button type="button" data-dir="1" aria-label="Next">&#8250;</button>
    </div>
  </div>
  <div class="frive-trending__track"></div>
  <div class="frive-trending__cta"><a href="https://www.frive.co.uk/menu">See the full menu</a></div>
</section>
<h2>Fixing the food corner without adding effort</h2>
<div class="frive-inshort"><p><b>In short:</b> Food is the one corner of the triangle you can fix by removing effort rather than adding it, which makes it the practical place to start tonight.</p> </div>
<p>Here is the trap in the list above: almost every item asks for energy you no longer have. By Thursday, the reader doing everything right is running on empty, and 'cook a balanced, earlier dinner' is precisely the task that collapses first.</p> 
<p>It helps that food is also the corner with the clearest daily payoff. A meal with adequate protein and fibre <a href="https://www.frive.co.uk/blog/health-fitness/what-is-metabolic-flexibility" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">steadies blood sugar</a>, which flattens the energy crashes and cravings that stress and short sleep amplify. It will not lower your cortisol on its own, but a stable, natural pattern removes one reliable daily stressor (deciding what to eat) and stops the depleted evening from defaulting to the exact foods the evidence warns against.</p> 
<p>Frive cannot lower your workload or lengthen your night. What it can do is take <a href="https://www.frive.co.uk/blog/food-tips/automate-healthy-eating-decision-fatigue" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the daily what-to-eat decision</a> off the table and stop the depleted-evening slide into ultra-processed defaults, so the earlier, lighter dinner that supports sleep actually happens.</p> 
<p><strong>Natural, dietician-approved meals</strong> with the protein and fibre balance that steadies blood sugar and appetite through stressful days.</p> 
<p><strong>No ultra-processed ingredients, no seed oils, no artificial additives,</strong> replacing exactly the food category that stress and short sleep push you toward.</p> 
<p><strong>Ready in around three minutes,</strong> so dinner happens earlier and the evening gets a real wind-down instead of a 9pm cooking session.</p> 
<p><strong>Personalised to your goals and rotating across 100+ meals a month,</strong> so a dependable routine never becomes a monotonous one.</p> 
<p>If the food corner is the one you want to fix first, that is a sound instinct: it is the most controllable and it makes the other corners easier. Have a look at the <a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">healthy ready meal plans</a> or <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">browse this week&#39;s menu</a> to see how it fits your week.</p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">No prep, no planning</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Let Frive handle dinner on your busiest nights. Fresh to your door, ready in minutes, zero decisions.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>FAQs</h2>
<h3 style="font-size: 18px;line-height:40px;">Can stress cause weight gain without overeating?</h3>
<p>Mostly, weight gain still needs surplus energy, but stress makes that surplus far more likely. Sustained cortisol increases the reward value of calorie-dense food and can worsen sleep, and short sleep raises hunger hormones. Stress rarely adds weight in a vacuum; it stacks the odds toward eating more.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does cortisol cause belly fat?</h3>
<p>Partly. Chronic stress and higher cortisol are linked to more visceral fat around the organs, and cortisol does favour abdominal storage. But there is no unique 'cortisol belly' you can diagnose from a photo. Overall fat distribution is driven mainly by genetics, sex and total energy intake.</p> 
<h3 style="font-size: 18px;line-height:40px;">How much does sleep affect weight loss?</h3>
<p>Substantially. In controlled dieting studies, people allowed only 5.5 hours in bed lost significantly less fat and more muscle than when they slept 8.5 hours, on identical calories. Short sleep also raises next-day hunger and cravings, making a deficit far harder to sustain. Sleep is a genuine weight-loss variable.</p> 
<h3 style="font-size: 18px;line-height:40px;">Do cortisol supplements work for weight loss?</h3>
<p>No. There is no good evidence that over-the-counter 'cortisol-lowering' or 'cortisol-blocker' supplements reduce cortisol enough to change body fat. The trend is largely diet culture rebranded as wellness. Managing stress, sleep and your overall diet pattern is what actually helps, and costs nothing.</p> 
<h3 style="font-size: 18px;line-height:40px;">How many hours of sleep do I need to manage my weight?</h3>
<p>Most adults need seven to nine hours, but consistency matters as much as the total. Regular sleep and wake times keep appetite hormones and your body clock stable. Chasing one long catch-up night does not undo a week of short ones, so aim for a steady window rather than an occasional marathon.</p> 
<h3 style="font-size: 18px;line-height:40px;">Why do I crave junk food when I am tired or stressed?</h3>
<p>Because both states bias the brain toward reward. Short sleep strengthens the response to high-calorie food while weakening the frontal control that resists it, and stress raises the reward value of sweet, fatty foods directly. The craving is a predictable physiological output, not a lack of discipline.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is the single most effective change to break the stress-sleep-weight loop?</h3>
<p>Protecting a consistent sleep window, because sleep sits upstream of both hunger hormones and stress tolerance. If that feels out of reach on busy weeks, start with the most controllable corner instead: a steady, natural evening meal that happens earlier, which supports sleep and removes a daily decision.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;}  .frive-offer-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#053827;color:#fff;border-radius:16px;padding:22px 26px;margin:28px 0;box-shadow:0 6px 20px rgba(5,56,39,.18)}
.frive-offer-banner__text{flex:1 1 280px;min-width:240px}
.frive-offer-banner__kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f6c76b;margin-bottom:6px}
.frive-offer-banner__headline{display:block;font-size:21px;font-weight:800;line-height:1.25;margin:0 0 6px;color:#fff}
.frive-offer-banner__sub{display:block;font-size:14px;color:rgba(255,255,255,.82);margin:0}
.frive-offer-banner__cta{flex:0 0 auto;display:inline-block;background:#fff;color:#053827!important;font-size:16px;font-weight:800;text-decoration:none;padding:13px 26px;border-radius:30px;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}
.frive-offer-banner__cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
@media (max-width:480px){.frive-offer-banner{padding:20px}.frive-offer-banner__cta{width:100%;text-align:center}}
.frive-trending{margin:34px 0}
.frive-trending__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 4px 14px}
.frive-trending__title{font-size:23px;font-weight:800;color:#053827;margin:0;line-height:1.2}
.frive-trending__sub{font-size:14px;color:#6b766f;margin:4px 0 0}
.frive-trending__nav{display:flex;gap:8px;flex:0 0 auto}
.frive-trending__nav button{width:40px;height:40px;border-radius:50%;border:1px solid #053827;background:#fff;color:#053827;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.frive-trending__nav button:hover{background:#053827;color:#fff}
.frive-trending__nav button:disabled{opacity:.35;cursor:default;background:#fff;color:#053827}
.frive-trending__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;margin:-4px;scrollbar-width:none}
.frive-trending__track::-webkit-scrollbar{display:none}
.fcard{scroll-snap-align:start;flex:0 0 264px;width:264px;background:#fff;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(5,56,39,.05);transition:transform .14s ease,box-shadow .14s ease}
.fcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(5,56,39,.13)}
.fcard__imgwrap{position:relative;aspect-ratio:4/3;background:#f3f1ec}
.fcard__imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.fcard__tag{position:absolute;top:10px;left:10px;background:#053827;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px}
.fcard__rating{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.94);color:#1d1d1d;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:3px}
.fcard__rating .star{color:#f5a623}
.fcard__body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.fcard__meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b766f;margin-bottom:6px}
.fcard__chip{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1d1d1d}
.fcard__low{background:#eaf4ee;color:#053827;font-weight:700;padding:2px 8px;border-radius:20px;font-size:11px}
.fcard__title{font-size:15px;font-weight:800;line-height:1.25;margin:0 0 5px}
.fcard__desc{font-size:13px;color:#6b766f;line-height:1.4;margin:0 0 12px;flex:1}
.fcard__macros{display:flex;gap:8px}
.fcard__macro{flex:1;background:#f6f8f6;border-radius:10px;padding:7px 8px;text-align:center;font-size:12px;color:#6b766f}
.fcard__macro b{display:block;font-size:14px;color:#1d1d1d}
.frive-trending__cta{text-align:center;margin-top:18px}
.frive-trending__cta a{display:inline-block;background:#053827;color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:12px 28px;border-radius:30px}
.frive-trending[hidden]{display:none}
@media (max-width:520px){.fcard{flex-basis:80vw;width:80vw}.frive-trending__title{font-size:20px}}

.frive-tldr{background:#f4f9f5;border:1px solid #cfe3d6;border-left:5px solid #053827;border-radius:12px;padding:16px 20px;margin:22px 0}
.frive-tldr__label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#053827;margin-bottom:6px}
.frive-tldr p{margin:0;font-size:16px;line-height:24px;color:#333}
.frive-inshort{background:#fbf8f1;border:1px solid #efe6d2;border-radius:12px;padding:14px 18px;margin:16px 0}
.frive-inshort p{margin:0;font-size:16px;line-height:24px;color:#333}
.frive-inshort b{color:#053827}
.frive-statcallout{background:#f4e9d5;border-radius:12px;padding:16px 20px;margin:20px 0;font-style:italic}
.frive-statcallout p{margin:0;font-size:16px;line-height:24px;color:#333}
  </style>
<script>
/* Frive offer sync - reads the live sitewide offer into every in-article banner.
   Inline + self-contained so this single article works without any sitewide change. */
(function () {
  /* Live offer source. Primary = the sticky offer span (confirmed on frive.co.uk);
     fallback = bare .offer-details, which the site's own syncOfferDetails() populates. */
  var SELECTORS = ['.sticky-offer-button .offer-details', '.offer-details'];
  var TARGETS = '.frive-offer-text'; /* banner headline(s) */
  function readOffer() {
    for (var i = 0; i < SELECTORS.length; i++) {
      var el = document.querySelector(SELECTORS[i]);
      if (el) { var t = (el.textContent || '').trim(); if (t) return t; }
    }
    return '';
  }
  var applying = false;
  function sync() {
    var t = readOffer();
    if (!t) return false;
    var els = document.querySelectorAll(TARGETS);
    if (!els.length) return false;
    applying = true;
    for (var i = 0; i < els.length; i++) { if (els[i].textContent !== t) els[i].textContent = t; }
    applying = false;
    return true;
  }
  function init() {
    sync();
    /* The site sets .offer-details on window.onload, so re-sync then too. */
    window.addEventListener('load', sync);
    if (window.MutationObserver) {
      var src = document.querySelector('.sticky-offer-button') || document.body;
      new MutationObserver(function () { if (!applying) sync(); })
        .observe(src, { childList: true, subtree: true, characterData: true });
    }
    var n = 0, iv = setInterval(function () { if (sync() || ++n > 40) clearInterval(iv); }, 250);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();
})();
</script>
<script>
/* Frive meal carousel - fills every .frive-trending section from the live weekly menu. */
(function () {
  var API='https://www.frive.co.uk/api/js/v1/menu', CF='https://cloudfront.frive.co.uk/';
  var TITLES={
    'high-protein':'High-protein picks on the Frive menu this week',
    'vegetarian':'Vegetarian dishes on the Frive menu this week',
    'low-carb':'Low-carb picks on the Frive menu this week',
    'balanced':'Balanced meals on the Frive menu this week',
    'trending':'Trending on the Frive menu this week',
    'general':'Fresh on the Frive menu this week'
  };
  function tagNames(mi){ return (mi.tags||[]).map(function(t){return t.name||'';}); }
  var FILTERS={
    'high-protein':function(mi){ return tagNames(mi).indexOf('High Protein')>-1 || (mi.adjustedProteins||0)>=30; },
    'vegetarian':function(mi){ return !mi.isMeat && !mi.isFish; },
    'low-carb':function(mi){ return !!mi.is_low_carb; },
    'balanced':function(mi){ return !!mi.is_calorie_conscious; },
    'trending':function(mi){ var m=(mi.merchandisingTag&&mi.merchandisingTag.name)||''; return ['Meal Of The Month','House Special','Top Rated'].indexOf(m)>-1 || tagNames(mi).some(function(n){return ['Top Rated','5* Rated By You'].indexOf(n)>-1;}); }
  };
  // Deterministic per-week shuffle so "general" is stable within a menu week.
  function seeded(seed){ var s=0; for(var i=0;i<seed.length;i++) s=(s*31+seed.charCodeAt(i))>>>0; return function(){ s=(s*1664525+1013904223)>>>0; return s/4294967296; }; }
  function shuffle(arr, rnd){ arr=arr.slice(); for(var i=arr.length-1;i>0;i--){ var j=Math.floor(rnd()*(i+1)); var t=arr[i];arr[i]=arr[j];arr[j]=t; } return arr; }

  function baseItems(menu){
    return (menu.items||[]).filter(function(x){ var mi=x.menuItem; return mi&&mi.title&&mi.category!==4&&!mi.out_of_stock&&(mi.medias||[]).length&&tagNames(mi).indexOf('Add-on')===-1; }).map(function(x){return x.menuItem;});
  }
  function toCard(mi){
    var md=(mi.medias||[])[0]||{}; var d=(mi.description||'').replace(/\s+/g,' ').trim();
    return { title:mi.title.replace(/\s+/g,' ').trim(), desc:d.length>96?d.slice(0,93)+'…':d,
      kcal:Math.round(mi.adjustedCalories||0), protein:Math.round(mi.adjustedProteins||0), fibre:Math.round(mi.adjustedFibre||0),
      low:!!mi.is_low_carb, rating:mi.avg_rating, rates:mi.total_rates,
      tag:(mi.merchandisingTag&&mi.merchandisingTag.name)||null, img:md.url?CF+md.url:null };
  }
  function select(menu, diet, min, max){
    var all=baseItems(menu), week=menu.nextChangeDate||'week';
    function general(){ return shuffle(all, seeded(week)).slice(0,max); }
    if(diet==='general' || !FILTERS[diet] && diet!=='trending') return {items:general(), diet:'general'};
    if(diet==='trending'){
      var tagged=all.filter(FILTERS.trending).sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
      if(tagged.length<max){ var rest=all.filter(function(mi){return tagged.indexOf(mi)===-1;}).sort(function(a,b){return (b.avg_rating||0)-(a.avg_rating||0)||(b.total_rates||0)-(a.total_rates||0);}); tagged=tagged.concat(rest); }
      return {items:tagged.slice(0,max), diet:'trending'};
    }
    var matched=all.filter(FILTERS[diet]);
    if(matched.length<min) return {items:general(), diet:'general'}; // revert to general
    if(diet==='high-protein') matched.sort(function(a,b){return (b.adjustedProteins||0)-(a.adjustedProteins||0);});
    else matched.sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
    return {items:matched.slice(0,max), diet:diet};
  }

  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return {'&':'&','<':'&lt;','>':'&gt;','"':'&quot;'}[c];}); }
  function rf(n){ return (Math.round(n*10)/10).toFixed(1); }
  function nf(n){ return n>=1000?Math.round(n/1000)+'k':n; }
  function cardHTML(c){
    var tag=c.tag?'<span class="fcard__tag">'+esc(c.tag)+'</span>':'';
    var rating=c.rating?'<span class="fcard__rating"><span class="star">★</span>'+rf(c.rating)+(c.rates?' ('+nf(c.rates)+')':'')+'</span>':'';
    var low=c.low?'<span class="fcard__low">Low carb</span>':'';
    var img=c.img?'<img decoding="async" loading="lazy" src="'+esc(c.img)+'" alt="'+esc(c.title)+'">':'';
    return '<a class="fcard" href="https://www.frive.co.uk/menu"><div class="fcard__imgwrap">'+img+tag+rating+'</div>'
      +'<div class="fcard__body"><div class="fcard__meta"><span class="fcard__chip">🔥 '+c.kcal+' kcal</span>'+low+'</div>'
      +'<h3 class="fcard__title">'+esc(c.title)+'</h3><p class="fcard__desc">'+esc(c.desc)+'</p> '
      +'<div class="fcard__macros"><div class="fcard__macro">Protein<b>'+c.protein+'g</b></div><div class="fcard__macro">Fibre<b>'+c.fibre+'g</b></div></div></div></a>';
  }
  function prettyDate(iso){ try{ return new Date(iso+'T00:00:00').toLocaleDateString('en-GB',{day:'numeric',month:'long'}); }catch(e){ return iso; } }

  function fill(section, menu){
    var diet=(section.getAttribute('data-diet')||'trending').toLowerCase();
    var min=parseInt(section.getAttribute('data-min')||'6',10), max=parseInt(section.getAttribute('data-max')||'10',10);
    var res=select(menu, diet, min, max);
    if(!res.items.length){ section.hidden=true; return; }
    section.querySelector('.frive-trending__track').innerHTML=res.items.map(toCard).map(cardHTML).join('');
    section.querySelector('.frive-trending__title').textContent=TITLES[res.diet]||TITLES.trending;
    section.querySelector('.frive-trending__sub').textContent=menu.nextChangeDate?('Pulled live from this week’s menu · refreshes '+prettyDate(menu.nextChangeDate)):'';
    wire(section);
  }
  function wire(section){
    var track=section.querySelector('.frive-trending__track');
    var btns=section.querySelectorAll('.frive-trending__nav button');
    function step(){ var c=track.querySelector('.fcard'); return c?c.offsetWidth+16:280; }
    function upd(){ btns[0].disabled=track.scrollLeft<=4; btns[1].disabled=track.scrollLeft+track.clientWidth>=track.scrollWidth-4; }
    btns[0].onclick=function(){ track.scrollBy({left:-step()*1.5,behavior:'smooth'}); };
    btns[1].onclick=function(){ track.scrollBy({left:step()*1.5,behavior:'smooth'}); };
    track.addEventListener('scroll',upd); window.addEventListener('resize',upd); setTimeout(upd,60);
  }
  function init(){
    var sections=document.querySelectorAll('.frive-trending'); if(!sections.length) return;
    fetch(API,{headers:{accept:'application/json'}}).then(function(r){return r.json();}).then(function(menu){
      for(var i=0;i<sections.length;i++) fill(sections[i], menu);
    }).catch(function(){ for(var i=0;i<sections.length;i++) sections[i].hidden=true; });
  }
  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init();
})();
</script></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_7 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_4">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_8 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_5">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/stress-sleep-weight-gain">Stress, Sleep and Weight: Why Lifestyle Matters</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How Meal Timing Affects Your Weight: What the Science Says</title>
		<link>https://blog.frive.co.uk/health-fitness/meal-timing-weight-loss</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 09:20:13 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20530</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/meal-timing-weight-loss">How Meal Timing Affects Your Weight: What the Science Says</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_9 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_3">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>How Meal Timing Affects Your Weight: What the Science Says</h1>
<p class="author">by Frive Team | Updated 3rd July, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2026/04/11.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>If you have ever tried to make sense of meal timing, you will recognise the whiplash. One colleague swears by never eating after 8pm. A headline warns that late dinners quietly pile on the pounds. Then a podcast tells you timing is a complete myth and a calorie is a calorie. All of this cannot be true at once, yet the advice keeps arriving with total confidence in every direction.</p> 
<p>This is the honest, study-by-study version, written for the person who eats late most weeknights because work compresses dinner into the 8 to 9pm slot, not because they chose to. Your body genuinely does handle food a little differently across the day, and eating late genuinely is linked with worse outcomes for some people. But the size of that effect is modest, and most of it turns out to be about behaviour rather than metabolism. Here is what actually matters, and what you can safely stop worrying about.</p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">Skip the cooking</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Natural, dietician-approved dinners that make an earlier, balanced meal realistic even on a late-finish night.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:18px 0;"><table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;"><thead><tr><th style="background:#053827;color:#fff;font-weight:700;font-size:16px;text-align:left;padding:14px 18px;">TL;DR</th></tr></thead><tbody><tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;">Meal timing affects your weight, but far less than what and how much you eat. The short version:</td></tr><tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;">Total calories and food quality are the main drivers of weight; meal timing is a genuine but secondary lever.</td></tr><tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;">The same meal is handled slightly more efficiently earlier in the day, but the effect is modest, not a switch that flips at sunset.</td></tr><tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;">Late eating is linked with weight gain mostly because of what tired evenings push you to eat, not because calories count more after dark.</td></tr><tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;">Intermittent fasting and eating windows work by quietly cutting total intake, not as a metabolic fat-loss trick.</td></tr><tr style="background:#f8faf9;"><td style="padding:12px 18px;">The winning order: get food quality and portions right first, keep meals regular second, aim for an earlier dinner third.</td></tr></tbody></table></div>
<h2>Does when you eat actually matter?</h2>
<div style="background:#eef3ef;border-left:4px solid #053827;border-radius:12px;padding:14px 18px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong style="color:#053827;">Short answer:</strong> Yes, but far less than what and how much you eat. Timing is a secondary lever: get your total intake and food quality right first, and timing becomes the fine-tuning on top.</p> </div>
<p>The honest picture is more interesting than either extreme, and it holds up study by study. Eating late genuinely is associated with worse outcomes for some people, but most of that turns out to be about behaviour rather than metabolism. Here is where the popular claims actually land.</p> 
<div style="border:1px solid #e3ebe6;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(5,56,39,.06);margin:18px 0;"><table style="border-collapse:collapse;width:100%;font-size:15px;color:#1d1d1d;"><thead><tr><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;width:38%;">Popular claim</th><th style="background:#eef3ef;color:#053827;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 18px;border-bottom:1px solid #e3ebe6;">What the evidence actually says</th></tr></thead><tbody><tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;color:#1d1d1d;">Eating after 8pm makes you gain weight</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Not on its own. Late eating is linked with more hunger and slightly lower calorie burn, but the bigger driver is what gets eaten late, not the clock.</td></tr><tr style="background:#f8faf9;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;color:#1d1d1d;">Skipping breakfast helps you lose weight</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">No reliable effect either way. Skipping breakfast only helps if it genuinely lowers your total intake across the day.</td></tr><tr style="background:#ffffff;"><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;font-weight:600;color:#1d1d1d;">16:8 fasting is a metabolic fat-loss trick</td><td style="padding:12px 18px;border-bottom:1px solid #eef1ef;color:#333;">Mostly a structure. In matched trials it produces the same weight loss as plain calorie restriction, with no extra magic.</td></tr><tr style="background:#f8faf9;"><td style="padding:12px 18px;font-weight:600;color:#1d1d1d;">Grazing all day beats three set meals</td><td style="padding:12px 18px;color:#333;">Not for most people. Regular, predictable meals support appetite and a slightly higher thermic effect than an erratic pattern.</td></tr></tbody></table></div>
<h2>Your metabolism has a body clock</h2>
<div style="background:#eef3ef;border-left:4px solid #053827;border-radius:12px;padding:14px 18px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong style="color:#053827;">Short answer:</strong> Yes, the same meal is handled a little more efficiently in the morning than late at night, but the difference is modest, not a switch that flips at sunset.</p> </div>
<p>Almost every system in your body runs on a roughly 24-hour circadian rhythm, and digestion is no exception. Insulin sensitivity, the thermic effect of food (the energy your body spends simply processing a meal) and glucose handling are all generally better earlier in the day and blunter in the evening. In practice, an identical plate nudges your blood sugar a little higher at 10pm than it would at 8am.</p> 
<p>The reason comes down to your body clock winding down the machinery that processes food. As the day goes on, insulin becomes slightly less effective at clearing glucose from the blood, and the muscles that soak up much of that glucose are less primed than they are first thing. It is the same reason a very late, heavy meal can leave you <a href="https://www.frive.co.uk/blog/health-fitness/how-to-avoid-the-3pm-slump-and-keep-your-focus" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">feeling sluggish</a> rather than satisfied: you are asking your body to do daytime work on an evening setting.</p> 
<p>The clearest single demonstration comes from a <a href="https://pubmed.ncbi.nlm.nih.gov/32073608/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">tightly controlled crossover study</a> which found that the thermic effect of food was about twice as high after breakfast as after an identical dinner. Put plainly, the body spent noticeably more energy just digesting the morning meal.</p> 
<p>It is worth keeping this honest. The effect is real and measurable, but it is modest in healthy people, not a metabolic cliff-edge. Nobody gains weight purely because the clock said 9pm. This daily rhythm is really part of the same picture as your <a href="https://www.frive.co.uk/blog/health-fitness/what-is-metabolic-flexibility" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">metabolic flexibility</a>, your body’s ability to switch cleanly between fuels, and it sets up the more important question: what actually happens when you eat late.</p> 
<h2>The late-night eating question</h2>
<div style="background:#eef3ef;border-left:4px solid #053827;border-radius:12px;padding:14px 18px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong style="color:#053827;">Short answer:</strong> Late eating is linked with weight gain mainly because of what and how much gets eaten late, with a smaller but genuine contribution from your body clock.</p> </div>
<p>There are two separate things going on here, and popular coverage constantly blurs them. The first is the modest circadian effect above. The second, and larger, is behavioural: what tired, depleted evening decision-making actually reaches for.</p> 
<p>On the physiology, a rigorous <a href="https://www.cell.com/cell-metabolism/fulltext/S1550-4131(22)00397-7" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">randomised crossover study</a> had people eat identical meals either early or late, controlling calories, sleep and activity, and found that eating late increased hunger, reduced waking energy expenditure and shifted fat-tissue biology toward storage. The calories were matched, so this was timing alone.</p> 
<div style="background:#f4e9d5;border-radius:12px;padding:16px 20px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong>The strongest single finding:</strong> in a controlled trial where every meal was identical, eating on a late schedule left people measurably hungrier across the day and lowered the calories they burned while awake, compared with eating the same food earlier.</p> </div>
<p>The hormonal side is worth naming plainly. Late, short or disrupted eating and sleep patterns tend to nudge the hunger hormone ghrelin up and the fullness hormone leptin down, so a late-night pattern can leave you hungrier the next day rather than more settled. That extra hunger is subtle in the moment, but repeated night after night it quietly raises how much you eat overall, which is the loop that does the real damage.</p> 
<p>But hold that in proportion. The effect was real yet modest, and it describes a fairly extreme early-versus-late contrast. For most people the far bigger issue is the second mechanism. A 9pm finish means <a href="https://www.frive.co.uk/blog/food-tips/automate-healthy-eating-decision-fatigue" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">decisions get made on an empty tank</a>, and a tired brain does not reach for grilled salmon and greens. It reaches for toast, crisps, cereal or a takeaway: snack-format, <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ultra-processed food</a> eaten quickly and often beyond fullness. That is where the weight effect mostly lives, and it is why late eating and poor food quality are so often the same problem wearing different labels.</p> 
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7889/opt_1537x1023_Red_Pesto_Casarecce.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Roasted Red Pepper Chicken with Casarecce Pasta</a>
</figcaption>
</figure><div class="content">
<h2>Intermittent fasting and eating windows: what the trials show</h2>
<div style="background:#eef3ef;border-left:4px solid #053827;border-radius:12px;padding:14px 18px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong style="color:#053827;">Short answer:</strong> Time-restricted eating works for the people it works for because it quietly cuts total intake, not because the eating window itself melts fat.</p> </div>
<p>Time-restricted eating, the umbrella term for approaches like 16:8, means confining your food to a set window each day. It is genuinely useful for a lot of people, but for a simple reason: a shorter window tends to mean fewer chances to eat, and therefore fewer calories overall.</p> 
<p>The clearest test came from a <a href="https://www.nejm.org/doi/full/10.1056/NEJMoa2114833" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">twelve-month randomised trial</a> that compared calorie restriction plus an eight-hour eating window against the same calorie restriction with no time limit. Both groups lost weight, and there was no significant difference between them. When intake is matched, the window adds little on its own.</p> 
<p>That does not make time-restricted eating pointless; it makes it a structure. For someone who finds a defined window an easy way to stop grazing, it is a helpful scaffold. For someone prone to rebound eating or a difficult relationship with food, an enforced fast can backfire. It is one optional tool, not a requirement. The related question of whether skipping breakfast helps is really the same question in disguise, and we go deeper in our look at <a href="https://www.frive.co.uk/blog/nutrition/is-breakfast-actually-the-most-important-meal-of-the-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whether breakfast is actually the most important meal of the day</a>.</p> 
<p>In practice, the people who see the biggest change from a shorter eating window are those who were grazing from breakfast until bedtime and simply needed a boundary. If your eating is already reasonably contained, squeezing it into eight hours rarely moves the needle, because there were not many extra calories in the margins to cut. That is the whole trick, and it is a useful one, but it is a trick of intake, not of the clock.</p> 
<h2>What actually works: the timing hierarchy</h2>
<div style="background:#eef3ef;border-left:4px solid #053827;border-radius:12px;padding:14px 18px;margin:18px 0;"><p style="margin:0;font-size:16px;line-height:24px;color:#1d1d1d;"><strong style="color:#053827;">Short answer:</strong> Fix food quality and portions first, make your meals regular second, and aim for an earlier dinner third. In that order.</p> </div>
<p>If you take one thing from all the evidence, let it be the order of operations. Timing tweaks only pay off once the foundations are in place, so here is the hierarchy from most to least important.</p> 
<p><strong>1. Food quality and portions come first.</strong> This is the bulk of the result. No eating window or early dinner rescues a diet built on too much ultra-processed food. If you are eating well but the scales are stuck, our guide to <a href="https://www.frive.co.uk/blog/health-fitness/not-losing-weight-calorie-deficit" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">why you might not be losing weight in a calorie deficit</a> is the more useful place to start.</p> 
<p><strong>2. Meal regularity comes second,</strong> and it is the most underrated lever here. Eating at reasonably consistent times, rather than an erratic pattern of skipped meals and late binges, supports appetite regulation. A <a href="https://pubmed.ncbi.nlm.nih.gov/27305952/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">crossover study</a> even found that people burned less energy digesting their food on an irregular meal pattern than on a regular one, despite eating the same amount.</p> 
<p><strong>3. An earlier, consistent dinner comes third,</strong> applied where real life allows. This is the genuine timing lever, and it is worth pursuing once the first two are handled, not instead of them.</p> 
<p>It helps to think of this as building from the ground up. The foundation has to be solid before the finishing touches mean anything, and most people who agonise over timing are decorating a house that has no foundation yet. Sort the food, steady the pattern, then, if you can, pull dinner earlier.</p> 
<p>The takeaway that matters for a busy professional is the middle one: regular, predictable meals do more for appetite and adherence than any clever fasting protocol. And no timing trick rescues a poor diet, so please do not fast aggressively through the day to make up for it.</p> 
<section class="frive-trending" data-diet="balanced" data-min="6" data-max="10" aria-label="Frive meals">
  <div class="frive-trending__head">
    <div>
      <h2 class="frive-trending__title">Loading the menu…</h2>
      <p class="frive-trending__sub"></p> 
    </div>
    <div class="frive-trending__nav">
      <button type="button" data-dir="-1" aria-label="Previous">&#8249;</button>
      <button type="button" data-dir="1" aria-label="Next">&#8250;</button>
    </div>
  </div>
  <div class="frive-trending__track"></div>
  <div class="frive-trending__cta"><a href="https://www.frive.co.uk/menu">See the full menu</a></div>
</section>
<figure style="margin:28px 0;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(5,56,39,.12);">
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7730/opt_LP-REC-3085-Baja_Prawns.png" style="width:100%;height:auto;display:block;" />
<figcaption style="margin:0;padding:13px 18px;background:#f6f8f6;border-top:1px solid #eef1ef;font-size:13.5px;color:#6b766f;text-align:center;">
From the Frive menu: <a class="photo-link" href="https://www.frive.co.uk/menu" style="color:#053827;font-weight:700;text-decoration:underline;">Smoky Chipotle Prawns With Black Bean Rice</a>
</figcaption>
</figure><div class="content">
<h2>Making the earlier dinner actually happen</h2>
<p>Here is the honest catch. If you have read this far, you already know an earlier, balanced dinner would help. The problem was never knowledge; it is the 8 to 9pm finish that makes cooking one feel impossible. When dinner is a from-scratch project at the end of a long day, the earlier meal loses and the toast-or-takeaway dinner wins. That is the single biggest timing failure mode for this reader, and it is a logistics problem, not a willpower one.</p> 
<p>This is the specific gap Frive is built to close. A natural, dietician-approved dinner ready in around three minutes collapses the distance between finishing work late and having a balanced dinner eaten to almost nothing, which is what makes an earlier, consistent dinner realistic on a weeknight rather than aspirational, and it sidesteps the <a href="https://www.frive.co.uk/blog/food-tips/cooking-after-eight-terrible-idea-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">late-night cooking trap</a> entirely. Because the meals are made from <a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">100% natural</a> with no ultra-processed ingredients, the late dinner that does happen is not the snack-format food the evidence warns about. Meals are personalised to your goals, so the calorie and <a href="https://www.frive.co.uk/blog/health-fitness/macro-balanced-meal-plans-beginners-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">macro consistency</a> all this timing advice is meant to protect stays intact, and with more than a hundred meals rotating each month, a consistent dinner routine does not curdle into a repetitive one.</p> 
<p><strong>None of this is a metabolic magic trick, and we are not claiming the clock matters more than it does.</strong> It simply removes the friction that stops the sensible thing from happening. If that is the corner you keep getting stuck in, our <a href="https://www.frive.co.uk/our-plans/weight-loss-meal-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">weight-loss meal plans</a> and <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">this week’s menu</a> are the practical place to start.</p> 
<div class="frive-offer-banner">
  <div class="frive-offer-banner__text">
    <span class="frive-offer-banner__kicker">No prep, no planning</span>
    <span class="frive-offer-banner__headline frive-offer-text">Get 40% OFF week 1 + 20% off weeks 2 & 3</span>
    <span class="frive-offer-banner__sub">Let Frive handle dinner. Fresh to your door and ready in around three minutes.</span>
  </div>
  <a class="frive-offer-banner__cta" href="https://www.frive.co.uk/order">Get offer</a>
</div>
<h2>FAQs</h2>
<h3 style="font-size: 18px;line-height:40px;">Does eating late at night cause weight gain?</h3>
<p>Not by itself. Eating late is linked with more hunger and slightly lower calorie burning, but the main reason late eaters gain weight is what they eat late: tired evenings favour snack-format, ultra-processed food eaten past fullness. Fix the food and the clock matters far less.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is it bad to skip breakfast?</h3>
<p>Not necessarily. Skipping breakfast only helps weight loss if it genuinely lowers your total intake for the day. For many people it simply shifts hunger and calories later. If skipping keeps you satisfied and within your target it is fine; if it triggers overeating at night, it is not.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does intermittent fasting work for weight loss?</h3>
<p>For many people, yes, but not for the reason usually claimed. In matched trials, time-restricted eating produces the same weight loss as plain calorie restriction. It works as a structure that reduces total intake, not as a metabolic fat-loss trick, and it is optional rather than necessary.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is the best time to eat dinner?</h3>
<p>There is no magic hour, but earlier and consistent beats late and erratic. Where your schedule allows, finishing your evening meal two to three hours before bed suits your body clock and <a href="https://www.frive.co.uk/blog/health-fitness/why-do-i-wake-up-tired-after-8-hours-of-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">your sleep</a>. Consistency from day to day matters more than hitting a precise time.</p> 
<h3 style="font-size: 18px;line-height:40px;">How late is too late to eat?</h3>
<p>There is no universal cut-off. The concern with very late meals is partly a modest circadian effect and mostly the food choices a tired evening encourages. If you eat late, the priority is a balanced, natural meal rather than snacks, and leaving a little time before sleep.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does eating the same food at different times change how many calories I absorb?</h3>
<p>Slightly. Your body spends more energy digesting a meal in the morning than an identical one late at night, and handles glucose a little better earlier in the day. The difference is real but modest, and far smaller than the effect of your total daily intake.</p> 
<h3 style="font-size: 18px;line-height:40px;">If I have to eat late, what should I eat?</h3>
<p>Aim for a proper balanced plate rather than snack-format food: protein, fibre and vegetables instead of toast, crisps or cereal. The problem with late eating is rarely the timing itself; it is the low-quality, easy-to-overeat food that tired evenings default to. Keep the meal real and portion-sensible.</p> 

  </div> </div> <style>  .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} .frive-offer-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:#053827;color:#fff;border-radius:16px;padding:22px 26px;margin:28px 0;box-shadow:0 6px 20px rgba(5,56,39,.18)}.frive-offer-banner__text{flex:1 1 280px;min-width:240px}.frive-offer-banner__kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f6c76b;margin-bottom:6px}.frive-offer-banner__headline{display:block;font-size:21px;font-weight:800;line-height:1.25;margin:0 0 6px;color:#fff}.frive-offer-banner__sub{display:block;font-size:14px;color:rgba(255,255,255,.82);margin:0}.frive-offer-banner__cta{flex:0 0 auto;display:inline-block;background:#fff;color:#053827!important;font-size:16px;font-weight:800;text-decoration:none;padding:13px 26px;border-radius:30px;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}.frive-offer-banner__cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}@media (max-width:480px){.frive-offer-banner{padding:20px}.frive-offer-banner__cta{width:100%;text-align:center}} .frive-trending{margin:34px 0}.frive-trending__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 4px 14px}.frive-trending__title{font-size:23px;font-weight:800;color:#053827;margin:0;line-height:1.2}.frive-trending__sub{font-size:14px;color:#6b766f;margin:4px 0 0}.frive-trending__nav{display:flex;gap:8px;flex:0 0 auto}.frive-trending__nav button{width:40px;height:40px;border-radius:50%;border:1px solid #053827;background:#fff;color:#053827;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.frive-trending__nav button:hover{background:#053827;color:#fff}.frive-trending__nav button:disabled{opacity:.35;cursor:default;background:#fff;color:#053827}.frive-trending__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;margin:-4px;scrollbar-width:none}.frive-trending__track::-webkit-scrollbar{display:none}.fcard{scroll-snap-align:start;flex:0 0 264px;width:264px;background:#fff;border:1px solid #e3ebe6;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(5,56,39,.05);transition:transform .14s ease,box-shadow .14s ease}.fcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(5,56,39,.13)}.fcard__imgwrap{position:relative;aspect-ratio:4/3;background:#f3f1ec}.fcard__imgwrap img{width:100%;height:100%;object-fit:cover;display:block}.fcard__tag{position:absolute;top:10px;left:10px;background:#053827;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px}.fcard__rating{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.94);color:#1d1d1d;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:3px}.fcard__rating .star{color:#f5a623}.fcard__body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}.fcard__meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b766f;margin-bottom:6px}.fcard__chip{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#1d1d1d}.fcard__low{background:#eaf4ee;color:#053827;font-weight:700;padding:2px 8px;border-radius:20px;font-size:11px}.fcard__title{font-size:15px;font-weight:800;line-height:1.25;margin:0 0 5px}.fcard__desc{font-size:13px;color:#6b766f;line-height:1.4;margin:0 0 12px;flex:1}.fcard__macros{display:flex;gap:8px}.fcard__macro{flex:1;background:#f6f8f6;border-radius:10px;padding:7px 8px;text-align:center;font-size:12px;color:#6b766f}.fcard__macro b{display:block;font-size:14px;color:#1d1d1d}.frive-trending__cta{text-align:center;margin-top:18px}.frive-trending__cta a{display:inline-block;background:#053827;color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:12px 28px;border-radius:30px}.frive-trending[hidden]{display:none}@media (max-width:520px){.fcard{flex-basis:80vw;width:80vw}.frive-trending__title{font-size:20px}} </style>
<script>
/* Frive offer sync - reads the live sitewide offer into every in-article banner.
   Inline + self-contained so this single article works without any sitewide change. */
(function () {
  var SELECTORS = ['.sticky-offer-button .offer-details', '.offer-details'];
  var TARGETS = '.frive-offer-text';
  function readOffer() {
    for (var i = 0; i < SELECTORS.length; i++) {
      var el = document.querySelector(SELECTORS[i]);
      if (el) { var t = (el.textContent || '').trim(); if (t) return t; }
    }
    return '';
  }
  var applying = false;
  function sync() {
    var t = readOffer();
    if (!t) return false;
    var els = document.querySelectorAll(TARGETS);
    if (!els.length) return false;
    applying = true;
    for (var i = 0; i < els.length; i++) { if (els[i].textContent !== t) els[i].textContent = t; }
    applying = false;
    return true;
  }
  function init() {
    sync();
    window.addEventListener('load', sync);
    if (window.MutationObserver) {
      var src = document.querySelector('.sticky-offer-button') || document.body;
      new MutationObserver(function () { if (!applying) sync(); })
        .observe(src, { childList: true, subtree: true, characterData: true });
    }
    var n = 0, iv = setInterval(function () { if (sync() || ++n > 40) clearInterval(iv); }, 250);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();
})();
</script>
<script>
/* Frive meal carousel - fills every .frive-trending section from the live weekly menu. */
(function () {
  var API='https://www.frive.co.uk/api/js/v1/menu', CF='https://cloudfront.frive.co.uk/';
  var TITLES={
    'high-protein':'High-protein picks on the Frive menu this week',
    'vegetarian':'Vegetarian dishes on the Frive menu this week',
    'low-carb':'Low-carb picks on the Frive menu this week',
    'balanced':'Balanced meals on the Frive menu this week',
    'trending':'Trending on the Frive menu this week',
    'general':'Fresh on the Frive menu this week'
  };
  function tagNames(mi){ return (mi.tags||[]).map(function(t){return t.name||'';}); }
  var FILTERS={
    'high-protein':function(mi){ return tagNames(mi).indexOf('High Protein')>-1 || (mi.adjustedProteins||0)>=30; },
    'vegetarian':function(mi){ return !mi.isMeat && !mi.isFish; },
    'low-carb':function(mi){ return !!mi.is_low_carb; },
    'balanced':function(mi){ return !!mi.is_calorie_conscious; },
    'trending':function(mi){ var m=(mi.merchandisingTag&&mi.merchandisingTag.name)||''; return ['Meal Of The Month','House Special','Top Rated'].indexOf(m)>-1 || tagNames(mi).some(function(n){return ['Top Rated','5* Rated By You'].indexOf(n)>-1;}); }
  };
  function seeded(seed){ var s=0; for(var i=0;i<seed.length;i++) s=(s*31+seed.charCodeAt(i))>>>0; return function(){ s=(s*1664525+1013904223)>>>0; return s/4294967296; }; }
  function shuffle(arr, rnd){ arr=arr.slice(); for(var i=arr.length-1;i>0;i--){ var j=Math.floor(rnd()*(i+1)); var t=arr[i];arr[i]=arr[j];arr[j]=t; } return arr; }
  function baseItems(menu){
    return (menu.items||[]).filter(function(x){ var mi=x.menuItem; return mi&&mi.title&&mi.category!==4&&!mi.out_of_stock&&(mi.medias||[]).length&&tagNames(mi).indexOf('Add-on')===-1; }).map(function(x){return x.menuItem;});
  }
  function toCard(mi){
    var md=(mi.medias||[])[0]||{}; var d=(mi.description||'').replace(/\s+/g,' ').trim();
    return { title:mi.title.replace(/\s+/g,' ').trim(), desc:d.length>96?d.slice(0,93)+'…':d,
      kcal:Math.round(mi.adjustedCalories||0), protein:Math.round(mi.adjustedProteins||0), fibre:Math.round(mi.adjustedFibre||0),
      low:!!mi.is_low_carb, rating:mi.avg_rating, rates:mi.total_rates,
      tag:(mi.merchandisingTag&&mi.merchandisingTag.name)||null, img:md.url?CF+md.url:null };
  }
  function select(menu, diet, min, max){
    var all=baseItems(menu), week=menu.nextChangeDate||'week';
    function general(){ return shuffle(all, seeded(week)).slice(0,max); }
    if(diet==='general' || !FILTERS[diet] && diet!=='trending') return {items:general(), diet:'general'};
    if(diet==='trending'){
      var tagged=all.filter(FILTERS.trending).sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
      if(tagged.length<max){ var rest=all.filter(function(mi){return tagged.indexOf(mi)===-1;}).sort(function(a,b){return (b.avg_rating||0)-(a.avg_rating||0)||(b.total_rates||0)-(a.total_rates||0);}); tagged=tagged.concat(rest); }
      return {items:tagged.slice(0,max), diet:'trending'};
    }
    var matched=all.filter(FILTERS[diet]);
    if(matched.length<min) return {items:general(), diet:'general'};
    if(diet==='high-protein') matched.sort(function(a,b){return (b.adjustedProteins||0)-(a.adjustedProteins||0);});
    else matched.sort(function(a,b){return (b.total_rates||0)-(a.total_rates||0);});
    return {items:matched.slice(0,max), diet:diet};
  }
  function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return {'&':'&','<':'&lt;','>':'&gt;','"':'&quot;'}[c];}); }
  function rf(n){ return (Math.round(n*10)/10).toFixed(1); }
  function nf(n){ return n>=1000?Math.round(n/1000)+'k':n; }
  function cardHTML(c){
    var tag=c.tag?'<span class="fcard__tag">'+esc(c.tag)+'</span>':'';
    var rating=c.rating?'<span class="fcard__rating"><span class="star">★</span>'+rf(c.rating)+(c.rates?' ('+nf(c.rates)+')':'')+'</span>':'';
    var low=c.low?'<span class="fcard__low">Low carb</span>':'';
    var img=c.img?'<img decoding="async" loading="lazy" src="'+esc(c.img)+'" alt="'+esc(c.title)+'">':'';
    return '<a class="fcard" href="https://www.frive.co.uk/menu"><div class="fcard__imgwrap">'+img+tag+rating+'</div>'
      +'<div class="fcard__body"><div class="fcard__meta"><span class="fcard__chip">🔥 '+c.kcal+' kcal</span>'+low+'</div>'
      +'<h3 class="fcard__title">'+esc(c.title)+'</h3><p class="fcard__desc">'+esc(c.desc)+'</p> '
      +'<div class="fcard__macros"><div class="fcard__macro">Protein<b>'+c.protein+'g</b></div><div class="fcard__macro">Fibre<b>'+c.fibre+'g</b></div></div></div></a>';
  }
  function prettyDate(iso){ try{ return new Date(iso+'T00:00:00').toLocaleDateString('en-GB',{day:'numeric',month:'long'}); }catch(e){ return iso; } }
  function fill(section, menu){
    var diet=(section.getAttribute('data-diet')||'trending').toLowerCase();
    var min=parseInt(section.getAttribute('data-min')||'6',10), max=parseInt(section.getAttribute('data-max')||'10',10);
    var res=select(menu, diet, min, max);
    if(!res.items.length){ section.hidden=true; return; }
    section.querySelector('.frive-trending__track').innerHTML=res.items.map(toCard).map(cardHTML).join('');
    section.querySelector('.frive-trending__title').textContent=TITLES[res.diet]||TITLES.trending;
    section.querySelector('.frive-trending__sub').textContent=menu.nextChangeDate?('Pulled live from this week’s menu · refreshes '+prettyDate(menu.nextChangeDate)):'';
    wire(section);
  }
  function wire(section){
    var track=section.querySelector('.frive-trending__track');
    var btns=section.querySelectorAll('.frive-trending__nav button');
    function step(){ var c=track.querySelector('.fcard'); return c?c.offsetWidth+16:280; }
    function upd(){ btns[0].disabled=track.scrollLeft<=4; btns[1].disabled=track.scrollLeft+track.clientWidth>=track.scrollWidth-4; }
    btns[0].onclick=function(){ track.scrollBy({left:-step()*1.5,behavior:'smooth'}); };
    btns[1].onclick=function(){ track.scrollBy({left:step()*1.5,behavior:'smooth'}); };
    track.addEventListener('scroll',upd); window.addEventListener('resize',upd); setTimeout(upd,60);
  }
  function init(){
    var sections=document.querySelectorAll('.frive-trending'); if(!sections.length) return;
    fetch(API,{headers:{accept:'application/json'}}).then(function(r){return r.json();}).then(function(menu){
      for(var i=0;i<sections.length;i++) fill(sections[i], menu);
    }).catch(function(){ for(var i=0;i<sections.length;i++) sections[i].hidden=true; });
  }
  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init();
})();
</script></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_10 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_6">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_11 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_7">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/meal-timing-weight-loss">How Meal Timing Affects Your Weight: What the Science Says</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Avoid the 3pm Slump and Keep Your Focus</title>
		<link>https://blog.frive.co.uk/health-fitness/how-to-avoid-the-3pm-slump-and-keep-your-focus</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 08:35:56 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20255</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/how-to-avoid-the-3pm-slump-and-keep-your-focus">How to Avoid the 3pm Slump and Keep Your Focus</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_12 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_4">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>Ending the 3pm Slump: How to Keep Your Focus After Lunch</h1>
<p class="author">by Frive Team | 17th June, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/11/image-selector-1.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>You move through the morning with a clear head: inbox under control, meetings led, decisions made without much friction. Then, somewhere around 3pm, your focus falls off a cliff. Your eyelids feel heavy, simple choices take twice the effort, and you find yourself staring at a spreadsheet while you hunt for a coffee or a biscuit to get you to the end of the day.</p> 
<p>This is not a discipline problem, and it is not in your head. The mid-afternoon dip is a real, measurable pattern, and for most desk-based professionals it is largely a blood-sugar event: a fast glucose rise after a refined-carb lunch, followed by a dip that drains your focus. The good news is that it responds quickly to a few small changes at lunch. This guide explains what is happening, then gives you the levers to flatten it.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th colspan="2" style="border: 1px solid black; padding: 8px;">The 3pm slump: at a glance</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; width: 28%;"><strong>What it is</strong></td>
      <td style="border: 1px solid black; padding: 8px;">A sudden drop in focus and energy that usually hits one to three hours after lunch, dragging your productivity down for the rest of the afternoon.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;"><strong>Why it happens</strong></td>
      <td style="border: 1px solid black; padding: 8px;">A fast glucose spike from a refined-carb lunch is followed by a dip below your baseline. It is the size of that dip, not your average blood sugar, that tracks most closely with flagging focus.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;"><strong>The one change that helps most</strong></td>
      <td style="border: 1px solid black; padding: 8px;">Eat your protein and vegetables before the starch, and keep refined carbs as a side rather than the centre of the plate.</td>
    </tr>
  </tbody>
</table>
<h2>What actually happens to your blood sugar after lunch</h2>
<p>When you eat a lunch built mostly on refined carbohydrates, your digestive system breaks it down into glucose fast, and a wave of sugar enters your bloodstream. Your pancreas answers with a large dose of insulin to clear that glucose into your cells. Because refined carbs digest so quickly, the insulin response can overshoot, leaving your blood sugar lower than where it started. In a small number of people this becomes a <a href="https://my.clevelandclinic.org/health/diseases/11647-hypoglycemia-low-blood-sugar" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">true dip below normal blood sugar</a>, known clinically as reactive hypoglycaemia, but for most healthy adults it is simply a relative dip below baseline, and that is enough to flatten your focus.</p> 
<p>Natural behave differently. When the carbohydrate comes wrapped in fibre and sits alongside protein and fat, it is digested more slowly, so the same amount of carbohydrate arrives as a gentle trickle rather than a surge. The difference is rarely about how many carbs you eat; it is about how fast they reach your blood, and that speed is something you can control.</p> 
<p>The more useful idea here is glycaemic variability: the size of your glucose swings rather than your average level. <a href="https://www.nature.com/articles/s42255-021-00383-x" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Research from the PREDICT study</a>, which tracked blood sugar in 1,070 healthy adults across more than 8,000 standardised meals using continuous glucose monitors, found that the size of the sugar dip two to three hours after eating predicted how hungry people felt, how soon they ate again, and how much they ate, more reliably than the height of the initial spike. The people with the biggest dips, the “big dippers”, went on to eat more over the day. Larger glucose swings have also been associated with slower processing and weaker concentration in other research, so flattening the curve, not chasing a perfect average, is the goal.</p> 
<p>It helps to picture the curve. A refined-carb lunch sends your blood sugar climbing steeply, often peaking within 30 to 60 minutes. The insulin surge that follows pulls it back down, and because the rise was so sharp, the fall tends to overshoot, bottoming out around two to three hours later. That trough lands squarely in the middle of your afternoon. Your brain runs almost entirely on a steady supply of glucose, so when that supply dips below its comfortable range, <a href="https://www.frive.co.uk/blog/food-tips/brain-food-ceo-guide-peak-performance" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">concentration, mood and motivation</a> are the first things to wobble. That is the foggy, irritable, cannot-quite-focus feeling that arrives like clockwork at 3pm.</p> 
<h2>Why your specific lunch is the problem</h2>
<p>The food sold around most office blocks is almost perfectly designed to trigger an afternoon crash. When you are moving between meetings, convenience wins, and that steers you toward a handful of predictable traps:</p> 
<p><strong><a href="https://www.frive.co.uk/blog/health-fitness/whats-really-in-supermarket-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">The standard meal deal</a>.</strong> A white-bread sandwich with crisps is a large load of fast-digesting starch with very little protein or fibre to slow it down.</p> 
<p><strong>A pasta-only bowl.</strong> A big portion of refined white pasta in a sweet tomato sauce is a concentrated hit of simple carbohydrate that reaches your bloodstream almost immediately.</p> 
<p><strong>A “healthy” bottled smoothie.</strong> Marketed as wellness, these often strip out the structural fibre of the fruit and leave a <a href="https://www.frive.co.uk/blog/health-fitness/the-truth-about-liquid-diets-are-they-damaging-your-health" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">concentrated dose of liquid sugar</a> behind.</p> 
<p>The common thread is composition. Carbohydrates eaten on their own convert to blood sugar quickly. A flatter, steadier energy curve needs a <a href="https://joslin.org/news-stories/all-news-stories/education/2021/07/carbs-protein-fats" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">balance of protein, fibre and fat</a>, which slows <a href="https://health.clevelandclinic.org/how-long-does-it-take-to-digest-food" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">how quickly food leaves your stomach</a> and lets glucose arrive as a gentle wave rather than a flood.</p> 
<p>Drinking your lunchtime sugar makes it worse. A sweetened latte, a fruit juice or a supermarket smoothie skips chewing and needs almost no breakdown in the stomach, so the sugar hits fast and the dip that follows tends to be sharper. If you want the wider picture of why these meals leave you flat, our guide on <a href="https://www.frive.co.uk/blog/health-fitness/post-lunch-fatigue-energy-crash" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">why you feel tired after lunch</a> goes deeper, and our explainer on <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ultra-processed foods</a> covers why processed lunches spike hardest.</p> 
<h2>Two lunches, two very different afternoons</h2>
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 25%;">Lunch choice</th>
      <th style="border: 1px solid black; padding: 8px; width: 28%;">Typical glucose response</th>
      <th style="border: 1px solid black; padding: 8px; width: 22%;">Fullness</th>
      <th style="border: 1px solid black; padding: 8px; width: 25%;">3pm energy</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Meal deal (white sandwich, crisps, juice)</td>
      <td style="border: 1px solid black; padding: 8px;">A sharp spike, then a fast crash below baseline</td>
      <td style="border: 1px solid black; padding: 8px;">Short-lived; hunger and cravings return quickly</td>
      <td style="border: 1px solid black; padding: 8px;">Brain fog, low focus, sugar cravings</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Balanced plate (chicken or tofu, quinoa, leafy greens, olive oil)</td>
      <td style="border: 1px solid black; padding: 8px;">A gentle, flatter wave with a steady return to baseline</td>
      <td style="border: 1px solid black; padding: 8px;">Sustained; keeps you satisfied to dinner</td>
      <td style="border: 1px solid black; padding: 8px;">Steady clarity and consistent drive</td>
    </tr>
  </tbody>
</table>
<p>The contrast is not really about willpower or calories; both plates can hold a similar amount of food. It is about structure. The meal deal hands over its energy all at once and leaves you empty an hour later; the <a href="https://www.frive.co.uk/our-plans/balanced-meal-plans" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">balanced plate</a> releases the same energy slowly and keeps you level until dinner.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7769/opt_Thai-Red-Chicken-Breast-with-green-beans-and-crushed-sweet-potato-mash.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive’s Thai Red Chicken, Dressed Green Beans, Curry & Ginger Smashed Sweet Potato</a></p> <div class="content">
<h2>The four levers that flatten the curve</h2>
<p>Fixing your afternoon does not need a restrictive diet or a lifestyle overhaul. It comes down to four adjustments to your plate, in rough order of impact:</p> 
<p><strong>Lead with protein and fibre.</strong> <a href="https://www.diabetesjournals.org/care/article/38/7/e98/30914/Food-Order-Has-a-Significant-Impact-on" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">In one clinical study, eating vegetables and protein before the carbohydrates</a> cut the post-meal glucose rise by roughly 29% to 37% in the first hour. Start with a palm of protein and a generous helping of vegetables, and you build a buffer before any starch arrives.</p> 
<p><strong>Add a source of healthy fat.</strong> A drizzle of extra virgin olive oil, a handful of walnuts or half an avocado slows gastric emptying and stretches your energy release.</p> 
<p><strong>Keep refined carbs as the side.</strong> Shift the centre of the plate toward <a href="https://www.frive.co.uk/our-plans/low-carb-meal-plans" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">slower options like quinoa, lentils, chickpeas</a> or wild rice, and treat white bread, pasta and rice as the supporting act.</p> 
<p><strong>Mind the drink.</strong> Swap fruit juice, smoothies and sweetened lattes for water, sparkling water, herbal tea or an unsweetened coffee to cut out the invisible liquid sugar.</p> 
<p>For desk-friendly meals that already follow these rules, browse our <a href="https://www.frive.co.uk/blog/food-recipes/lunch-ideas-busy-professionals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">lunch ideas for busy professionals</a>.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px;">3 quick swaps for tomorrow’s lunch</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Add a protein:</strong> drop a handful of shredded chicken, two boiled eggs or some cubed tofu onto whatever you are eating.<br /><br /><strong>Swap juice for water:</strong> trade the juice or sweetened latte for plain or sparkling water to remove the main liquid spike.<br /><br /><strong>Eat vegetables first:</strong> start with the salad or greens to set up a fibre buffer before you touch the carbs.</td>
    </tr>
  </tbody>
</table>
<h2>What a glucose-steady lunch looks like in practice</h2>
<p>None of this means smaller portions or going hungry. A glucose-steady lunch is usually a fuller plate than a meal deal, just assembled in a different order. Think of it as a simple framework you can build from almost anything in the fridge or the work canteen:</p> 
<p><strong>Start with a <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">palm of quality protein</a>:</strong> grilled chicken, salmon, prawns, eggs, tofu, or a generous scoop of lentils or chickpeas.</p> 
<p><strong>Fill half the plate with vegetables or leaves for <a href="https://www.frive.co.uk/blog/nutrition/importance-of-high-fibre-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">fibre</a>,</strong> and eat them first.</p> 
<p><strong>Add a fist of a slower carb rather than a mountain of a fast one:</strong> quinoa, wild rice, sweet potato, or a slice of dense rye instead of white bread.</p> 
<p><strong>Finish with a thumb of healthy fat:</strong> olive oil, avocado, seeds, or a few nuts.</p> 
<p>In practice that looks like a chicken, quinoa and roasted-vegetable bowl finished with olive oil; a salmon and lentil salad; or a tofu and vegetable stir-fry with a modest portion of rice. Each delivers the same flat, steady curve, and each keeps you satisfied into the evening rather than reaching for a biscuit at half past three. The exact recipe matters less than the principle: protein and vegetables first, slow carbs as the side, a little fat to round it off.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6728/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive’s Harissa & Tahini Chicken Thighs</a></p> <div class="content">
<h2>The honest problem with “just build a better lunch”</h2>
<p>Knowing the formula is the easy part. Executing it every single workday is where it falls apart. Mapping a glucose-friendly plate makes perfect sense on paper, but expecting yourself to step away from back-to-back meetings to <a href="https://www.frive.co.uk/blog/food-tips/eat-healthy-no-time-to-cook" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">shop, prep and macro-balance a meal</a> ignores how a busy week actually runs.</p> 
<p>This is not a willpower failure, it is <a href="https://www.frive.co.uk/blog/health-fitness/what-is-metabolic-flexibility" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">decision fatigue</a>. You start each day with a finite cognitive budget, and spending it on grocery runs and meal admin drains the energy you need for your work. By the time a demanding afternoon arrives with nothing left in the tank, your brain takes <a href="https://www.frive.co.uk/blog/food-tips/how-to-meal-prep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the path of least resistance</a>: the meal deal, or the delivery app. The durable fix is not trying harder; it is removing the daily lunch decision altogether.</p> 
<p>This is why the people who beat the slump consistently rarely rely on motivation. They engineer the decision out of their day, so the steady-energy lunch is simply what turns up at 1pm, whether or not they have any bandwidth left to think about it. Consistency, not the occasional heroic salad, is what turns a stable afternoon into the default.</p> 
<h2>The lowest-effort way to a stable afternoon</h2>
<p>Automating your midday meal removes the daily kitchen battle and protects your focus without spending any mental energy on it. Frive is built to make a glucose-friendly lunch your default rather than the exception, and each part of how it works maps back to the mechanism above:</p> 
<p><strong>Macros balanced by a nutrition team.</strong> Every meal on the rotating menu is built with <a href="https://www.frive.co.uk/blog/health-fitness/macro-balanced-meal-plans-beginners-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the right proportions of quality protein, complex carbohydrates and vegetables</a>, so the curve stays flat with no counting or calculation from you.</p> 
<p><strong>100% natural ingredients.</strong> No ultra-processed ingredients, no refined seed oils and no hidden sugars in the bases or sauces, which removes some of the biggest triggers behind the sharpest spikes.</p> 
<p><strong>Whole, hand-cut vegetables.</strong> Greens and vegetables arrive fresh and are prepared by hand before cooking, <a href="https://www.frive.co.uk/blog/health-fitness/fresh-vs-frozen-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">never frozen</a>, preserving the fibre density that helps slow digestion.</p> 
<p><strong>Three minutes from fridge to fork.</strong> Your balanced lunch is ready in less time than a walk to the corner shop, so the steadiest option is also the easiest one on a packed day.</p> 
<p><strong>A dependable, focused afternoon should not demand a daily sacrifice. Explore </strong><a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>this week’s menu</strong></a><strong> to see the macro-balanced dishes on rotation, take a look at our </strong><a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>healthy ready meals plans</strong></a><strong>, see </strong><a href="https://www.frive.co.uk/how-it-works" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>how it works</strong></a><strong> if you want to fit it into a normal week, or sort it </strong><a href="https://www.frive.co.uk/workplace-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>for your whole team at work</strong></a><strong>.</strong></p> 
<h2>Frequently asked questions</h2>
<h3 style="font-size: 18px;line-height:40px;">Why do I crash after lunch but not after breakfast?</h3>
<p>Lunch is usually the more carbohydrate-heavy, lower-protein meal of the day, often a sandwich, pasta or meal deal eaten quickly between tasks. That combination produces a sharper glucose spike and a bigger dip afterwards. <a href="https://www.frive.co.uk/blog/nutrition/is-breakfast-actually-the-most-important-meal-of-the-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Breakfasts tend to carry more protein and fat</a>, which slow digestion and keep the curve flatter.</p> 
<h3 style="font-size: 18px;line-height:40px;">How long does the 3pm slump last?</h3>
<p>For most people the worst of it passes within 30 to 90 minutes as blood sugar settles back to baseline. The aim is not to wait it out but to prevent it: a balanced lunch with protein, fibre and fat keeps energy steadier so the dip never really arrives. Most people notice a difference within a few days of changing their lunch.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does coffee fix the slump or make it worse?</h3>
<p>Black coffee can briefly mask tiredness by blocking the chemical that makes you feel sleepy, but it does nothing about the underlying glucose dip and the lift fades. A sweetened latte makes things worse by adding liquid sugar that fuels another spike and crash. If you want coffee, keep it unsweetened and pair it with a balanced meal.</p> 
<h3 style="font-size: 18px;line-height:40px;">Are bananas and smoothies bad for the 3pm slump?</h3>
<p>A whole banana eaten with some protein or nuts is fine; its fibre is intact. Bottled and blended smoothies are the bigger risk, because breaking down or removing the fibre lets the fruit sugars hit your bloodstream fast. As a rule, whole fruit beats drunk fruit for steady energy.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is the 3pm slump the same as reactive hypoglycaemia?</h3>
<p>For most healthy adults, no. The everyday slump is normal energy variation, not a medical condition. True reactive hypoglycaemia is less common and involves a genuine drop below normal blood sugar. If your crashes are severe, come with shakiness or sweating, or happen regardless of what you eat, it is worth speaking to a GP.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is the single most effective change I can make at lunch?</h3>
<p>Lead with protein and vegetables before any starch. It is the lowest-effort, highest-impact lever: in one study, eating protein and vegetables before carbohydrates cut the post-meal glucose rise by roughly a third. Add a source of fat and keep refined carbs as a side rather than the centre of the plate.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does a short walk after lunch help?</h3>
<p>Yes. A gentle 10 to 15 minute walk after eating helps your muscles take up some of the glucose from the meal, which blunts the spike and the dip that follows. It is a useful add-on to a balanced plate, though it works best alongside the right lunch rather than as a substitute for it.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_13 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_8">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_14 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_9">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/how-to-avoid-the-3pm-slump-and-keep-your-focus">How to Avoid the 3pm Slump and Keep Your Focus</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Real Cost of a Cheap, Ultra-Processed Diet</title>
		<link>https://blog.frive.co.uk/health-fitness/cost-of-ultra-processed-diet</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 09:00:20 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20267</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/cost-of-ultra-processed-diet">The Real Cost of a Cheap, Ultra-Processed Diet</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_15 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_5">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>The Lifetime Health Tax: Why Cheap Food Is Expensive</h1>
<p class="author">by Frive Team | 13th June, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>Walking out of a supermarket with a low total on the receipt feels like a small win. In a stubborn cost of living squeeze, trimming a few pounds off the weekly shop is a sensible instinct, and for families, couples and people living alone alike, <a href="https://www.frive.co.uk/blog/about-frive/frive-vs-supermarket-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the cheaper basket</a> can feel like the responsible choice.</p> 
<p>There is a catch, though. Judging your food only by the number at the till introduces a quiet accounting error into your long-term finances. The savings created by cheap, <a href="https://www.frive.co.uk/blog/health-fitness/whats-really-in-supermarket-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ultra-processed convenience food</a> are largely an illusion, generated by a delayed billing system. The sticker price is genuinely low; the trouble is that the rest of the bill arrives years later, with interest. We can think of that deferred charge as a lifetime health tax.</p> 
<p>None of this is about judging anyone's budget or choices. Wanting to keep daily costs down is completely rational. Real budgeting, though, means reading the whole invoice rather than just the headline figure, and once you add up what cheap food costs you in health, energy and future spending, the convenient option starts to look a lot more expensive. In this article we count the full bill: the hidden cost areas, a side-by-side basket comparison, and a simple way to work out the true lifetime value of what is on your plate.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th colspan="2" style="border: 1px solid black; padding: 8px;">At a glance: the lifetime health tax</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Delayed billing</td>
      <td style="border: 1px solid black; padding: 8px;">A cheap grocery bill works like a high-interest loan: a small saving now in exchange for a much larger, compounding cost later.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">A daily productivity tax</td>
      <td style="border: 1px solid black; padding: 8px;">Ultra-processed meals trigger blood-sugar swings that drain afternoon focus, so the discount at the till is quietly paid back in lost working hours.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">A national bill of £268bn</td>
      <td style="border: 1px solid black; padding: 8px;">Analysis for the Food, Farming and Countryside Commission puts the cost of the UK's unhealthy food system at £268 billion a year, almost £5,000 per adult.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Higher long-term risk</td>
      <td style="border: 1px solid black; padding: 8px;">A BMJ umbrella review of nearly 10 million people links high ultra-processed food intake with around a 50% higher risk of death from cardiovascular disease.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Quality is an investment</td>
      <td style="border: 1px solid black; padding: 8px;">Food is one of the few recurring costs where spending more on quality can plausibly lower your other costs: health, energy and time.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">The fix is a system</td>
      <td style="border: 1px solid black; padding: 8px;">Removing the daily shopping and cooking decision, rather than relying on willpower, is what makes the better choice actually stick.</td>
    </tr>
  </tbody>
</table>
<h2>What the supermarket receipt doesn't show</h2>
<p>The true cost of cheap food is the sum of three bills the receipt never prints: a long-term health bill, a daily productivity bill, and a future medical and lifestyle bill. The price you pay at the till is only the deposit.</p> 
<p>When you buy a heavily processed, budget meal, the transaction feels finished the moment your card beeps. It is not. The low sticker price is a down payment, and the balance is collected slowly, out of your daily energy and your future bank account. To see how that works, it helps to read your diet through three financial filters.</p> 
<h3 style="font-size: 18px;line-height:40px;">The long-term health cost</h3>
<p>A diet high in ultra-processed food is consistently linked with a greater risk of serious chronic illness, and this is the single largest item on the hidden bill.</p> 
<p>The strongest evidence to date is a <a href="https://www.bmj.com/content/384/bmj-2023-077310" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">BMJ umbrella review</a> that pooled data on nearly 10 million people. It found that higher exposure to ultra-processed food was associated with around a 50% greater risk of dying from cardiovascular disease, alongside a roughly 12% higher risk of type 2 diabetes and raised risks across dozens of other outcomes. These are population-level associations rather than guarantees for any one person, but the direction of travel is clear and consistent.</p> 
<p>This matters in Britain because ultra-processed food is not a fringe habit; it makes up roughly 57% of the average UK adult's calorie intake. When that much of the national plate is industrially formulated, the small daily choice to buy the cheaper option is quietly <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">shaping long-term health outcomes</a> at scale.</p> 
<h3 style="font-size: 18px;line-height:40px;">The energy and productivity cost you pay today</h3>
<p>The lifetime health tax does not wait for retirement; it takes a daily cut from your current income by draining your concentration.</p> 
<p>Cheap, ultra-processed meals are typically built for rapid digestion. They flood the bloodstream with <a href="https://www.frive.co.uk/blog/health-fitness/what-is-metabolic-flexibility" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">fast glucose</a>, prompt a sharp insulin response, and are often followed by a reactive dip that leaves you foggy and flat. That is the familiar <a href="https://www.frive.co.uk/blog/health-fitness/post-lunch-fatigue-energy-crash" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">mid-afternoon energy crash</a>, and it lands squarely on your most valuable working hours. If a convenient lunch costs you two hours of sharp thinking every afternoon, the saving at the checkout has already gone.</p> 
<h3 style="font-size: 18px;line-height:40px;">The future medical and lifestyle cost</h3>
<p>The final instalment arrives as real money leaving your account during your highest-earning years, and as a national bill measured in hundreds of billions.</p> 
<p>Professor Tim Jackson's analysis for the <a href="https://ffcc.co.uk/publications/the-false-economy-of-big-food" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Food, Farming and Countryside Commission</a> estimates that Britain's unhealthy food system costs the country £268 billion a year, close to the entire annual NHS budget. Around £116 billion of that is lost workplace productivity, with the rest falling on healthcare, social care, welfare and the human cost of chronic illness.</p> 
<p>We rarely connect these bills back to old shopping habits, because the gap in time is so long. When someone starts paying for private consultations or ongoing prescriptions in their late forties, it gets written off as simply getting older. Often, it is the final invoice for decades of cheap convenience food coming due.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Type of cost</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Visible cost (on your receipt)</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Hidden cost (the lifetime tax)</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Long-term health</td>
      <td style="border: 1px solid black; padding: 8px;">Low upfront price per calorie.</td>
      <td style="border: 1px solid black; padding: 8px;">A higher risk of chronic conditions such as heart disease and type 2 diabetes over time.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Daily productivity</td>
      <td style="border: 1px solid black; padding: 8px;">Small savings on fast, convenient food.</td>
      <td style="border: 1px solid black; padding: 8px;">Reduced focus, afternoon energy slumps and lower output during your working day.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Future lifestyle</td>
      <td style="border: 1px solid black; padding: 8px;">Little immediate impact on your balance.</td>
      <td style="border: 1px solid black; padding: 8px;">Compounding spend on medical care, plus lost earning capacity in your peak years.</td>
    </tr>
  </tbody>
</table>
<h2>A worked example: two weekly shops compared</h2>
<p>Put two realistic single-person baskets side by side and the gap between the price you pay and the price you incur becomes obvious.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Weekly basket</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Checkout price</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">What it costs beyond the till</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Ultra-processed (white bread, frozen ready meals, cereal, crisps, fizzy drinks)</td>
      <td style="border: 1px solid black; padding: 8px;">Around £45</td>
      <td style="border: 1px solid black; padding: 8px;">Lost afternoon focus now, plus a larger share of the long-term health and medical bill later.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Natural (oats, lean meat, fish, eggs, vegetables, pulses)</td>
      <td style="border: 1px solid black; padding: 8px;">Around £75</td>
      <td style="border: 1px solid black; padding: 8px;">Little to none: this basket pays its bill upfront and protects your energy and long-term health.</td>
    </tr>
  </tbody>
</table>
<p>On Saturday afternoon the natural basket looks like the expensive one, by about £30. But that £45 basket is not really the cheaper option; it is the financed one, quietly collecting repayments from your energy and your future health for years afterwards.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px;">The national bill, scaled to one person</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">The FFCC puts the cost of the UK's unhealthy food system at £268 billion a year. Shared across the roughly 54 million adults in the UK, that is the equivalent of almost £5,000 for every adult, every year. It is a societal average rather than a personal invoice, but it shows the order of magnitude we simply do not price in at the till.<br /><strong>£268bn a year ≈ almost £5,000 per UK adult</strong></td>
    </tr>
  </tbody>
</table>
<h2>What the evidence on ultra-processed food really shows</h2>
<p>The link between cheap, industrial food and rising lifetime costs is supported by a large and growing body of research, even though honest uncertainty remains about the precise mechanisms.</p> 
<p>When researchers look across whole populations, the pattern is consistent: as the share of ultra-processed food in a national diet rises, so does the burden of diet-related disease, and the healthcare bill follows. The FFCC costing is the most comprehensive UK attempt to put a number on that burden, and it deliberately combines the direct public costs with the indirect costs, such as lost productivity and human cost, that never show up in government accounts.</p> 
<p>It is worth being straight about the limits. Scientists are still working out exactly how specific emulsifiers and additives behave in the body over decades, and some people eat a heavily processed diet for years without obvious harm. But the financial case holds even on conservative estimates. You do not need the worst-case scenario for the maths to favour natural food; once you price in <a href="https://www.frive.co.uk/blog/health-fitness/the-connection-between-food-and-mental-health" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">brain fog</a>, lost hours and the occasional <a href="https://www.frive.co.uk/blog/health-fitness/are-microwave-ready-meals-bad-for-you" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">cheap-ready-meal habit</a>, better food stops looking like a luxury and starts looking like basic cost avoidance.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7860/opt_900x600_1475-Pollo_a_la_Brasa_Chicken_Thigh.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive's Pollo a la Brasa Chicken Thighs with Smashed Plantain & Kale</a></p> <div class="content">
<h2>Food is the rare cost that can lower your other costs</h2>
<p>Most recurring bills are pure outflow. Food is unusual: spend more on quality and you can plausibly reduce what you spend elsewhere, on health, energy and time.</p> 
<p>Council tax, utilities and insurance keep the lights on or guard against disaster, but they never actively make your week easier. Upgrading what you eat behaves differently. It works less like a cost and more like a long-horizon investment that pays back across several areas at once.</p> 
<h3 style="font-size: 18px;line-height:40px;">The case for preventative spending</h3>
<p>Anyone who runs anything understands maintenance. You would not keep expensive machinery running on the cheapest incompatible parts to save a little now, because the repair bill later wipes out the saving. The body runs on the same logic. Cheap, ultra-processed food today quietly builds a physical debt that charges a high rate of interest in ten or twenty years; spending a little more on natural now compounds in the other direction, into steadier focus and better long-term resilience.</p> 
<h3 style="font-size: 18px;line-height:40px;">Redefining the sticker price of real food</h3>
<p>The belief that natural food is simply too expensive usually comes from an unfair comparison: real food measured against the artificially low price of industrial products. The premium on natural food reflects something real, including British farming standards, <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">better-quality protein</a> and clean ingredients. Viewed over a lifetime rather than a single shop, and <a href="https://www.frive.co.uk/blog/food-tips/how-much-does-meal-prep-delivery-save-you" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">set against what you save elsewhere</a>, real food stops looking like an indulgence and starts looking like the sensible financial decision.</p> 
<h2>Re-pricing your plate</h2>
<p>Once you judge food on lifetime value rather than sticker price, paying more for genuinely natural meals is a rational investment, not an indulgence, and that is the bracket Frive is built for.</p> 
<p>The real obstacle for most people is not understanding any of this; it is time. Protecting your afternoon focus should not mean turning every evening into a <a href="https://www.frive.co.uk/blog/food-tips/save-7-hours-week-rethinking-food-habits" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">second shift of prep and washing-up</a>. <a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Frive's healthy ready meals</a> are designed to remove that friction: <a href="https://www.frive.co.uk/how-it-works" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">chef-made dishes delivered to your door</a>, <a href="https://www.frive.co.uk/our-plans/healthy-microwave-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ready in minutes</a>, so the better option is also the easiest one.</p> 
<p>What you are actually paying for is the quality the lifetime-tax argument is built around avoiding. Every dish is made from 100% natural ingredients, with no ultra-processed additives or cheap seed oils, which are the exact ingredients that drive the health tax. The sourcing is specific rather than vague: Red Tractor-approved British meat and Class 1 vegetables from New Covent Garden Market, the same grade used by Marks and Spencer. The menus are dietitian-approved and <a href="https://www.frive.co.uk/our-plans/balanced-meal-plans" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">balanced for steady blood sugar</a> rather than just calories, so there is no afternoon crash to pay for later.</p> 
<p>Crucially, none of that comes with a convenience penalty. Fresh meals start from around £4 each, arrive four days a week and heat in minutes, with no shopping, prep or washing-up. Choosing to invest in your diet is not extra spending; it is the same budget, reallocated to cover the complete bill rather than just the deposit.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6308/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive's Chicken Puttanesca Rigatoni</a></p> <div class="content">
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 50.0%;">How to re-price your plate</th>
      <th style="border: 1px solid black; padding: 8px; width: 50.0%;">What to do</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Audit by the hour</td>
      <td style="border: 1px solid black; padding: 8px;">Work out the cost of losing two hours of deep focus to an afternoon slump, every working day.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Cost your own time</td>
      <td style="border: 1px solid black; padding: 8px;">Add the time spent planning, shopping, cooking and washing-up to the price of a meal, at your own hourly rate.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Price in prevention</td>
      <td style="border: 1px solid black; padding: 8px;">Treat the extra cost of natural food as a small health-insurance premium against future medical bills.</td>
    </tr>
  </tbody>
</table>
<p><strong>You trade supermarket queues and </strong><a href="https://www.frive.co.uk/blog/food-tips/midweek-meal-planning-alternatives" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>the mental load of planning</strong></a><strong> for reliable, high-quality fuel that protects both your current earning power and your future health. </strong><a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>Explore this week's Frive menu</strong></a><strong> and see how it fits your budget, one plate at a time.</strong></p> 
<h2>Frequently Asked Questions</h2>
<h3 style="font-size: 18px;line-height:40px;">Is cheap food actually more expensive in the long run?</h3>
<p>Often, yes. A low grocery bill works like a high-interest loan: you save a little at the till but pay it back later through higher health risks, lost productivity and future medical costs. Counting those deferred costs usually makes cheap, ultra-processed food the more expensive option overall.</p> 
<h3 style="font-size: 18px;line-height:40px;">How much does an ultra-processed diet cost the UK?</h3>
<p>Analysis for the Food, Farming and Countryside Commission puts the cost of the UK's unhealthy food system at £268 billion a year, including around £116 billion in lost productivity. Shared across UK adults, that is the equivalent of almost £5,000 per person each year.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is expensive food always healthier?</h3>
<p>No. Price alone does not guarantee quality, and plenty of premium products are still ultra-processed. The more useful test is not cost but composition: whole, minimally processed ingredients with no industrial additives or cheap seed oils.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is the 'lifetime health tax' on cheap food?</h3>
<p>It is the hidden, compounding cost of a cheap, ultra-processed diet: higher long-term health risk, lower daily energy and productivity, and greater medical and lifestyle spending over decades. The receipt shows the deposit; the lifetime health tax is the rest of the bill.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is ultra-processed food really linked to disease?</h3>
<p>The evidence is strong and consistent. A BMJ umbrella review of nearly 10 million people linked high ultra-processed food intake with around a 50% higher risk of cardiovascular death and a higher risk of type 2 diabetes, among other outcomes. These are population-level associations, not certainties for any individual.</p> 
<h3 style="font-size: 18px;line-height:40px;">How much of the UK diet is ultra-processed?</h3>
<p>Ultra-processed foods make up roughly 57% of the average UK adult's calorie intake, and close to two-thirds for many teenagers. That high baseline is why small, everyday choices about cheap convenience food add up to such a large national health cost.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is a healthy meal delivery service worth the money?</h3>
<p>It can be, if you judge it on lifetime cost rather than sticker price. A natural meal service like Frive removes ultra-processed ingredients and the daily prep burden, and meals from around £4 each often compare well with takeaways and food waste once time and health are counted.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_16 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_10">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_17 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_11">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/cost-of-ultra-processed-diet">The Real Cost of a Cheap, Ultra-Processed Diet</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What Is Metabolic Flexibility? The Plain-English 2026 Guide</title>
		<link>https://blog.frive.co.uk/health-fitness/what-is-metabolic-flexibility</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Fri, 05 Jun 2026 10:34:16 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20244</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/what-is-metabolic-flexibility">What Is Metabolic Flexibility? The Plain-English 2026 Guide</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_18 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_6">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_6">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>What Is Metabolic Flexibility? The Plain-English 2026 Guide</h1>
<p class="author">by Frive Team | 5th June, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/07/time-saving-img.jpeg" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>If you have spent any time reading about health this year, you have probably met the phrase metabolic flexibility. It has moved out of research papers and biohacker forums and into mainstream conversations about energy, weight and ageing well. The trouble is that most explanations are either buried in jargon or so vague they tell you nothing useful.</p> 
<p>This is the plain-English version. We will cover what metabolic flexibility actually is, why it shapes how you feel between meals, and how everyday food choices build it. No gadgets, no extreme fasting and no exotic supplements required.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px;" colspan="2">Metabolic flexibility: at a glance</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; width: 28%;">In one sentence</td>
      <td style="border: 1px solid black; padding: 8px; width: 72%;">Your body's ability to switch efficiently between burning carbohydrate and burning fat for fuel, depending on what is available and what you are doing.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px; width: 28%;">What it gives you</td>
      <td style="border: 1px solid black; padding: 8px; width: 72%;">Steadier energy, fewer cravings, and an easier time between meals, during exercise and when you skip a meal.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; width: 28%;">How you build it</td>
      <td style="border: 1px solid black; padding: 8px; width: 72%;">Ordinary, repeatable habits: balanced natural meals with enough protein and fibre, regular movement and decent sleep.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px; width: 28%;">What you don't need</td>
      <td style="border: 1px solid black; padding: 8px; width: 72%;">No continuous glucose monitor, no prolonged fasting protocol and no single supplement to get started.</td>
    </tr>
  </tbody>
</table>
<h2>The metabolic-health term everyone will be using in 2026</h2>
<p>A few years ago, metabolic flexibility was a niche idea discussed mainly by exercise physiologists and people who track their glucose for fun. In 2026 it has become one of the foundational concepts behind a lot of mainstream advice on energy, weight and longevity. When a health writer talks about steady all-day energy, or a coach explains why some people can skip lunch without falling apart, metabolic flexibility is usually the mechanism underneath.</p> 
<p>It is worth understanding properly, because it reframes a problem most busy people recognise. That mid-afternoon energy crash, the constant snacking, the feeling that you cannot go three hours without food: these are not character flaws. They are often signs of a metabolism that has lost some of its flexibility. The good news is that flexibility is trainable, and the most powerful lever is the most ordinary one, which is what you eat on a normal day.</p> 
<h2>What metabolic flexibility actually means</h2>
<p>Your body runs on two main fuels: carbohydrate (stored as glucose) and fat. A flexible metabolism switches cleanly between them depending on supply and demand. After a meal rich in carbs, it happily burns glucose. A few hours later, or during a long walk, or overnight, it shifts smoothly to burning fat instead. Researchers define metabolic flexibility as exactly this: the ability to adapt fuel use to fuel availability.</p> 
<p>The easiest way to picture it is a hybrid car. A good hybrid moves seamlessly between petrol and its electric battery, using whichever suits the moment, and you barely notice the handover. A flexible metabolism does the same with glucose and fat. An inflexible one is more like a car stuck in a single gear: it can only really run on a constant drip of carbohydrate, so the moment that supply dips, performance stutters. In a person, that stutter feels like sudden hunger, low energy and a craving for something sweet.</p> 
<p>When you are metabolically flexible, the gaps between meals are comfortable and your energy stays level. When you are not, your body leans on frequent carbohydrate top-ups to function, which is why the table below tends to describe two very different daily experiences.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">What you notice</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Flexible metabolism</th>
      <th style="border: 1px solid black; padding: 8px; width: 33.3%;">Inflexible metabolism</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Energy between meals</td>
      <td style="border: 1px solid black; padding: 8px;">Steady and reliable, even on a busy day</td>
      <td style="border: 1px solid black; padding: 8px;">Dips and crashes, especially mid-afternoon</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Cravings</td>
      <td style="border: 1px solid black; padding: 8px;">Occasional and easy to ignore</td>
      <td style="border: 1px solid black; padding: 8px;">Frequent, urgent, usually for sugar or refined carbs</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Skipping or delaying a meal</td>
      <td style="border: 1px solid black; padding: 8px;">Manageable; you can wait without drama</td>
      <td style="border: 1px solid black; padding: 8px;">Difficult; you feel shaky, irritable or foggy</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Fuel switching</td>
      <td style="border: 1px solid black; padding: 8px;">Moves smoothly between burning carbs and fat</td>
      <td style="border: 1px solid black; padding: 8px;">Stuck in carb-burning mode and relies on top-ups</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">During exercise</td>
      <td style="border: 1px solid black; padding: 8px;">Taps into fat stores, so endurance holds up</td>
      <td style="border: 1px solid black; padding: 8px;">Runs out quickly without a carbohydrate hit</td>
    </tr>
  </tbody>
</table>
<h2>Why it matters for your energy, weight and long-term health</h2>
<p>The everyday payoff is the one you feel first. A flexible metabolism means your energy does not live or die by your last snack. You get fewer cravings, a calmer relationship with food, and the freedom to let a meal run late without your concentration falling off a cliff. For most people, that steadiness is the whole point, and it is the difference between an afternoon you push through and one you simply coast through.</p> 
<p>It also makes <a href="https://www.frive.co.uk/our-plans/weight-loss-meal-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">weight management</a> less of a fight. When your body can comfortably tap into fat for fuel, the long stretches between meals stop triggering the urgent hunger that drives overeating, which is part of why metabolic flexibility shows up so often in conversations about <a href="https://www.frive.co.uk/blog/health-fitness/how-to-lose-weight-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">body composition</a> and steady, sustainable fat loss.</p> 
<p>Over the longer term, the picture connects to insulin sensitivity, which is how responsive your cells are to the hormone that ushers glucose out of the blood and into use. Reviews of the metabolic-flexibility research describe a close link between flexible fuel use and good insulin sensitivity, and they note that metabolic inflexibility tends to travel alongside conditions like obesity and type 2 diabetes. We are talking about general, healthy-population metabolism here rather than anything clinical, but the direction is clear: the habits that keep you flexible are broadly the same ones that support healthy ageing. Put simply, staying flexible is less about chasing a single number on a screen and more about keeping the whole system responsive.</p> 
<p>If you want the everyday version of all this, think back to the classic <a href="https://www.frive.co.uk/blog/health-fitness/post-lunch-fatigue-energy-crash" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">post-lunch slump</a>. That 3pm crash, where focus drains away and you reach for a biscuit, is metabolic inflexibility in miniature: a big glucose load, a scramble to clear it, and a dip on the other side because your body cannot smoothly switch to its backup fuel.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6740/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive's Red Thai Salmon</a></p> <div class="content">
<h2>What blunts your metabolic flexibility</h2>
<p>Flexibility is not lost overnight, and it is rarely about willpower. The modern food environment quietly pushes the body toward carb-dependence. A diet built on constant refined carbohydrates, grazing all day, sugary drinks and <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ultra-processed foods</a> keeps glucose flowing into the bloodstream almost continuously. If the carbohydrate never really stops arriving, your body never gets the cue to practise switching to fat, and over time that switch gets rusty.</p> 
<p>Two other factors compound it. Long sedentary days reduce the demand on your muscles, which are where a lot of fuel-switching happens. And <a href="https://www.frive.co.uk/blog/health-fitness/why-do-i-wake-up-tired-after-8-hours-of-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">poor sleep</a> nudges things in the wrong direction too: even short stretches of restricted sleep have been shown to reduce insulin sensitivity in healthy adults, making the whole system less responsive. Your <a href="https://www.frive.co.uk/blog/health-fitness/improve-gut-microbiome" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">gut microbiome</a> plays a supporting role as well, since the bacteria you feed help shape how you handle what you eat.</p> 
<p>The honest framing is that this is the food and lifestyle environment doing its thing, not a personal failure. Most of us are nudged toward inflexibility by default. Which means most of us can nudge it back.</p> 
<h2>How to actually build it (no gadgets required)</h2>
<p>You do not need to track anything or buy anything to start. Five ordinary habits do most of the work, and they are listed in order of leverage, with food first. None of them ask for perfection; they ask for repetition.</p> 
<p><strong>Build balanced natural plates.</strong> Anchor each meal with <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">protein</a> and <a href="https://www.frive.co.uk/blog/nutrition/importance-of-high-fibre-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">fibre</a> alongside your carbohydrates. Both slow the release of sugar into the bloodstream and flatten the spike-and-crash pattern, which gives your body the gentle gaps it needs to practise burning fat. Of the five habits this one has the strongest evidence behind it, because protein and fibre both measurably lower the rise in blood sugar after a meal.</p> 
<p><strong>Go easy on </strong><a href="https://www.frive.co.uk/our-plans/low-carb-meal-plans" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>refined carbs</strong></a><strong> and grazing.</strong> You do not have to ban anything. Just stop the all-day drip of biscuits, sweet drinks and snacks so your metabolism gets regular stretches without an incoming glucose load.</p> 
<p><strong>Move regularly, and add a little </strong><a href="https://www.frive.co.uk/our-plans/fitness-meal-prep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>resistance work</strong></a><strong>.</strong> Walking is brilliant for general health, but muscle is where fuel-switching is trained. A couple of short strength sessions a week measurably improve how well your body burns fat.</p> 
<p><strong>Protect your sleep.</strong> Aim for a consistent seven to nine hours. Sleep is when a lot of metabolic housekeeping happens, and skimping on it blunts insulin sensitivity within days.</p> 
<p><strong>Let meals breathe.</strong> You do not need an extreme fast. Simply leaving a sensible gap between meals, rather than topping up constantly, gives your body the chance to switch fuels and keeps the habit alive.</p> 
<p>It is also worth clearing up a few myths, because the noise around this topic is loud:</p> 
<p><strong>You do not need a CGM.</strong> A continuous glucose monitor can be interesting, but it is a curiosity, not a requirement. The habits above work whether or not you can see your glucose on a phone.</p> 
<p><strong>Fasting is not the only way.</strong> Long or aggressive fasts are one route, not the route. Consistent, balanced eating builds flexibility just as well and is far easier to sustain.</p> 
<p><strong>It is not the same as having a fast metabolism.</strong> Metabolic flexibility is about how cleanly you switch fuels, not about how many calories you burn at rest. They are different things, and flexibility is the one you can train.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7716/opt_1452-BBQ_CHICKEN-SWEETCORN_RIGATONI.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Frive's Smoky BBQ Chicken With Spinach Rigatoni</a></p> <div class="content">
<h2>The consistency problem</h2>
<p>Here is the honest catch. Metabolic flexibility is not built in a heroic week; it is built by what you eat most days. The single highest-leverage move is making your everyday, unremarkable meals consistently <a href="https://www.frive.co.uk/blog/nutrition/what-is-a-balanced-diet-we-weigh-it-up-in-5-steps" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">balanced</a> and natural based. And that is precisely the part busy people find hardest to sustain. The knowledge is rarely the problem; the Tuesday-night reality of being tired, busy and out of ideas is.</p> 
<p>This is where Frive is designed to help. The whole point is to make balanced, natural, most-days eating effortless rather than another job. Every meal is built by a nutrition team to land the kind of protein, fibre and <a href="https://www.frive.co.uk/blog/health-fitness/macro-balanced-meal-plans-beginners-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">macro balance</a> that supports stable blood sugar and flexible fuel use, using <a href="https://www.frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">100% natural ingredients</a> with no ultra-processed ingredients, no seed oils and no refined-carb fillers, which is the opposite of the pattern that drives carb-dependence in the first place.</p> 
<p>With more than a hundred meals rotating through the menu each month, eating this way most days stays varied rather than monotonous, and because everything arrives ready in minutes, the easy choice and the flexible-metabolism choice become the same choice. If you want to see how it fits a normal week, take a look at <a href="https://www.frive.co.uk/how-it-works" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">how it works</a> or browse <a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">this week's menu</a>. Flexibility is built on consistency, and consistency is a lot easier when the cooking is already done.</p> 
<h2>Frequently asked questions</h2>
<h3 style="font-size: 18px;line-height:40px;">How long does it take to improve metabolic flexibility?</h3>
<p>There is no overnight switch, but most people notice steadier energy and fewer cravings within a few weeks of eating more balanced, natural meals and moving regularly. Deeper changes in how efficiently your body switches fuels build over months of consistency, which is why the everyday habit matters more than any short burst of effort.</p> 
<h3 style="font-size: 18px;line-height:40px;">Do I need a continuous glucose monitor to work on it?</h3>
<p>No. A CGM can be an interesting window into your glucose responses, but it is entirely optional. The habits that build flexibility, namely balanced plates, regular movement and decent sleep, work whether or not you are tracking anything, and most people make excellent progress without ever wearing one.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is fasting the only way to become metabolically flexible?</h3>
<p>Not at all. Prolonged or aggressive fasting is just one route, and not a necessary one. Consistent natural eating with sensible gaps between meals trains the same fuel-switching ability, and it is far easier to sustain over the long run than extreme protocols.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is metabolic flexibility the same as having a fast metabolism?</h3>
<p>No, they are different things. A fast metabolism usually refers to how many calories you burn at rest. Metabolic flexibility is about how cleanly your body switches between burning carbohydrate and fat. You can train your flexibility regardless of your baseline metabolic rate.</p> 
<h3 style="font-size: 18px;line-height:40px;">What foods help build metabolic flexibility?</h3>
<p>Natural foods that combine <a href="https://www.frive.co.uk/blog/health-fitness/how-much-protein-per-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">protein</a> and fibre with their carbohydrates are the foundation, because they slow the release of sugar and reduce the spike-and-crash pattern. Think eggs, fish, lean meat, pulses, vegetables, whole grains and yoghurt, with refined carbs and sugary drinks kept to the occasional rather than the constant.</p> 
<h3 style="font-size: 18px;line-height:40px;">Can poor sleep really affect my metabolism?</h3>
<p>Yes. Studies in healthy adults show that even a week of restricted sleep can reduce insulin sensitivity, which makes the whole fuel-handling system less responsive. Protecting a consistent seven to nine hours is one of the simpler ways to support flexible fuel use.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does metabolic flexibility help with weight management?</h3>
<p>It can make it less of a struggle. When your body comfortably taps into fat between meals, you are less likely to be driven by the urgent hunger that leads to overeating. It is not a magic fix, but a flexible metabolism tends to make sustainable eating feel easier rather than harder.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_19 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_12">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_20 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_13">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/what-is-metabolic-flexibility">What Is Metabolic Flexibility? The Plain-English 2026 Guide</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What to Eat on Mounjaro, Wegovy or Ozempic When Your Appetite Is Gone</title>
		<link>https://blog.frive.co.uk/health-fitness/what-to-eat-mounjaro-wegovy-ozempic</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Thu, 28 May 2026 07:23:00 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20096</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/what-to-eat-mounjaro-wegovy-ozempic">What to Eat on Mounjaro, Wegovy or Ozempic When Your Appetite Is Gone</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_21 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_7">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_7">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>What to Eat on Mounjaro, Wegovy or Ozempic When Your Appetite Is Gone</h1>
<p class="author">by Eddie Tibbitts | 28th May, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/09/image-selector-22.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>You stand at the fridge at half past seven, knowing you should eat, and absolutely nothing on the shelves appeals.</p> 
<p>The chicken you batch-cooked on Sunday looks heavy. The yoghurt is too cold, the bread too dry, and the thought of putting anything substantial in front of you brings on a small wave of nausea. You close the door, half-promise yourself you will eat in an hour, and quietly suspect you will not.</p> 
<p>This is the daily reality of the first months on a GLP-1, and it is the part of treatment that almost nobody warns you about properly.</p> 
<p>If you are in the first few weeks of Mounjaro, Wegovy or Ozempic, the experience you are having is the textbook one, not a personal failing. The medication is doing exactly what it is designed to do: slowing gastric emptying, dampening hunger cues, and flattening the appetite signal that has nudged you toward food your entire adult life.</p> 
<p>The weight is moving, which is the point. The trouble is that the practical question of what to put on the plate tonight rarely has a useful answer in the leaflet that came with the prescription, and that is the gap this guide is here to fill. The strategy, reassuringly, is not to eat more. It is to make every bite count.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px;" colspan="2">Eating on a GLP-1: at a glance</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">The challenge</td>
      <td style="border: 1px solid black; padding: 8px;">A significantly reduced appetite, particularly in the first 12 weeks of treatment.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">The real risk</td>
      <td style="border: 1px solid black; padding: 8px;">Persistent under-eating, not the calorie deficit itself.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">The strategy</td>
      <td style="border: 1px solid black; padding: 8px;">Nutrient density per calorie. Make every bite count.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">The plate</td>
      <td style="border: 1px solid black; padding: 8px;">Half soft vegetables, quarter palm-sized protein, quarter slow-release carb, a drizzle of healthy fat.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">The per-meal target</td>
      <td style="border: 1px solid black; padding: 8px;">Around 30g of natural protein, three times a day.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">The structure</td>
      <td style="border: 1px solid black; padding: 8px;">Three small structured meals beats constant grazing for most GLP-1 users.</td>
    </tr>
  </tbody>
</table>
<h2>The real risk of persistently under-eating on a GLP-1</h2>
<p>The clinical evidence on GLP-1 weight loss is unambiguous on one point: the deficit works. The landmark <a href="https://www.nejm.org/doi/full/10.1056/NEJMoa2032183" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">STEP 1 trial of semaglutide</a> and the <a href="https://www.nejm.org/doi/full/10.1056/NEJMoa2206038" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">SURMOUNT-1 trial of tirzepatide</a> both reported average weight losses well into double figures over 12 to 18 months, the largest pharmacological reductions in obesity medicine to date. The trouble is not the deficit. The trouble is how the body responds when the deficit is too steep for too long without enough food alongside it.</p> 
<p>Persistent under-eating, rather than the medication itself, drives the downstream problems most users start to notice somewhere around month three: visible muscle loss, daytime fatigue that does not lift with sleep, hair shedding, nail thinning, a mood that runs flatter than it should, and the first quiet signs of micronutrient gaps in iron, B12 and magnesium.</p> 
<p>Body-composition analyses across the major GLP-1 trials suggest that a meaningful share of the weight being lost <a href="https://frive.co.uk/blog/health-fitness/how-to-lose-weight-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">can come from lean tissue</a> when dietary intervention is absent. The point is not to be alarmed by this. It is to gently change the food side of the equation so that the deficit stays sensible and what does go in is properly nourishing. The phrase to hold in your head is a simple one: modestly under, deeply nourished.</p> 
<h2>The ideal GLP-1 plate</h2>
<p>If you take only one framework from this article, take the plate. It works for GLP-1 physiology because it respects the two new constraints: a stomach that empties slowly, and a brain no longer pestering you to eat.</p> 
<p><strong>Half the plate:</strong> Soft, gently cooked non-starchy vegetables. Steamed, roasted or sauteed, not raw. Raw salad sits heavily on a slow-digesting stomach. Think courgette, spinach, peppers, green beans, butternut, broccoli softened past al dente.</p> 
<p><strong>A quarter of the plate:</strong> A palm-sized portion of high-quality protein, roughly 25 to 35g depending on the food. The most important quarter of the plate.</p> 
<p><strong>A quarter of the plate:</strong> A small portion of slow-release carbohydrate. Sweet potato, oats, basmati or wholegrain rice, sourdough, or lentils.</p> 
<p><strong>A drizzle of healthy fat:</strong> Olive oil, sliced avocado, a sprinkle of seeds, or a spoon of tahini. Comfortable in small amounts, unpleasant in large ones.</p> 
<p>The structure looks unremarkable on paper. The point is that you have a default. When the brain is too tired to decide and the stomach too sceptical to enthuse, the plate framework removes the negotiation.</p> 
<h2>The best foods when you are not hungry</h2>
<p>Some foods are objectively easier to get down on a GLP-1 than others. The shortlist below is the one most low-appetite users land on within a few weeks of trial and error.</p> 
<p><strong>Eggs in any form:</strong> Particularly soft-scrambled, poached, or a small omelette. High protein, soft texture, rarely trigger nausea.</p> 
<p><strong>Greek yoghurt and cottage cheese:</strong> Cold, smooth, and roughly 15 to 20g of protein per 200g serving. Add stewed fruit for a complete small meal.</p> 
<p><strong>Soft-cooked fish:</strong> Salmon, white fish, smoked mackerel, tinned tuna in olive oil. Easier than dense red meat on a slow-emptying stomach.</p> 
<p><strong>Chicken thighs or slow-cooked chicken:</strong> Almost always go down better than dry chicken breast. Moisture matters.</p> 
<p>Soups and broths with a protein boost stirred in: Cooked chicken or a small tin of beans turns broth into a proper small meal.</p> 
<p><strong>Porridge:</strong> Made with milk, finished with Greek yoghurt or a measured serving of whey for a protein lift.</p> 
<p><strong>Sourdough toast with cottage cheese and tomato:</strong> Or with smashed avocado and a poached egg. Small, balanced, kind to the stomach.</p> 
<p><strong>Lentil-based small bowls:</strong> Dahl, lentil soup, or a warm lentil and roasted vegetable mix. Nourishing in tiny volumes.</p> 
<p>A few things are worth gently stepping back from while your appetite finds its new normal: large steaks and dense slabs of red meat, big cold sandwiches, raw vegetable piles, strongly spiced or very acidic foods, citrus on an empty stomach, and any portion size that would have felt routine six months ago.</p> 
<p>Many GLP-1 users also find their taste perception shifts in the early months, with meat in particular sometimes tasting metallic or off. If that is happening to you, you are not imagining it.</p> 
<p>Lean into eggs, fish, dairy and pulses for the protein quarter of the plate until things normalise. And if your week has quietly become a cycle of fridge-staring followed by takeaway, our guide on <a href="https://frive.co.uk/blog/food-tips/eat-healthy-no-time-to-cook" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">how to eat healthy when you have no time to cook</a> covers the move from reactive to default eating in more depth.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7135/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive&#39;s Smoky Mexican-Style Beef With Lime Rice</a></p> <div class="content">
<h2>How to build a day when food has lost its appeal</h2>
<p>When nothing on the menu appeals, the temptation is to give up on proper meals and graze through the day on whatever feels manageable in the moment. That instinct is completely understandable, and unfortunately it is the move that quietly makes everything else harder.</p> 
<p>Constant small inputs never give a slow-emptying stomach a chance to clear, so the next bite feels heavier than the one before, the bloating builds, and by evening you feel less like eating than you did at lunchtime. Three small, structured meals work much better, even on days when none of them sounds particularly tempting.</p> 
<p>The other reframe that helps is to eat to a clock rather than waiting to feel hungry. Hunger signalling on a GLP-1 is no longer telling you the truth, and waiting for an appetite that may never quite arrive is the most common route to a late-afternoon dizziness crash and an evening of nausea.</p> 
<p>A simple pattern like 8am, 1pm and 7pm, give or take an hour, works for most people. If the gap between lunch and dinner is genuinely difficult, a small protein-led snack is fine: a boiled egg, a small pot of Greek yoghurt, a few slices of turkey, a handful of edamame.</p> 
<p>Our <a href="https://frive.co.uk/blog/food-recipes/best-protein-snacks" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">best protein snacks list</a> has plenty of other ideas if your usual go-to no longer appeals.</p> 
<p>Hydration tends to need a small rethink, too. Small, regular sips through the day work much better than large glasses alongside meals. A pint of water with dinner will often crowd the food out of an already small stomach and leave you feeling fuller than you actually are, which is the last thing you need when getting the meal down was already the challenge.</p> 
<p>To make it concrete, a tolerable day might look something like this:</p> 
<p>200g of Greek yoghurt with stewed berries and a spoon of nut butter at 8am</p> 
<p>A small bowl of dahl with a soft-boiled egg at 1pm</p> 
<p>120g of salmon with soft-cooked greens and a small portion of sweet potato at 7pm.</p> 
<p>That is roughly 95 to 110g of protein across the day, very little cooking, and almost nothing you have to force down.</p> 
<h2>Hitting your protein target without forcing it</h2>
<p>If you take only one practical habit from this article alongside the plate framework, make it this one. The single most useful eating principle on a GLP-1 is the per-meal protein floor.</p> 
<p>The classic <a href="https://pubmed.ncbi.nlm.nih.gov/19056590/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">research on muscle protein synthesis</a> consistently shows that around 25 to 30g of high-quality protein in a single meal is the threshold needed to properly stimulate the muscle-building response. Spread across three meals, that comes to roughly 90g a day before any snacks, which is enough to substantially reduce lean tissue loss for most adults during active GLP-1 weight loss.</p> 
<p>On a small appetite, three reliable ways to hit that floor without making yourself miserable.</p> 
<p>First, eat the protein on the plate first; stomach space is the real constraint, and the protein deserves the priority.</p> 
<p>Second, add a small protein side that gives you an automatic 10 to 15g lift, almost without effort: a boiled egg next to the toast, a spoon of cottage cheese on the porridge, a handful of edamame next to the soup.</p> 
<p>Third, choose meals that are mostly protein by structure rather than by addition, so the target arrives without having to be negotiated: a salmon fillet, a chicken thigh, a small bowl of dahl, a Greek yoghurt bowl.</p> 
<p>Our guide to <a href="https://frive.co.uk/blog/food-recipes/how-to-get-30g-of-protein-for-breakfast" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">getting 30g of protein at breakfast</a> covers the first meal of the day specifically, which is almost always the hardest one for low-appetite users.</p> 
<p>A protein shake is a perfectly reasonable backstop on the worst mornings, after a resistance-training session, or on travel days when life refuses to cooperate. It is just not the default. <a href="https://frive.co.uk/blog/food-tips/clean-protein-vs-shakes" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Natural protein</a> keeps you fuller for longer, brings other nutrients along with it, and is usually better tolerated than a large cold shake when the stomach is feeling fragile.</p> 
<p style="border-left: 4px solid #053827; padding: 8px 16px; margin: 24px 0; font-style: italic; font-size: 18px; line-height: 28px; color: #555;">Bland and gentle does not mean boring. The proper repertoire of small, satisfying, nutrient-dense GLP-1 meals is much bigger than the pharmacy leaflet suggests.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6302/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive&#39;s Spaghetti & Meatballs</a></p> <div class="content">
<h2>The small habits that quietly make GLP-1 side effects worse</h2>
<p>A handful of patterns will quietly amplify the nausea, bloating and low energy across the first few months, and being aware of them takes a surprising amount of the misery out of the experience. Strong spices and very acidic foods tend to sit poorly when digestion is slow.</p> 
<p>Very large meals, even of the right foods, can do the same. Carbonated drinks feel uncomfortable on a stomach that already empties at half pace. Alcohol is a common nausea trigger on a GLP-1, particularly in the 24 hours after a dose, and most people find it does not feel the same as it used to anyway.</p> 
<p>Heavy fried food can sit unmoved for hours. And skipping meals altogether sets up the worst pattern of the lot: a low blood sugar dip, a small wave of dizziness, then a reactive evening of feeling too queasy to eat anything sensible.</p> 
<p>Constipation is also more common on a GLP-1 than most prescribing leaflets warn you about. Slowed transit time, lower food volume and the more protein-forward eating that helps you preserve muscle can all compound it if you do not actively make room for <a href="https://frive.co.uk/blog/nutrition/importance-of-high-fibre-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">water and fibre</a>. If your gut is grumbling, our guides to <a href="https://frive.co.uk/blog/health-fitness/ways-to-reset-gut-health" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">resetting gut health</a> and <a href="https://frive.co.uk/blog/health-fitness/improve-gut-microbiome" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">improving the gut microbiome</a> walk you through the food-led recovery moves. None of this is anything to feel embarrassed about; almost everyone on a GLP-1 deals with it at some point.</p> 
<h2>How Frive solves the low-appetite eating problem</h2>
<p>Most of the principles in this article are easy to agree with in theory and frustrating in practice. Knowing what to eat is not the problem. Standing in the kitchen at 7pm with no appetite and no patience is the problem.</p> 
<p>This is the part of the problem Frive was designed for. The product profile maps almost exactly onto the GLP-1 reader’s constraints: small, portion-controlled meals, built around natural protein, balanced by a UK-trained nutrition team, with no shopping, no chopping, and ready in roughly three minutes.</p> 
<p>The per-meal protein floor is hit automatically. The vegetable half of the plate is already there. The carb portion is right-sized for a slow-digesting stomach. On a bad-nausea day there is a gentle option in the fridge that needs no decision and no effort. On a good day you can still cook from scratch if you want to. The floor is in place either way.</p> 
<p>If you want to look properly, the <a href="https://frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">high-protein ready-meals plan</a> is the clearest fit for the per-meal protein logic, with the <a href="https://frive.co.uk/our-plans/healthy-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">healthy ready meals range</a> and the <a href="https://frive.co.uk/our-plans/low-calorie-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">low-calorie meal delivery plan</a> as softer entry points. The microwave question, which we get often, is covered in our piece on <a href="https://frive.co.uk/blog/health-fitness/are-microwave-ready-meals-bad-for-you" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">whether microwave ready meals are bad for you</a>. Short answer: not the way Frive does them.</p> 
<h2>When to put down the recipe and ring your prescriber</h2>
<p>This guide is about food, but it is worth knowing where the food conversation ends and the clinical one begins. Both the <a href="https://www.nice.org.uk/guidance/ta1026" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">NICE guidance on tirzepatide</a> and the <a href="https://www.nhs.uk/conditions/obesity/treatment/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">NHS guidance on weight-loss medicines</a> are clear on the warning signs.</p> 
<p>Speak to your prescriber or GP if you are vomiting persistently, cannot keep fluids down for a day or more, feel severely dizzy or faint, are losing weight much faster than expected, develop severe upper-abdominal pain, or have any symptom that simply worries you.</p> 
<p>A reduced appetite is part of the territory and rarely a reason to be alarmed. A persistent inability to eat or drink is not, and is exactly the situation a dose adjustment exists for. There is no medal for soldiering through it.</p> 
<h2>Frequently asked questions</h2>
<h3 style="font-size: 18px;line-height:40px;">How many calories should I eat on Mounjaro, Wegovy or Ozempic?</h3>
<p>No fixed number works for everyone, and chasing one is usually counterproductive on a GLP-1. A modest deficit of 300 to 500 kcal below maintenance is sensible for most adults; the medication will often pull it deeper on its own. The risk is going much lower and triggering the under-eating cascade. <a href="https://frive.co.uk/blog/food-recipes/high-volume-low-calorie-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Nutrient density per calorie matters</a> more than the calorie figure.</p> 
<h3 style="font-size: 18px;line-height:40px;">How many meals a day on a GLP-1?</h3>
<p>Three structured small meals is the default that works for most users, with one protein-led snack only if the gap between lunch and dinner is genuinely difficult. Constant grazing usually makes appetite and bloating worse, not better.</p> 
<h3 style="font-size: 18px;line-height:40px;">What is the best breakfast on a GLP-1?</h3>
<p>Greek yoghurt with stewed fruit and a spoon of nut butter is the lowest-friction option: 25 to 30g of protein, gentle on a sensitive morning stomach, no cooking required. Soft scrambled eggs on a small piece of sourdough is the cooked equivalent.</p> 
<h3 style="font-size: 18px;line-height:40px;">Should I take a multivitamin on Mounjaro?</h3>
<p>A basic multivitamin alongside a proper food strategy is a reasonable safety net, not a substitute for the strategy itself. Iron, B12, vitamin D and magnesium are the nutrients most likely to dip on a sustained small-volume diet.</p> 
<h3 style="font-size: 18px;line-height:40px;">Why does meat taste different on Ozempic?</h3>
<p>Altered taste perception is one of the better-documented effects of GLP-1 treatment, particularly with red meat. The mechanism is not fully understood, but the experience is real and usually settles within the first few months. Lean into eggs, fish, dairy and pulses for the protein quarter of the plate while it lasts.</p> 
<h3 style="font-size: 18px;line-height:40px;">What if I just cannot face food at all?</h3>
<p>Start with <a href="https://frive.co.uk/blog/health-fitness/the-truth-about-liquid-diets-are-they-damaging-your-health" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">liquids that work as food</a>: a protein-fortified yoghurt smoothie, a bowl of bone broth with a soft-boiled egg, a small portion of milky porridge. Tiny, frequent, gentle inputs. If you cannot manage that for more than 24 hours, that is the threshold to call the prescriber.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_22 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_14">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_23 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_15">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/what-to-eat-mounjaro-wegovy-ozempic">What to Eat on Mounjaro, Wegovy or Ozempic When Your Appetite Is Gone</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Protect Muscle on a GLP-1: A Nutritional Guide</title>
		<link>https://blog.frive.co.uk/health-fitness/protect-muscle-on-glp-one</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Sun, 24 May 2026 08:42:00 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20101</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/protect-muscle-on-glp-one">How to Protect Muscle on a GLP-1: A Nutritional Guide</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_24 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_8">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>How to Protect Muscle on a GLP-1: A Nutritional Guide</h1>
<p class="author">by Eddie Tibbitts | 24th May, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-3.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>The scales are moving in the direction you wanted. Clothes fit looser. The number on the app finally stops creeping the wrong way. Then, somewhere around week eight or ten on Mounjaro, Wegovy or Ozempic, you start noticing something else. Workouts feel harder, not easier, even though you weigh less. Trousers hang oddly at the waist. The face in the bathroom mirror looks a touch more drawn. It is the part of the GLP-1 conversation almost nobody warns you about before the prescription.</p> 
<p>Without the right food and a little resistance training, <a href="https://dom-pubs.onlinelibrary.wiley.com/doi/10.1111/dom.13738" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">current evidence suggests 30 to 40% of the weight lost on a GLP-1 can be lean tissue</a> rather than fat. That is the headline number, and it is real. It is also entirely preventable. Two specific habits cover almost all of it: enough protein at every meal, and two short resistance sessions a week. The rest of this guide is the practical how.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px;" colspan="2">Protein on a GLP-1: At a glance</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; width: 30%; text-align: left;"><strong>The problem</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">Up to 30–40% of weight lost on a GLP-1 can be lean tissue rather than fat.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Daily protein target</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">1.6–2.0g per kg of bodyweight per day during active GLP-1 weight loss.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Per-meal floor</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">Aim for 30–40g of protein at each main meal. Daily total alone is not enough.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Training</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">Two short resistance sessions per week, full-body, compound movements.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Default approach</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">Natural protein. Shakes are a fallback for travel and very low-appetite days, not a default.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Cost of getting it wrong</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">Coming off the medication with less muscle than you started leaves you with a slower metabolism and a higher chance of putting weight back on.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; text-align: left;"><strong>Right for you if</strong></td>
      <td style="border: 1px solid black; padding: 8px; text-align: left;">You are 4–16 weeks into Ozempic, Wegovy or Mounjaro and want a clear, food-first plan.</td>
    </tr>
  </tbody>
</table>
<h2>Why GLP-1s cause disproportionate muscle loss</h2>
<p>The mechanism is simpler than it sounds. GLP-1s work mainly by switching off the hunger signal and slowing how fast food leaves your stomach, so the total amount you eat drops, often by a lot. Your body still needs a steady supply of protein every day to keep its muscle intact. When it does not get enough from food, it starts breaking down muscle to make up the difference. That is normal physiology on any <a href="https://www.frive.co.uk/blog/health-fitness/not-losing-weight-calorie-deficit" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">aggressive calorie deficit</a>. The drug just makes the deficit very easy to fall into.</p> 
<p>The major <a href="https://www.nejm.org/doi/full/10.1056/NEJMoa2032183" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">semaglutide</a> and <a href="https://www.nejm.org/doi/full/10.1056/NEJMoa2206038" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">tirzepatide</a> trials have all been re-analysed to ask exactly this question, <a href="https://dom-pubs.onlinelibrary.wiley.com/doi/10.1111/dom.13738" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">body composition included</a>, and they keep landing on the same answer: somewhere between 30% and 40% of the weight lost on a GLP-1 is lean tissue when you take no specific steps to preserve it.</p> 
<p>That matters because muscle is doing more work in the background than you tend to give it credit for. It is your body's biggest glucose user, it sets a big part of how many calories you burn at rest, and it makes you stronger and harder to injure as you age. Losing it during a phase you eventually have to come off is the textbook 'skinny but worse' outcome. The good news is that the same research is just as clear on the fix: people who pair more protein with resistance training on a GLP-1 hold on to much more of their muscle. Two habits, done properly, cover most of it.</p> 
<h2>How much protein you actually need on a GLP-1</h2>
<p>Ignore the UK government figure of 0.75g of protein per kg of bodyweight per day. That is a maintenance baseline aimed at sedentary adults who are not losing weight and not training. It has almost nothing useful to say about your situation.</p> 
<p>The figure that actually matters during active weight loss lands much higher. The <a href="https://jissn.biomedcentral.com/articles/10.1186/s12970-017-0177-8" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">International Society of Sports Nutrition</a> and <a href="https://nutritionandmetabolism.biomedcentral.com/articles/10.1186/1743-7075-11-53" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">other recent reviews</a> put the muscle-preserving range during a deficit at roughly 1.6 to 2.0g per kg of bodyweight per day. That is the figure to anchor to.</p> 
<p>A 90kg adult should be aiming for 145 to 180g of protein per day. A 70kg adult, 110 to 140g. If you are heavier and just starting out, work to 1.6g per kg of your current weight, not your goal weight. Recalculate every 5 to 8kg lost so the target keeps up with you.</p> 
<p>On protein quality, briefly: animal proteins (eggs, dairy, fish, poultry, lean red meat) are complete and easy for the body to absorb. The <a href="https://www.frive.co.uk/blog/health-fitness/vegetarian-protein-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">plant-forward route</a> works too, but build it around legumes, soy, edamame, tofu and tempeh, not just nuts and seeds, which are mostly fat. Our <a href="https://www.frive.co.uk/blog/health-fitness/how-much-protein-per-day" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">daily protein guide</a> breaks the numbers down further.</p> 
<h2>The per-meal floor that changes everything</h2>
<p>Your body builds muscle <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4018950" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">one meal at a time</a>, not by adding up your daily total. There is a minimum amount of protein it needs in a single meal before it bothers to flip the muscle-building switch on, and the practical translation is roughly 30 to 40g of protein per main meal. Hit that floor at three meals and you have 90 to 120g of quality protein in the bank, with three solid build signals across the day. Miss it and your daily total can look fine on paper while your muscles never get the message.</p> 
<p>This is the single most important habit on a GLP-1, and the one most people miss. When appetite is low, the default move is smaller plates with the same proportions, which often works out at 10 to 15g of protein per meal, scattered across the day. That is exactly where lean loss accelerates.</p> 
<p>Three proper meals beat constant grazing for the same reason. Each meal carries enough protein to do the job, your stomach gets a break between meals, and you are not perpetually full from low-protein nibbles. Our piece on <a href="https://www.frive.co.uk/blog/food-recipes/how-to-get-30g-of-protein-for-breakfast" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">how to get 30g of protein for breakfast</a> is a useful template for the trickiest meal of the three.</p> 
<h2>The best natural protein sources when you're not hungry</h2>
<p>Most GLP-1 protein advice online is written by powder brands, so the article you keep finding tells you to drink a shake. Natural is the better default for three reasons. It fills you up more, so a small portion does more work. It comes packaged with the vitamins and minerals your reduced food volume needs (iron, B12, zinc, omega-3s). And it sits better on a slow-digesting stomach than <a href="https://www.frive.co.uk/blog/health-fitness/the-truth-about-liquid-diets-are-they-damaging-your-health" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">a litre of liquid</a>.</p> 
<p>Our take on <a href="https://www.frive.co.uk/blog/food-tips/clean-protein-vs-shakes" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">natural protein versus shakes</a> covers the trade-off in more detail.</p> 
<p>A high-density shortlist worth keeping in the fridge: eggs, Greek yoghurt, cottage cheese, chicken thigh (easier than dry chicken breast on a slow stomach), salmon and white fish, tinned tuna, <a href="https://www.frive.co.uk/blog/food-recipes/health-benefits-prawns" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">prawns</a>, lentils and beans, edamame, tofu and tempeh. These hit the per-meal target in genuinely small portions.</p> 
<p>A 30g of protein cheat sheet at realistic UK portion sizes: 120g of chicken thigh cooked, 150g of salmon fillet, 170g of cottage cheese, 200g of Greek yoghurt plus a small scoop of whey or seeds, three large eggs plus 30g of feta, 120g of tinned tuna and a soft-boiled egg, or 200g of tofu drained and pan-fried.</p> 
<p>Shakes do have a role. <a href="https://www.frive.co.uk/blog/health-fitness/what-to-eat-after-a-workout" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Post-resistance training</a>, travel days, or the first 48 hours of a dose increase when nausea spikes, a quality whey shake is a sensible backstop. Keep it as the fallback, not the default.</p> 
<p>For ideas in the gaps between meals, our roundup of the <a href="https://www.frive.co.uk/blog/food-recipes/best-protein-snacks" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">best protein snacks</a> covers what to keep close at hand.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7860/opt_900x600_1475-Pollo_a_la_Brasa_Chicken_Thigh.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive's Pollo a la Brasa Chicken Thighs with Smashed Plantain & Kale</a></p> <div class="content">
<h2>Resistance training is non-negotiable</h2>
<p>Protein on its own does some of the work, but not most of it. Pairing it with resistance training is <a href="https://jissn.biomedcentral.com/articles/10.1186/1550-2783-11-20" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the combination with the strongest evidence</a> for keeping muscle while you lose weight, GLP-1 or otherwise. Without the training stimulus, your body has no reason to hold on to muscle it is not using.</p> 
<p>The minimum that actually works is genuinely minimal. Two sessions a week, 30 to 40 minutes each, full-body, focused on the big movements (squats, hinges, presses, rows, carries) covers it for most people. No gym membership needed. Dumbbells and resistance bands at home will do, and the work does not need to be punishingly hard to do its job.</p> 
<p>Two caveats. Walking the dog is not resistance training. Cardio is great for your heart, but it does not give your body the signal it needs to keep its muscle. And if you are returning to training after a long break, start gently for the first three or four weeks.</p> 
<p>Our guide on the <a href="https://www.frive.co.uk/blog/health-fitness/best-foods-for-muscle-recovery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">best foods for muscle recovery</a> is a useful companion once you are training consistently, and our take on <a href="https://www.frive.co.uk/blog/health-fitness/how-to-lose-weight-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">losing weight while gaining muscle</a> sets the bigger picture.</p> 
<h2>A practical GLP-1 eating day</h2>
<p>Here is what a realistic day looks like for a 75kg adult on Mounjaro at week ten, with an appetite at maybe 50% of pre-treatment. Target around 130 to 140g of total protein, three meals plus optional snack, no heroics.</p> 
<p><strong>Breakfast (around 8am), 35g protein:</strong> Three scrambled eggs, 30g of feta crumbled in, half a slice of sourdough toast, a small handful of cherry tomatoes. Sits gently, hits the floor, takes seven minutes.</p> 
<p><strong>Lunch (around 1pm), 40g protein:</strong> 150g of cooked salmon, a small portion of cooked quinoa or basmati rice, a soft-cooked vegetable side (steamed courgette and peas with a little olive oil), a squeeze of lemon. Avoid large raw salads for now, they can sit heavily and trigger reflux when digestion is slow.</p> 
<p><strong>Dinner (around 7pm), 35g protein:</strong> Slow-cooked chicken thighs, mashed sweet potato (half a normal portion), buttered greens. Soft textures across the plate, protein on the plate first.</p> 
<p><strong>Optional protein snack, 20g:</strong> A small pot of Greek yoghurt with a tablespoon of seeds, or 100g of cottage cheese on a single rye cracker. Only if you are genuinely hungry between meals, not out of habit.</p> 
<p>Two notes for this kind of day. Water and fibre matter more on a GLP-1 than they did before. Constipation is a common side effect, and eating lots of protein <a href="https://www.frive.co.uk/blog/nutrition/importance-of-high-fibre-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">without enough fluid and fibre</a> makes it worse. Aim for 2 litres of fluid spread through the day, with soft-cooked vegetables and a piece of fruit non-negotiable on the plate. And eat to a clock rather than to hunger cues, because the drug is dampening them.</p> 
<p>The <a href="https://www.frive.co.uk/blog/health-fitness/seven-day-protein-diet-plan-weight-loss" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">seven-day high-protein plan</a> is a useful weekly template to adapt to a smaller appetite.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/6360/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive's Shoyu Chicken Thighs</a></p> <div class="content">
<h2>How Frive makes the per-meal protein target effortless</h2>
<p>The honest constraint on a GLP-1 is not knowledge. You almost certainly know you should be eating more protein. The constraint is execution at the exact moment <a href="https://www.frive.co.uk/blog/food-tips/eat-healthy-no-time-to-cook" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">cooking feels impossible</a>, you are not hungry, and the things you used to want do not appeal anymore. Standard advice (batch-cook six chicken breasts on Sunday) assumes a level of energy and food interest that GLP-1 reality does not have to give.</p> 
<p>Every meal on the <a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Frive high-protein plan</a> is built by our nutrition team to clear the 30g per-meal floor with natural ingredients: never powders, never <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">UPF fillers</a>, never seed oils. The portions are right-sized for the small-appetite reality of an active GLP-1 dose, and fridge to plate is three to five minutes, which keeps friction below the threshold where you would otherwise skip dinner. The <a href="https://www.frive.co.uk/our-plans/weight-loss-meal-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">weight-loss meal delivery plan</a> applies the same logic at a slightly lower-calorie default. Either way, the per-meal target stops being something you have to think about three times a day.</p> 
<h2>What happens when you come off the medication</h2>
<p>Most articles on this topic skip the bit you most need to plan for. GLP-1 medication is a finite window. Whether you stop after a year or stay on a low maintenance dose for several, the body you have at the moment the appetite suppression eases off is the one you live with. The work to make it a good one has to happen inside the window, not after.</p> 
<p>Two people can finish a year on Mounjaro at the same weight on the scale and end up with very different bodies. One has held on to their muscle, kept their metabolism healthy, and built a baseline that holds the result. The other has the same number on the scale but with materially less muscle, a slower metabolism than they started with, and an appetite that comes back to a body now wired to regain weight quickly. The single best predictor of who keeps the weight off is how much muscle they protected while they were on the drug. Protein at every meal, two resistance sessions a week, real food on the plate. Get those right, and the day you eventually taper down is a graduation rather than a relapse.</p> 
<p><strong>If hitting 30g of protein at every meal feels like one more job in a week that already does not have time for it, that is exactly the problem our menu solves. </strong><a href="https://www.frive.co.uk/our-plans/high-protein-ready-meals" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>Browse this week's high-protein meals</strong></a><strong>, or start with the </strong><a href="https://www.frive.co.uk/our-plans/weight-loss-meal-delivery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>weight-loss delivery plan</strong></a><strong> for a slightly lower-calorie default.</strong></p> 
<h2>Frequently asked questions</h2>
<h3 style="font-size: 18px;line-height:40px;">How much protein should I eat on Ozempic, Wegovy or Mounjaro?</h3>
<p>Aim for 1.6 to 2.0g of protein per kg of bodyweight per day during active loss. For a 75kg adult, roughly 120 to 150g, split across three meals at 30 to 40g each. Re-anchor every 5 to 8kg lost so the target tracks your current weight.</p> 
<h3 style="font-size: 18px;line-height:40px;">Does Ozempic cause muscle loss?</h3>
<p>Not directly. The drug causes a steep drop in how much you eat, and the muscle loss is the knock-on effect of eating well below what your body needs to maintain itself while not doing any resistance training. Add enough protein and two sessions a week and the muscle loss largely resolves.</p> 
<h3 style="font-size: 18px;line-height:40px;">Can I build muscle on a GLP-1?</h3>
<p>Building real new muscle in a proper calorie deficit is hard for anyone past the beginner stage. The realistic goal during your time on the drug is to keep the muscle you already have. Strength can still improve because your body gets better at firing the muscles it has, and complete beginners may add a small amount, but holding on to what you have is the right target.</p> 
<h3 style="font-size: 18px;line-height:40px;">Are protein shakes okay on Ozempic?</h3>
<p>Yes, as a backstop. A decent whey or plant shake is sensible after a training session, on travel days, or in the first 48 hours of a dose increase when nausea spikes. Use it to plug gaps, not as the foundation. A shake-led approach trades all the vitamins and minerals you get from real food for a convenience you do not need three times a day.</p> 
<h3 style="font-size: 18px;line-height:40px;">What if I physically can't eat 30g of protein in one meal?</h3>
<p>Eat the protein on the plate first, while appetite is at its highest. Choose denser sources: 150g of salmon or 170g of cottage cheese delivers 30g in a much smaller volume than a chicken breast and a bowl of rice. On the worst days, hit two meals at 30g and use a half-shake to bridge the third. Two strong meals beat three weak ones.</p> 
<h3 style="font-size: 18px;line-height:40px;">Will I rebuild muscle after coming off the medication?</h3>
<p>Some of it, yes, given sensible protein and a return to consistent resistance training. But rebuilding takes far longer than preserving would have, and the metabolic gap between 'kept it' and 'lost it then rebuilt some' is one most people feel for years. The argument for prevention is overwhelming.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_25 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_16">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_26 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_17">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/protect-muscle-on-glp-one">How to Protect Muscle on a GLP-1: A Nutritional Guide</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Top Post Workout Dinner Ideas for Professionals</title>
		<link>https://blog.frive.co.uk/health-fitness/post-workout-dinner-ideas-professionals</link>
		
		<dc:creator><![CDATA[Eddie Tibbitts]]></dc:creator>
		<pubDate>Sat, 16 May 2026 13:41:44 +0000</pubDate>
				<category><![CDATA[Health and Fitness]]></category>
		<guid isPermaLink="false">https://blog.frive.co.uk/?p=20070</guid>

					<description><![CDATA[<p>The post <a href="https://blog.frive.co.uk/health-fitness/post-workout-dinner-ideas-professionals">Top Post Workout Dinner Ideas for Professionals</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_27 et_section_regular" >
				
				
				
				
					<div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				<div class="et_pb_module et_pb_code et_pb_code_9">
				
				
				<div class="et_pb_code_inner"><div class="container-blog">
<h1>The Healthiest Dinner You Can Have After a Gym Session (That Takes 3 Minutes)</h1>
<p class="author">by Eddie Tibbitts | 16th May, 2026 | <a style="text-decoration: underline;" href="/blog/health-fitness">Health & Fitness</a></p>  <img decoding="async" src="https://blog.frive.co.uk/wp-content/uploads/2026/04/4.png" class="blog-img" /><p style="margin-bottom: 24px;">
 </p> <div class="content">
<p>It's 8.15pm. You've just unlaced your trainers, your post-session hunger is starting to bite, and the most realistic option in your kitchen is a scoop of whey in water. You know it's not enough. You also know that cooking a real meal from scratch tonight is not happening.</p> 
<p>This is the dinner every working gym-goer faces three or four nights a week, and it's the biggest single reason most people leave recovery on the table. A shake is fast, but it solves one problem (protein) while ignoring four others: glycogen, micronutrients, satiety and sleep. The cost shows up the next morning as soreness, fatigue and a session that doesn't quite hit.</p> 
<p>This article does three things. It tells you what modern science actually says about <a href="https://www.frive.co.uk/blog/health-fitness/what-to-eat-after-a-workout/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">post-workout nutrition</a>. It gives you the precise template of a recovery-grade dinner, with grams, examples and a worked plate. And it shows you how to deliver that dinner in three minutes flat on the nights when cooking isn't an option.</p> 
<h2>What the post-workout window really is in 2026</h2>
<p>The anabolic-window panic was a useful piece of marketing. The reality is calmer. The 2013 meta-analysis by Schoenfeld and Aragon in the <em>Journal of the International Society of Sports Nutrition</em> <a href="https://pubmed.ncbi.nlm.nih.gov/24299050/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">showed that what drives muscle adaptation</a> is <a href="https://www.frive.co.uk/blog/health-fitness/how-much-protein-per-day/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">total daily protein intake</a>, not whether you drink a shake within thirty minutes of your last set. The <a href="https://link.springer.com/article/10.1186/s12970-017-0189-4" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">ISSN's 2017 Position Stand on Nutrient Timing</a> puts the practical window at several hours either side of training for most lifters.</p> 
<p>That doesn't make the post-training meal optional. It's still your single biggest recovery lever for next-day performance, not because of a stopwatch but because it's the meal closest to your <a href="https://www.frive.co.uk/blog/health-fitness/how-long-do-muscles-take-to-recover/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">overnight repair window</a>. Skip it, eat it poorly, or drink it instead, and the work you put in earlier in the evening is partially wasted.</p> 
<p>Two practical implications. First, the urgency is overstated. Walking through your door at 8.30pm and eating at 8.45pm is fine; eating at 9.15pm is also fine. Second, the quality bar is the same whether you finish training at 7pm or 9pm, and the rest of this article is about that bar.</p> 
<h3 style="font-size: 18px;line-height:40px;">The three pillars of next-day muscle recovery</h3>
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th colspan="2" style="border: 1px solid black; padding: 8px;">Why your post-workout dinner matters: At a glance</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px; width: 25%;">Muscle energy</td>
      <td style="border: 1px solid black; padding: 8px; width: 75%;">Heavy training drains the glycogen stored inside your trained muscles. Replenishing it in the evening puts you in full-strength condition for tomorrow's session.</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Tissue repair</td>
      <td style="border: 1px solid black; padding: 8px;">A natural dinner provides a steady, hours-long stream of amino acids to mend the microscopic muscle damage caused by lifting.</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Deeper sleep</td>
      <td style="border: 1px solid black; padding: 8px;">Going to bed hungry elevates cortisol and fragments sleep. A complete dinner stabilises blood sugar and supports the deep, restorative sleep where most physical repair happens.</td>
    </tr>
  </tbody>
</table>
<p>For the foundation on how much protein your daily plate actually needs across the week, see our <a href="https://www.frive.co.uk/blog/health-fitness/macro-balanced-meal-plans-beginners-guide" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">guide to building macro-balanced meal plans</a>.</p> 
<h2>Why just having a shake falls short</h2>
<p><a href="https://www.frive.co.uk/blog/food-tips/clean-protein-vs-shakes/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Liquid protein</a> is a useful insurance policy. Treating it as your dinner is a recovery error, and the science on why is clearer than fitness culture suggests.</p> 
<h3 style="font-size: 18px;line-height:40px;">Natural protein outperforms whey on the food-matrix effect</h3>
<p>The seminal study here is <a href="https://pubmed.ncbi.nlm.nih.gov/29092878/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">van Vliet, Burd and colleagues' 2017 paper</a> in the <em>American Journal of Clinical Nutrition</em>. They compared whole eggs versus an isonitrogenous (equal-protein) serving of egg whites after resistance exercise in young men. The whole-egg group showed a 40% greater muscle protein synthesis response, despite the equal protein dose. The mechanism is the food-matrix effect: natural foods co-deliver fats, micronutrients, phospholipids and cofactors that isolated protein doesn't, and that combination amplifies the anabolic response beyond what the protein number on the label predicts.</p> 
<p>That's the structural reason salmon-and-sweet-potato beats whey-and-water for the evening meal. It's not just more protein. It's a better-quality anabolic signal per gram.</p> 
<h3 style="font-size: 18px;line-height:40px;">The satiety, glycogen and micronutrient gap</h3>
<p><strong>Satiety.</strong> Liquid calories pass through your system in 30–40 minutes and barely register on the satiety hormones (CCK, GLP-1, ghrelin) that tell your brain you've eaten. A shake at 8.30pm reliably becomes a snack-cupboard raid at 9.45pm.</p> 
<p><strong>Glycogen.</strong> A heavy session can deplete 30–50% of the glycogen stored in your trained muscles. Refilling it requires carbohydrate, which a standard protein shake doesn't contain. Skipping the carb half of recovery is the biggest hidden reason your second session of the week feels worse than your first.</p> 
<p><strong>Micronutrients.</strong> Whey isolate is what's left after stripping the rest of the milk away. Real recovery uses magnesium (for muscle relaxation and sleep onset), zinc (for testosterone synthesis), iron (for oxygen transport in red blood cells), and B12 (for energy metabolism). Natural protein delivers all four; whey delivers none of them in meaningful amounts.</p> 
<table style="border-collapse: collapse; width: 100%; border: 1px solid black; text-align: center;">
  <thead>
    <tr style="background-color: #053827; color: white; font-weight: bold; text-align: center;">
      <th style="border: 1px solid black; padding: 8px; width: 30%;">Recovery factor</th>
      <th style="border: 1px solid black; padding: 8px; width: 35%;">Natural dinner</th>
      <th style="border: 1px solid black; padding: 8px; width: 35%;">Protein shake</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Protein dose</td>
      <td style="border: 1px solid black; padding: 8px;">30–40g, food-matrix amplified</td>
      <td style="border: 1px solid black; padding: 8px;">20–30g, isolated</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Muscle protein synthesis</td>
      <td style="border: 1px solid black; padding: 8px;">Higher per gram (van Vliet 2017)</td>
      <td style="border: 1px solid black; padding: 8px;">Lower per gram</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Glycogen replenishment</td>
      <td style="border: 1px solid black; padding: 8px;">Yes (complex carbs included)</td>
      <td style="border: 1px solid black; padding: 8px;">No</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Micronutrients (Mg, Zn, Fe, B12)</td>
      <td style="border: 1px solid black; padding: 8px;">Yes (naturally co-delivered)</td>
      <td style="border: 1px solid black; padding: 8px;">Minimal</td>
    </tr>
    <tr style="background-color: #ffffff;">
      <td style="border: 1px solid black; padding: 8px;">Satiety through to bedtime</td>
      <td style="border: 1px solid black; padding: 8px;">High (protein, fat, fibre)</td>
      <td style="border: 1px solid black; padding: 8px;">Low (passes in ~40 min)</td>
    </tr>
    <tr style="background-color: #f2f2f2;">
      <td style="border: 1px solid black; padding: 8px;">Sleep impact</td>
      <td style="border: 1px solid black; padding: 8px;">Stable blood sugar overnight</td>
      <td style="border: 1px solid black; padding: 8px;">Often followed by a late snack</td>
    </tr>
  </tbody>
</table>
<p>If you do need quick fuel on the way home, see our breakdown of <a href="https://www.frive.co.uk/blog/food-recipes/best-protein-snacks" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the best protein snacks for smart on-the-go fuel</a>.</p> 
<h2>The anatomy of a recovery-grade dinner</h2>
<p><strong>A worked example.</strong> 200g grilled salmon fillet, 250g roasted sweet potato, 100g <a href="https://www.frive.co.uk/blog/food-recipes/how-to-cook-tenderstem-broccoli" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">tenderstem broccoli</a>, half an avocado, finished with a tablespoon of olive oil and a pinch of sea salt. Macros: roughly 42g protein, 55g carbohydrate, 22g fat. That single plate covers every recovery base in the list below. Once you understand why each pillar is there, you can build the same template from any cuisine.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7133/opt_upload.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive's Beef Gyudon Rice Bowl.</a></p> <div class="content">
<h3 style="font-size: 18px;line-height:40px;">1. 30 to 40g of natural protein</h3>
<p>This is the dose that comfortably clears the leucine threshold (~2.5–3g per meal) needed to maximally stimulate muscle protein synthesis in a typical adult. <a href="https://pubmed.ncbi.nlm.nih.gov/24257722/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Witard and colleagues (2014, AJCN)</a> established 20g of whey as the saturating dose for resistance-trained men; natural protein has lower bioavailability per gram, which is why the standard recommendation for a recovery meal sits at 30–40g. <a href="https://pubmed.ncbi.nlm.nih.gov/19056590/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Moore et al. (2009)</a> found a comparable ceiling. Larger trainees (90kg+), <a href="https://www.frive.co.uk/blog/health-fitness/how-to-lose-weight-gain-muscle" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">trainees in a calorie deficit</a>, and anyone over 50 should sit at the top of that range.</p> 
<p><strong>What 30–40g looks like on the plate:</strong> 200g chicken breast (~46g protein), 200g salmon (~42g), 200g lean beef (~44g), 250g firm tofu (~45g), four large eggs plus 50g of cheese (~35g), or 200g of Greek yogurt with 30g of mixed nuts (~30g).</p> 
<h3 style="font-size: 18px;line-height:40px;">2. Complex carbohydrates (0.5 to 1g per kg of bodyweight)</h3>
<p>Carbohydrate is the refuelling half of recovery, not an optional extra. The ISSN's 2017 position stand recommends 0.5–1g/kg of bodyweight of carbohydrate in the post-exercise meal for most trainees. For a 70kg adult that's 35–70g: roughly one large sweet potato, one cup of cooked brown rice, 80g of dry quinoa, or two slices of seeded sourdough plus a portion of berries.</p> 
<p>Choose slow-releasing options. They keep blood sugar steady through the night, and glucose volatility before bed <a href="https://www.frive.co.uk/blog/health-fitness/why-do-i-wake-up-tired-after-8-hours-of-sleep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">fragments sleep</a>. Skip the white-bread-and-honey approach.</p> 
<h3 style="font-size: 18px;line-height:40px;">3. Vegetables for micronutrient density</h3>
<p>Fill half your plate. The point isn't fibre alone. It's the specific recovery role of the micronutrients. Leafy greens (spinach, kale, chard) supply magnesium for muscle relaxation and sleep onset. Broccoli, cauliflower and Brussels sprouts deliver sulforaphane and vitamin C, both of which support inflammation resolution. Red and orange vegetables (peppers, carrots, tomatoes) provide carotenoids that help dampen the oxidative stress of a heavy session. The <a href="https://www.nhs.uk/live-well/eat-well/the-eatwell-guide/" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">NHS Eatwell Guide</a> recommends a third of the plate be vegetables; for a recovery dinner, aim closer to half.</p> 
<h3 style="font-size: 18px;line-height:40px;">4. Healthy fats for hormone recovery</h3>
<p>Fat is the recovery component most often dropped. The body uses it to support <a href="https://www.frive.co.uk/blog/health-fitness/hormone-balancing-foods" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">testosterone and cortisol balance</a>, to absorb the fat-soluble vitamins (A, D, E, K) in your vegetables, and to slow gastric emptying so amino acids release steadily through the night. Half an avocado, a tablespoon of extra virgin olive oil, a small handful of walnuts, or the fat naturally present in salmon or grass-fed beef all do the job. Avoid frying in seed oils after a session; the inflammatory load works against you.</p> 
<h3 style="font-size: 18px;line-height:40px;">5. Rehydration and electrolytes</h3>
<p>A heavy session can cost 1–2 litres of fluid plus the sodium, potassium and magnesium dissolved in it. Drink 500–750ml of water with your meal, and add 300–700mg of sodium. A pinch of good sea salt does most of it, or use a clean electrolyte tab without added sugar. Potassium-rich foods on the plate (sweet potato, leafy greens, avocado) handle the rest. If you wake up with calf cramps, you're under-replacing electrolytes, not under-drinking.</p> 
<p>For a structured plan that brings all five pillars together over a week, see our <a href="https://www.frive.co.uk/blog/health-fitness/7-day-meal-prep-for-muscle-gain" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">7-day muscle-gain meal prep guide</a>, or our deep dive on <a href="https://www.frive.co.uk/blog/health-fitness/best-foods-for-muscle-recovery" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">the best foods for muscle recovery</a>.</p> 
<h2>Why most people skip the recovery dinner anyway</h2>
<p>Knowing what to eat and actually getting it on your plate at 8.30pm on a Thursday are two different problems.</p> 
<p><a href="https://www.frive.co.uk/blog/food-tips/eat-healthy-no-time-to-cook" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Cooking from scratch</a> after a heavy session is unrealistic three or four nights a week. The cumulative decision fatigue of a full work day, plus the physical depletion of a workout, plus the cognitive load of choosing, prepping, cooking and washing up: most people can do that once or twice a week; nobody does it five times. The shake-and-cereal default isn't laziness, it's load management.</p> 
<p><a href="https://www.frive.co.uk/blog/food-tips/how-to-meal-prep" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">Sunday meal prep</a> partly solves this, but creates two new problems. Variety burnout: by Thursday, the third container of chicken-and-rice has lost its appeal. And storage decay: the broccoli that was crisp on Sunday is sad by Wednesday. Both nudge you toward delivery apps and shop-bought ready meals that quietly fail the recovery-grade test: <a href="https://www.frive.co.uk/blog/health-fitness/ultra-processed-foods-weight-gain-hunger" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;">UPF ingredients</a>, seed oils, low protein density, excessive sodium.</p> 
<p>The unspoken reality is that most of the gym-going professional population is leaving recovery on the table, several nights a week, every week.</p> 
<h2>The three-minute recovery dinner solution</h2>
<p>The only way a recovery-grade dinner happens reliably after late training is if the cooking step has already been done. Pre-prepared, natural, nutritionist-designed meals are the one option that satisfies all three constraints at once: speed, quality, and low cognitive load.</p> 
<h3 style="font-size: 18px;line-height:40px;">How Frive automates your high-protein post-workout nutrition</h3>
<p>Frive is built around exactly this use case. Every meal on the rotating menu is designed by registered nutritionists against a recovery-grade brief:</p> 
<p><strong>30 to 40g of natural protein in every box.</strong> Anchored on British-farmed and grass-fed meats, wild-caught fish, free-range eggs and organic plant proteins.</p> 
<p><strong>A complete plate.</strong> Protein, complex carbs, vegetables and a healthy fat source in every meal, ratioed by nutritionist macro design rather than by guesswork.</p> 
<p><strong>Three minutes from fridge to fork.</strong> Faster than reheating leftovers, with no chopping, no cooking and no pan to scrub.</p> 
<p><strong>100+ rotating meals across the menu.</strong> The variety burnout problem that kills meal prep by Thursday never kicks in.</p> 
<p><strong>Zero ultra-processed shortcuts.</strong> No seed oils, no emulsifiers, no refined sugars, no UPF additives. The convenient option is also the right option.</p> 
<p>This is the dinner that happens on the night you finish training at 8.45pm and need to be in bed by 11. The recovery-grade meal arrives without taking any of the energy you don't have.</p> 
<img decoding="async" src="https://cloudfront.frive.co.uk/media/7765/opt_LP-PRO-1466-Beef-Tom-Yum-Soup.png" /><p style="margin-bottom: 24px;">
<a class="photo-link" href="https://www.frive.co.uk/menu">Try Frive's Tom Yum Beef Soup with Japanese Vegetables & Fragrant Herbs.</a></p> <div class="content">
<p><strong>Ready to stop fighting the post-gym dinner? </strong><a href="https://www.frive.co.uk/menu" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>Explore the Frive menu</strong></a><strong> to see this week's recovery meals, or look at our </strong><a href="https://www.frive.co.uk/our-plans" target="_blank" rel="noopener noreferrer" style="color: var(--text-body, #333);font-style: normal;font-weight: 500;text-decoration-line: underline;"><strong>high-protein meal plans</strong></a><strong> to find the right rotation for your training schedule.</strong></p> 
<h2>Frequently Asked Questions</h2>
<h3 style="font-size: 18px;line-height:40px;">What should you eat for dinner after a late gym session?</h3>
<p>A recovery-grade post-gym dinner needs four things: 30 to 40g of natural protein, complex carbs (0.5 to 1g per kg of bodyweight), a generous portion of vegetables, and a healthy fat source. A worked example is 200g grilled salmon, 250g sweet potato, tenderstem broccoli and half an avocado, finished with olive oil.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is a protein shake enough for dinner after the gym?</h3>
<p>No, a protein shake on its own is not enough for dinner. Shakes deliver protein but miss the carbohydrates that replenish muscle glycogen, the micronutrients that drive cellular recovery, and the fibre and fat that keep you full overnight. Treat a shake as a stopgap, not as your post-training meal.</p> 
<h3 style="font-size: 18px;line-height:40px;">How much protein do you actually need after a workout?</h3>
<p>Aim for 30 to 40g of high-quality protein in your post-training meal. This dose comfortably clears the ~2.5g leucine threshold needed to maximally stimulate muscle protein synthesis (Witard 2014; Moore 2009). Larger trainees and those in a calorie deficit should sit at the top of that range. Your total daily intake (1.6 to 2.2g per kg) still matters more than any single meal.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is the 30-minute anabolic window real?</h3>
<p>No, the 30-minute "anabolic window" is largely a myth for most trainees. Schoenfeld and Aragon's 2013 meta-analysis showed that total daily protein intake drives muscle gain, not narrow post-workout timing. The real window is several hours wide. Hit your daily protein target and eat a proper recovery dinner within a few hours of training.</p> 
<h3 style="font-size: 18px;line-height:40px;">What are the best carbs to eat after the gym?</h3>
<p>Choose slow-releasing complex carbohydrates: sweet potato, brown rice, quinoa, oats or giant couscous. A 70kg trainee should aim for roughly 35 to 70g of carbohydrate post-workout to refill the muscle glycogen depleted during training. Avoid refined sugars and alcohol with your recovery meal; both blunt protein synthesis and disrupt sleep.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is it bad to eat dinner late after the gym?</h3>
<p>The timing itself isn't the problem; what you eat and how it's prepared is. A natural, moderate-portion meal eaten 30 to 60 minutes before bed supports overnight muscle repair without disrupting sleep. The real issues are ultra-processed late-night meals, which spike inflammation, and cooking at 9pm, which re-elevates cortisol when your body is winding down.</p> 
<h3 style="font-size: 18px;line-height:40px;">Is natural protein better than whey for muscle recovery?</h3>
<p>Yes, for the post-training dinner specifically, natural food outperforms whey. Natural sources release amino acids more steadily and deliver the "food matrix effect" of co-delivered micronutrients, fats and fibre. Van Vliet's 2017 study showed whole eggs produced a 40% greater muscle protein synthesis response than equal-protein egg whites.</p> 

  </div></div><style> .container-blog { display: flex; flex-direction: column; padding: 49px 290px 80px 290px; margin: 0 auto; } h1 { font-size: 48px; line-height: 56px; font-weight: 700; margin: 0 0 24px 0; color: #111; } h3{ color: #111; } .author { font-size: 14px; color: #555; margin-bottom: 24px; } .content p { font-size: 16px; line-height: 24px; color: #333; margin-bottom: 12px; } .content h2 { font-size: 36px; line-height: 44px; font-weight: 700; margin: 24px 0 12px 0; color: #111; } .order-now-button { display: inline-block; padding: 12px 24px; background-color: #053827; color: #fff; font-size: 16px; font-style: normal; font-weight: 700; line-height: 24px; /* 150% */ text-decoration: none; border-radius: 8px; margin-top: 24px; border-radius: 100px; width: 300px; text-align: center; } @media (max-width: 768px) { .container-blog { padding: 20px; } h1 { font-size: 36px; line-height: 44px; } } @media (min-width: 768px) { h1 { font-size: 48px; line-height: 52px; } } li{ color: #333; font-size: 16px !important; } img.blog-img { border-radius: 8px; margin-bottom: 24px; } body > div.wordpress-shadow > div > div > div > div{ max-width: unset !important; } body > div.wordpress-shadow > div > div > div{ justify-content: center !important; place-items: center !important; } .et_pb_section.et_pb_section_0.et_pb_css_mix_blend_mode.et_section_regular { place-items: center !important; }.photo-link{font-weight: 700;text-decoration:underline;} </style></div>
			</div>
			</div>
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_28 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_18">
				
				
				<div class="et_pb_code_inner"><!-- =============================================================
  FRIVE — AUTO-UPDATING RELATED ARTICLES CAROUSEL
  Drop-in replacement for the manual Related Articles module.
  How it works:
    1. The static cards below render exactly as before (fallback).
    2. On page load, the script fetches the latest posts from the
       WordPress REST API (blog.frive.co.uk/wp-json), prefers posts
       in the SAME CATEGORY as the current article, excludes the
       article the reader is on, and replaces the static cards.
    3. If the API call fails for any reason, the static cards stay.
  To update the fallback cards occasionally, just edit the three
  .related-articles blocks as you do today.
============================================================== -->
<style>
.image-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 20px 0;
  box-sizing: border-box;
}
.image-container .related-articles {
  flex: 0 0 auto;
  width: 33.33%;
  margin-right: 10px;
  text-align: center;
}
.related-articles a:first-child {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.related-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid #E5E7EB;
  display: block;
}
@media screen and (max-width: 768px) {
  .image-container {
    padding: 20px;
    justify-content: flex-start;
    max-width: 100%;
  }
  .image-container .related-articles {
    margin-right: 10px;
    width: 75%;
  }
  .related-img {
    height: 200px;
  }
}
@media (min-width: 480px) {
  .related-container {
    padding: 0px 80px 48px 80px;
  }
}
@media (max-width: 480px) {
  .related-container {
    margin-top: 28px;
  }
}
</style>
<div class="related-container" style="background-color:#fff;">
  <h2 style="color: var(--text-body, #333);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 38px;" class="section-4-heading">
    Related Articles
  </h2>
  <div class="image-container" id="frive-related-carousel">
    <!-- STATIC FALLBACK CARDS — shown until the API responds, and kept if it fails -->
    <div class="related-articles">
      <a href="/blog/food-tips/healthy-weekend-meal-resets">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2024/12/1080x1080-2025-2.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/healthy-weekend-meal-resets" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">Reset The Right Way With Healthy Weekend Meals</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">14th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/07/FRIVE_REFRESH_260924__SHOT-10_092-scaled.jpg" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/eat-healthy-no-time-to-cook" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Eat Healthy When You Have No Time to Cook</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">7th July 2025</p> 
    </div>
    <div class="related-articles">
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits">
        <img decoding="async" class="related-img" src="https://blog.frive.co.uk/wp-content/uploads/2025/04/hero-image-1.png" alt="blog lions prep">
      </a>
      <a href="/blog/food-tips" style="text-decoration: underline; display: block; margin: 10px; text-align: left;">
        <p style="font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;">Food Tips</p> 
      </a>
      <a href="/blog/food-tips/save-7-hours-week-rethinking-food-habits" style="display: block; margin: 10px;">
        <p style="color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;">How to Save 7 Hours a Week by Rethinking Food Habits</p> 
      </a>
      <p style="color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;">29th June 2025</p> 
    </div>
  </div>
</div>
<script>
(function () {
  var API = 'https://blog.frive.co.uk/wp-json/wp/v2/posts'
    + '?per_page=12&status=publish'
    + '&_embed=wp:featuredmedia,wp:term'
    + '&_fields=slug,date,title,categories,_links,_embedded';

  var CARD_COUNT = 3;

  // Category id -> { name, slug } (fallback if embedded terms are missing)
  var CATS = {
    59: { name: 'About Frive',        slug: 'about-frive' },
    3:  { name: 'Food and Recipes',   slug: 'food-recipes' },
    69: { name: 'Food Tips',          slug: 'food-tips' },
    4:  { name: 'Health and Fitness', slug: 'health-fitness' }
  };

  // Current article: /blog/{category}/{slug}
  var parts = window.location.pathname.replace(/\/+$/, '').split('/').filter(Boolean);
  var currentCatSlug = (parts[0] === 'blog' && parts.length >= 3) ? parts[1] : null;
  var currentSlug    = (parts[0] === 'blog' && parts.length >= 3) ? parts[2] : null;

  function ordinal(n) {
    if (n % 100 >= 11 && n % 100 <= 13) return n + 'th';
    switch (n % 10) {
      case 1: return n + 'st';
      case 2: return n + 'nd';
      case 3: return n + 'rd';
      default: return n + 'th';
    }
  }

  function formatDate(iso) {
    var d = new Date(iso);
    var months = ['January','February','March','April','May','June',
                  'July','August','September','October','November','December'];
    return ordinal(d.getDate()) + ' ' + months[d.getMonth()] + ' ' + d.getFullYear();
  }

  function decode(html) {
    var t = document.createElement('textarea');
    t.innerHTML = html;
    return t.value;
  }

  function getCategory(post) {
    var terms = (post._embedded && post._embedded['wp:term']) || [];
    for (var i = 0; i < terms.length; i++) {
      for (var j = 0; j < terms[i].length; j++) {
        if (terms[i][j].taxonomy === 'category' && terms[i][j].slug !== 'uncategorised') {
          return { name: terms[i][j].name, slug: terms[i][j].slug };
        }
      }
    }
    var id = (post.categories || [])[0];
    return CATS[id] || null;
  }

  function getImage(post) {
    var media = post._embedded && post._embedded['wp:featuredmedia'];
    if (!media || !media[0]) return null;
    var m = media[0];
    var sizes = m.media_details && m.media_details.sizes;
    if (sizes) {
      var pick = sizes.medium_large || sizes.large || sizes.full;
      if (pick && pick.source_url) return pick.source_url;
    }
    return m.source_url || null;
  }

  function buildCard(post) {
    var cat = getCategory(post);
    if (!cat) return null;
    var img = getImage(post);
    if (!img) return null;

    var articleUrl = '/blog/' + cat.slug + '/' + post.slug; // no trailing slash
    var catUrl = '/blog/' + cat.slug;
    var title = decode(post.title.rendered);

    var card = document.createElement('div');
    card.className = 'related-articles';

    var imgLink = document.createElement('a');
    imgLink.href = articleUrl;
    var image = document.createElement('img');
    image.className = 'related-img';
    image.src = img;
    image.alt = title;
    image.loading = 'lazy';
    imgLink.appendChild(image);

    var catLink = document.createElement('a');
    catLink.href = catUrl;
    catLink.setAttribute('style', 'text-decoration: underline; display: block; margin: 10px; text-align: left;');
    var catP = document.createElement('p');
    catP.setAttribute('style', 'font-size: 16px; font-style: normal; font-weight: 500; text-align: left; line-height: 24px;');
    catP.textContent = cat.name;
    catLink.appendChild(catP);

    var titleLink = document.createElement('a');
    titleLink.href = articleUrl;
    titleLink.setAttribute('style', 'display: block; margin: 10px;');
    var titleP = document.createElement('p');
    titleP.setAttribute('style', 'color: var(--text-body, #333); font-size: 18px; font-style: normal; text-align: left; font-weight: 500; line-height: 28px;');
    titleP.textContent = title;
    titleLink.appendChild(titleP);

    var dateP = document.createElement('p');
    dateP.setAttribute('style', 'color: #5f5f5f; text-align: left; font-size: 16px; line-height: 26px; font-weight: 500; margin: 10px;');
    dateP.textContent = formatDate(post.date);

    card.appendChild(imgLink);
    card.appendChild(catLink);
    card.appendChild(titleLink);
    card.appendChild(dateP);
    return card;
  }

  fetch(API)
    .then(function (r) {
      if (!r.ok) throw new Error('API ' + r.status);
      return r.json();
    })
    .then(function (posts) {
      // Exclude the article the reader is currently on
      posts = posts.filter(function (p) { return p.slug !== currentSlug; });

      // Same-category posts first, then everything else; both newest first
      var same = [], rest = [];
      posts.forEach(function (p) {
        var cat = getCategory(p);
        if (cat && currentCatSlug && cat.slug === currentCatSlug) same.push(p);
        else rest.push(p);
      });

      var cards = [];
      same.concat(rest).some(function (p) {
        var card = buildCard(p);
        if (card) cards.push(card);
        return cards.length >= CARD_COUNT;
      });

      if (cards.length < CARD_COUNT) return; // keep static fallback

      var container = document.getElementById('frive-related-carousel');
      container.innerHTML = '';
      cards.forEach(function (c) { container.appendChild(c); });
    })
    .catch(function () { /* API unavailable: static fallback cards remain */ });
})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_29 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
					<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_19">
				
				
				<div class="et_pb_code_inner"><a href="/order">
<div class="sticky-offer-button">
    <span class="offer-details">40% off 1st Week + 20% off Next 2 Weeks</span>
    <button class="get-offer-button">Get Offer</button>
</div>
</a>
  
  <script>
    // Function to update the offer details dynamically
    function syncOfferDetails() {
        // Get the text from the specified selector
        const sourceOfferElement = document.querySelector('body > div.home-header-container.sticky-header > div > div > div > a > div.hidden.md\\:flex > p');
        
        // Get the target element where the offer should be displayed
        const targetOfferElement = document.querySelector('.offer-details');
        // If both elements exist, update the target with the source text
        if (sourceOfferElement && targetOfferElement) {
            targetOfferElement.textContent = sourceOfferElement.textContent;
        }
    }
    // Call the function when the page loads
    window.onload = function() {
        syncOfferDetails();
    };
</script>
<style>
.sticky-offer-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    /* background-color: var(--primary); /* Your primary color */
    background-color: #053827;
    color: #fff;
    /border-color: #053827; /* Border color same as primary */
    border-style: solid;
    border-width: 2px;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: rgba(153, 153, 153, 0.4) -4px 4px 8px 0px; /* Box shadow */
    border-radius: 50px; /* Rounded corners */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1000; /* Ensure it stays above other content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
}
.offer-details {
    font-size: 11px;
    margin-bottom: 0px;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap; /* Force text to stay on one line */
    overflow: hidden;
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
  color: #fff;
  font-weight: 300;
  padding:0px;
}
.get-offer-button {
    background-color: inherit;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 30px; /* Button rounded corners */
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
  	padding-top: 0px;
}
@keyframes moveInBottom {
    0% {
        transform: translate(-50%, 100%);
    }
    100% {
        transform: translate(-50%, 0);
    }
}
.sticky-offer-button.animate-in {
    animation: moveInBottom 600ms cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    opacity: 1;
    visibility: visible;
}
  
  .sticky-offer-button.animate-in, span.offer-details {
    width: 350px;
}
  
  
  
</style>
<script>
window.addEventListener('load', () => {
    setTimeout(() => {
        const offerButton = document.querySelector('.sticky-offer-button');
        offerButton.classList.add('animate-in');
    }, 600); // Delay of 600ms
});
  
    // Get the text from the first <p> element inside the .banner
    var bannerText = document.querySelector('.banner p').innerText;
    // Get all .offer-details elements
    var offerDetailsElements = document.querySelectorAll('.offer-details');
    // Loop through each .offer-details element and replace its inner text
    offerDetailsElements.forEach(function(element) {
        element.innerText = bannerText;
    });
</script></div>
			</div>
				
				
			</div></p>
<p>The post <a href="https://blog.frive.co.uk/health-fitness/post-workout-dinner-ideas-professionals">Top Post Workout Dinner Ideas for Professionals</a> appeared first on <a href="https://blog.frive.co.uk">Frive</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
