Menu Zavřít

„Čokoládová krize“ EU na obzoru. Klimatické změny a ztráta biodiverzity vážně ohrožují pěstování kakaových bobů, varují odborníci

22. 5. 2025
Doba čtení: 3 minuty
Autor: Depositphotos
  • Evropská unie by mohla v brzké době čelit takzvané čokoládové krizi, protože ceny kakaa neustále rostou a hrozí i nedostatek této oblíbené pochoutky
  • Mezi další ohrožené plodiny patří kromě kakaa rovněž káva, sója, rýže, pšenice a kukuřice, které EU ve značné míře dováží. Navíc se tyto plodiny většinou pěstují v zemích ohrožených klimatickou změnou a ztrátou biodiverzity
  • Studie vyzývá producenty čokolády či kávy, aby investovali do klimatické adaptace a ochrany přírodní rozmanitosti v pěstitelských regionech. Podle odborníků by také pomohl přechod na udržitelné a zdravější stravování

Kromě prudkého nárůstu cen kakaových bobů, který výrazně zdražil čokoládu v obchodech, nyní odborníci varují i před hrozícím nedostatkem této oblíbené pochoutky. Podle nové studie vypracované britskou konzultační firmou Foresight Transitions klimatické změny a úbytek přírodní rozmanitosti dále prohlubují takzvanou čokoládovou krizi v Evropské unii. 

Autoři zmíněné zprávy uvádějí, že kakao je jednou ze šesti klíčových komodit, které pocházejí převážně ze zemí málo odolných vůči environmentálním hrozbám. Kromě něj do této skupiny spadají ještě káva, sója, rýže, pšenice a kukuřice. Naneštěstí pro země Evropské unie podíl dovozu zmíněných surovin právě z takovýchto oblastí byl v roce 2023 více než dvoutřetinový.

Outstream Placeholder

„Nejde jen o teoretické hrozby. Dopady se už nyní negativně projevují na podnikání, zaměstnanosti i dostupnosti a cenách potravin. A situace se bude nadále zhoršovat,“ cituje hlavní autorku zprávy Camillu Hyslopovou web The Guardian.

Znepokojivé signály

Výzkumníci zkombinovali obchodní data Eurostatu se dvěma žebříčky environmentální bezpečnosti. Prvním byl Notre Dame Global Adaptation Index, který hodnotí zranitelnost zemí vůči klimatickým změnám a jejich schopnost jim čelit. Druhým pak hodnocení britského Přírodovědného muzea, jež posuzuje zachovalost biodiverzity na základě srovnání současného výskytu divokých druhů s historickými úrovněmi.

Analýza ukázala, že značná část dovozu sledovaných komodit směřuje ze zemí s nízkou až střední připraveností na klimatické změny a s narušenou biodiverzitou. Například 90 procent kukuřice dovážené do EU pochází ze států s nízkou klimatickou odolností a více než dvě třetiny z oblastí se středně či méně zachovalou přírodní rozmanitostí. Ještě horší je situace u kakaových bobů, jejichž dovoz je z 96,5 procenta vystaven klimatickým rizikům a ze 77 procent pochází z oblastí s výrazně narušenou biodiverzitou.

Ceny komodit se stále zvyšují

Donedávna se pozornost soustředila hlavně na rostoucí ceny kávy a kakaa, nyní ovšem výrobci čelí také zdražování cukru a nedostatku klíčové suroviny pro čokoládový průmysl. Hlavní příčinou jsou extrémní klimatické jevy. Většina kakaa navíc pochází ze západní Afriky, která je silně zasažena jak extrémním počasím, tak úbytkem druhové rozmanitosti.

Obilnina budoucnosti. Čirok dokáže uživit miliony lidí, funguje však i proti půdním škůdcům či rakovině
Přečtěte si také:

Obilnina budoucnosti. Čirok dokáže uživit miliony lidí, funguje však i proti půdním škůdcům či rakovině

Podle studie zadané organizací European Climate Foundation by velcí výrobci čokolády měli investovat do klimatické adaptace a ochrany přírodní diverzity v pěstitelských regionech. „Nejde o projev altruismu nebo plnění ESG cílů, ale o klíčový krok ke snížení rizik v dodavatelských řetězcích. Spravedlivé ceny umožní farmářům posílit odolnost svých farem,“ zdůrazňují autoři zprávy.

Výsledky analýzy označuje za velmi znepokojivé i environmentální výzkumník Paul Behrens z University of Oxford: „Politici si rádi myslí, že EU je potravinově soběstačná. Tato studie ale jasně ukazuje, že v některých klíčových potravinových řetězcích je velmi zranitelná.“

Přechod na udržitelné stravování

O něco méně ohrožené se jeví plodiny jako již zmíněná káva, rýže a sója, i u nich však výzkum upozorňuje na rizikové oblasti. Jednou z nich je Uganda, která v roce 2023 dodala do EU 10 procent dovážené kávy. Země má nízkou klimatickou připravenost a střední až nízkou úroveň biodiverzity.

CIF25

Čeká nás budoucnost bez banánů? Klimatická krize ohrožuje nejoblíbenější ovoce na světě i živobytí milionů lidí
Přečtěte si také:

Čeká nás budoucnost bez banánů? Klimatická krize ohrožuje nejoblíbenější ovoce na světě i živobytí milionů lidí

Rovněž zakladatel ugandské organizace National Union of Coffee Agribusinesses and Farm Enterprises Joseph Nkandu vyzývá k lepšímu přístupu k mezinárodnímu financování, aby se místní farmáři mohli přizpůsobit zhoršujícím se klimatickým podmínkám. „Počasí v Ugandě už není předvídatelné jako dřív. Vlny veder, dlouhá sucha a nepravidelné deště ničí naše kávovníky a snižují úrodu,“ apeluje Nkandu.

Na situaci reagoval také odborník na potravinové systémy Marco Springmann z University of Oxford. Podle něj bude pro zvládnutí klimatických otřesů nutný přechod na udržitelné a zdravější stravování. „Třetina obilovin a prakticky veškerá dovážená sója se využívá jako krmivo pro zvířata. Snahy o větší odolnost dodavatelských řetězců tak často přehlížejí, že právě tyto produkty jsou do značné míry příčinou problémů, před nimiž se snažíme chránit,“ uzavírá Springmann.

  • Našli jste v článku chybu?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }