{"id":4569,"date":"2026-05-20T11:42:34","date_gmt":"2026-05-20T09:42:34","guid":{"rendered":"https:\/\/www.kanopee.lu\/products\/cocoa-derivatives\/"},"modified":"2026-11-12T15:31:43","modified_gmt":"2026-11-12T14:31:43","slug":"cocoa-derivatives","status":"publish","type":"page","link":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/","title":{"rendered":"Cocoa &#038; Derivatives"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4569\" class=\"elementor elementor-4569 elementor-1033\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df04bd0 e-con-full e-flex e-con e-parent\" data-id=\"df04bd0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-d653389 e-flex e-con-boxed e-con e-child\" data-id=\"d653389\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-72e02df e-con-full e-flex e-con e-child\" data-id=\"72e02df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-474b81a elementor-hidden-mobile elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"474b81a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:500,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\"><span class=\"micro-baseline\">Products \/ Cocoa &#038; Derivatives<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c903901 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"c903901\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:&quot;500&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Cocoa &amp; Derivatives<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-954d910 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"954d910\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:&quot;500&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">A range designed to cover all needs; from industrial standards available in multiple forms to the most distinctive aromatic signatures.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9a10ada e-con-full e-grid elementor-hidden-tablet elementor-hidden-mobile e-con e-child\" data-id=\"9a10ada\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-8cd87d7 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"8cd87d7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22feee8 elementor-view-framed elementor-position-inline-start elementor-mobile-position-inline-start elementor-widget-tablet__width-auto elementor-shape-circle elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"22feee8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"#\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"TERROIRS &amp; ORIGINES\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-seedling\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"#\" >\n\t\t\t\t\t\t\tTERROIRS &amp; ORIGINES\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tDistinctive aromatics\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e15b2af e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"e15b2af\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:&quot;250&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6438db elementor-view-framed elementor-position-inline-start elementor-mobile-position-inline-start elementor-widget-tablet__width-auto elementor-shape-circle elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"f6438db\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"#\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"SUSTAINABLE COMMITMENTS\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-handshake\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"#\" >\n\t\t\t\t\t\t\tSUSTAINABLE COMMITMENTS\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tAgroforestry initiatives\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-997ce35 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"997ce35\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:&quot;500&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83710a4 elementor-view-framed elementor-position-inline-start elementor-mobile-position-inline-start elementor-widget-tablet__width-auto elementor-shape-circle elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"83710a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"#\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"CERTIFIED SUPPLY CHAINS\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-award\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"#\" >\n\t\t\t\t\t\t\tCERTIFIED SUPPLY CHAINS\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tTraceability, EUDR compliant\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c08211 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"3c08211\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:&quot;750&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e8d601 elementor-view-framed elementor-position-inline-start elementor-mobile-position-inline-start elementor-widget-tablet__width-auto elementor-shape-circle elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"9e8d601\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"#\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"DIVERSE NEEDS\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-globe-africa\" viewBox=\"0 0 496 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"#\" >\n\t\t\t\t\t\t\tDIVERSE NEEDS\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tWide range of solutions\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c73403b e-flex e-con-boxed e-con e-parent\" data-id=\"c73403b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e154c1 elementor-widget elementor-widget-shortcode\" data-id=\"1e154c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<section data-kp-uk=\"1\" class=\"kp-product-focus\" data-kp-cacao data-ajax-url=\"https:\/\/www.kanopee.lu\/wp-admin\/admin-ajax.php\">\n\n  <div class=\"kp-product-grid\">\n\n    <button class=\"kp-choice\" data-product=\"feves\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao1.png\" alt=\"\">\n      <span>Cocoa Beans<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"fibre\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao2.png\" alt=\"\">\n      <span>Cocoa Fibre<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"nibs\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao3.png\" alt=\"\">\n      <span>Cocoa Nibs<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"pates\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao4.png\" alt=\"\">\n      <span>Cocoa Mass<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"beurre\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao5.png\" alt=\"\">\n      <span>Cocoa Butter<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"poudres\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/06\/cacao6.png\" alt=\"\">\n      <span>Cocoa Powders<\/span>\n    <\/button>\n\n  <\/div>\n\n  <div class=\"kp-product-panel\">\n    <span class=\"micro-baseline\">Product details<br><br><\/span>\n    <h1 id=\"kp-title\">Cocoa & Derivatives<\/h1>\n\n    <div class=\"kp-product-hero\" id=\"kp-product-hero\" aria-hidden=\"true\">\n      <img decoding=\"async\" id=\"kp-product-hero-image\" src=\"\" alt=\"\">\n    <\/div>\n\n    <div id=\"kp-content\"><\/div>\n\n    <div class=\"kp-gallery-title\" id=\"kp-gallery-title\">Applications<\/div>\n    <div class=\"kp-apps\" id=\"kp-gallery\"><\/div>\n  <\/div>\n\n<\/section>\n\n<div class=\"kp-lightbox\" id=\"kp-lightbox-cacao\" aria-hidden=\"true\">\n  <button class=\"kp-lightbox-close\" type=\"button\" aria-label=\"Close\">\u00d7<\/button>\n  <button class=\"kp-lightbox-prev\" type=\"button\" aria-label=\"Previous image\">\u2039<\/button>\n  <img decoding=\"async\" id=\"kp-lightbox-image-cacao\" src=\"\" alt=\"\">\n  <button class=\"kp-lightbox-next\" type=\"button\" aria-label=\"Next image\">\u203a<\/button>\n<\/div>\n\n<style>\n.kp-product-focus,\n.kp-product-focus *{box-sizing:border-box;}\n\n.kp-product-focus{\n  display:grid;\n  grid-template-columns:25% 75%;\n  gap:18px;\n  align-items:start;\n  width:100%;\n  max-width:100%;\n  overflow:visible;\n}\n\n.kp-product-grid{\n  position:relative;\n  z-index:1;\n  display:grid;\n  grid-template-columns:1fr;\n  gap:14px;\n  padding-top:45px;\n}\n\n.kp-choice{\n  appearance:none;\n  -webkit-appearance:none;\n  position:relative;\n  z-index:1;\n  display:flex;\n  flex-direction:row-reverse;\n  justify-content:space-between;\n  align-items:center;\n  gap:10px;\n  width:100%;\n  min-height:96px;\n  padding:18px 38px 18px 34px;\n  background:rgba(247,244,238,.94) !important;\n  border:0 !important;\n  border-radius:4px !important;\n  cursor:pointer;\n  box-shadow:none !important;\n  overflow:hidden !important;\n  transition:transform .32s ease, background .32s ease, margin-right .32s ease, padding-right .32s ease;\n}\n\n.kp-choice img{\n  width:100px;\n  height:58px;\n  flex:0 0 100px;\n  object-fit:contain;\n  display:block;\n  margin:0;\n  border-radius:0 !important;\n  opacity:1;\n  transition:transform .32s ease, opacity .32s ease, filter .32s ease;\n}\n\n.kp-choice span{\n  flex:1;\n  display:block;\n  text-align:right;\n  padding-right:0;\n  color:#2A2520 !important;\n  font-family:\"Manrope\",sans-serif;\n  font-size:12px;\n  line-height:1.25;\n  font-weight:500;\n  letter-spacing:.03em;\n  text-transform:uppercase;\n  white-space:nowrap;\n  transition:color .32s ease;\n}\n\n.kp-choice:hover{\n  transform:translateX(6px);\n  background:#fff !important;\n}\n\n.kp-choice:hover img,\n.kp-choice.active img{\n  opacity:.7;\n  transform:scale(1.02);\n}\n\n.kp-choice.active{\n  margin-right:-40px;\n  padding-right:46px;\n  background:linear-gradient(145deg,#171412 0%,#241b16 55%,#1a1614 100%) !important;\n  border-radius:4px 0 0 4px !important;\n  transform:none;\n  z-index:2;\n}\n\n.kp-choice.active span{color:#fff !important;}\n\n.kp-choice:after{\n  content:\"\";\n  position:absolute;\n  right:28px;\n  top:50%;\n  width:8px;\n  height:1px;\n  background:rgba(198,168,125,.72);\n  transform:translateY(-50%) scaleX(0);\n  transform-origin:right;\n  transition:transform .28s ease;\n}\n\n.kp-choice:hover:after,\n.kp-choice.active:after{\n  transform:translateY(-50%) scaleX(1);\n}\n\n.kp-product-panel{\n  position:relative;\n  top:0;\n  background:#171412;\n  color:#fff;\n  border-radius:4px;\n  padding:45px 60px;\n  min-height:680px;\n  box-shadow:0 20px 60px rgba(0,0,0,.15),0 6px 18px rgba(0,0,0,.08);\n  overflow:hidden;\n  z-index:5;\n}\n\n.kp-product-panel:before{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  z-index:1;\n  background:linear-gradient(180deg,rgba(23,20,18,.06) 0%,rgba(23,20,18,.12) 48%,rgba(33,25,21,.42) 100%);\n  pointer-events:none;\n}\n\n.kp-product-panel > .micro-baseline,\n.kp-product-panel > h1,\n#kp-content,\n.kp-gallery-title,\n.kp-apps{\n  position:relative;\n  z-index:3;\n}\n\n.kp-product-panel h1{\n  max-width:820px;\n  font-family:\"Manrope\",sans-serif;\n  font-size:55px;\n  font-weight:200;\n  line-height:1.02;\n  letter-spacing:-.03em;\n  margin:0 0 52px;\n  color:#fff;\n}\n\n.kp-product-hero{\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:560px;\n  z-index:0;\n  pointer-events:none;\n  overflow:hidden;\n}\n\n.kp-product-hero img{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  display:block;\n  object-fit:cover;\n  object-position:center center;\n  opacity:1;\n  transform:scale(1);\n  border:0;\n  border-radius:0;\n  box-shadow:none;\n  transition:opacity .38s ease, transform .62s cubic-bezier(.22,.61,.36,1);\n}\n\n.kp-product-hero:after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  background:\n    linear-gradient(90deg,rgba(23,20,18,1) 0%,rgba(23,20,18,.98) 20%,rgba(23,20,18,.82) 42%,rgba(23,20,18,.42) 66%,rgba(23,20,18,.18) 84%,rgba(23,20,18,.08) 100%),\n    linear-gradient(180deg,rgba(23,20,18,.02) 0%,rgba(23,20,18,.16) 38%,rgba(23,20,18,.46) 62%,rgba(23,20,18,.78) 82%,rgba(23,20,18,1) 100%);\n  pointer-events:none;\n}\n\n.kp-product-hero.is-changing img{\n  opacity:0;\n  transform:scale(1.025);\n}\n\n#kp-content{\n  display:block;\n  position:relative;\n  transition:opacity .28s ease, transform .28s ease;\n}\n\n#kp-content:after{\n  content:\"\";\n  display:block;\n  clear:both;\n}\n\n#kp-content.fade{\n  opacity:0;\n  transform:translateY(8px);\n}\n\n.kp-top-copy{\n  width:50%;\n  min-height:0;\n  position:relative;\n  z-index:3;\n  margin-bottom:28px;\n}\n\n.kp-top-copy + h4,\n.kp-top-copy h4:first-child{\n  margin-top:0;\n}\n\n.kp-top-copy p{max-width:100%;}\n\n.kp-product-panel h4{\n  color:#c6a87d;\n  font-family:\"Manrope\",sans-serif;\n  font-size:12px;\n  letter-spacing:.20em;\n  text-transform:uppercase;\n  margin:28px 0 12px;\n}\n\n.kp-product-panel ul{\n  display:grid !important;\n  grid-template-columns:repeat(3,minmax(0,1fr)) !important;\n  gap:8px 20px;\n  margin:0;\n  padding:0;\n  list-style:none;\n}\n\n.kp-product-panel .kp-top-copy ul{\n  grid-template-columns:repeat(2,minmax(0,1fr)) !important;\n}\n\n.kp-product-panel li{\n  position:relative;\n  padding-left:14px;\n  color:rgba(255,255,255,.82);\n  font-family:\"Manrope\",sans-serif;\n  font-size:14px;\n  line-height:1.45;\n  margin:0;\n}\n\n.kp-product-panel li:before{\n  content:\"\";\n  position:absolute;\n  left:0;\n  top:11px;\n  width:4px;\n  height:4px;\n  border-radius:50%;\n  background:#c6a87d;\n}\n\n.kp-product-panel p{\n  color:rgba(255,255,255,.82);\n  font-family:\"Manrope\",sans-serif;\n  font-size:15px;\n  line-height:1.6;\n  margin:0;\n}\n\n.kp-intro-text{\n  font-size:21px !important;\n  line-height:1.75 !important;\n  color:rgba(255,255,255,.88) !important;\n  max-width:780px;\n}\n\n.kp-gallery-title{\n  display:none;\n  color:#c6a87d;\n  font-family:\"Manrope\",sans-serif;\n  font-size:12px;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n  margin-top:36px;\n  margin-bottom:14px;\n}\n\n.kp-gallery-title.is-visible{display:block;}\n\n.kp-apps{\n  display:none;\n  width:100%;\n  max-width:100%;\n  overflow:hidden !important;\n  opacity:1;\n  transition:opacity .3s ease;\n}\n\n.kp-apps.is-visible{display:block;}\n\n.kp-apps,\n.kp-apps *{box-sizing:border-box;}\n\n.kp-app-empty{\n  color:rgba(255,255,255,.62);\n  font-family:\"Manrope\",sans-serif;\n  font-size:14px;\n}\n\n.kp-app-grid{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:14px;\n  width:100%;\n  max-width:100%;\n  overflow:hidden !important;\n}\n\n.kp-apps-viewport{\n  width:100%;\n  max-width:100%;\n  overflow:hidden !important;\n}\n\n.kp-apps-track{\n  display:flex;\n  gap:14px;\n  align-items:stretch;\n  transition:transform .55s cubic-bezier(.22,.61,.36,1);\n  will-change:transform;\n}\n\n.kp-app-card{\n  appearance:none;\n  -webkit-appearance:none;\n  flex:0 0 calc((100% - 28px) \/ 3);\n  min-width:0;\n  height:176px;\n  padding:0 !important;\n  margin:0;\n  border:0 !important;\n  outline:0 !important;\n  background:transparent !important;\n  box-shadow:none !important;\n  border-radius:0 !important;\n  overflow:hidden;\n  cursor:pointer;\n  position:relative;\n}\n\n.kp-app-grid .kp-app-card{\n  width:100%;\n  height:156px;\n  flex:none;\n}\n\n.kp-app-card img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  display:block;\n  border:0 !important;\n  border-radius:0 !important;\n  box-shadow:none !important;\n  opacity:.84;\n  transition:transform .55s ease, opacity .35s ease;\n}\n\n.kp-app-card:before{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  z-index:2;\n  background:rgba(0,0,0,.10);\n  pointer-events:none;\n  transition:opacity .35s ease;\n}\n\n.kp-app-card:hover img{\n  opacity:1;\n  transform:scale(1.055);\n}\n\n.kp-app-card:hover:before{opacity:0;}\n\n.kp-app-arrow{\n  appearance:none;\n  -webkit-appearance:none;\n  position:absolute;\n  top:50%;\n  z-index:6;\n  width:38px;\n  height:54px;\n  padding:0 !important;\n  margin:0;\n  border:0 !important;\n  border-radius:0 !important;\n  background:rgba(23,20,18,.86) !important;\n  color:#fff !important;\n  box-shadow:none !important;\n  cursor:pointer;\n  font-family:Arial,sans-serif;\n  font-size:24px;\n  font-weight:200;\n  line-height:1;\n  opacity:0;\n  transform:translateY(-50%);\n  transition:opacity .25s ease, background .25s ease;\n}\n\n.kp-apps:hover .kp-app-arrow{opacity:1;}\n.kp-app-arrow:hover{background:rgba(23,20,18,1) !important;}\n.kp-app-prev{left:0;}\n.kp-app-next{right:0;}\n.kp-app-arrow:disabled{opacity:0 !important;pointer-events:none;}\n\n.kp-app-dots{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  gap:7px;\n  margin-top:13px;\n}\n\n.kp-app-dot{\n  appearance:none;\n  -webkit-appearance:none;\n  width:18px;\n  height:1px;\n  padding:0 !important;\n  margin:0;\n  border:0 !important;\n  border-radius:0 !important;\n  background:rgba(255,255,255,.20) !important;\n  box-shadow:none !important;\n  cursor:pointer;\n  transition:width .3s ease, background .3s ease;\n}\n\n.kp-app-dot.active{\n  width:28px;\n  background:#c6a87d !important;\n}\n\n.kp-lightbox{\n  position:fixed;\n  inset:0;\n  z-index:99999;\n  background:rgba(10,8,7,.92);\n  display:none;\n  align-items:center;\n  justify-content:center;\n  padding:54px 74px;\n}\n\n.kp-lightbox.active{display:flex;}\n\n.kp-lightbox img{\n  display:block;\n  max-width:86vw;\n  max-height:86vh;\n  width:auto;\n  height:auto;\n  object-fit:contain;\n  border:0 !important;\n  border-radius:0 !important;\n  box-shadow:none !important;\n}\n\n.kp-lightbox-close,\n.kp-lightbox-prev,\n.kp-lightbox-next{\n  appearance:none;\n  -webkit-appearance:none;\n  position:absolute;\n  z-index:2;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  border:1px solid rgba(255,255,255,.22) !important;\n  background:rgba(23,20,18,.72) !important;\n  color:#fff !important;\n  cursor:pointer;\n  opacity:.92;\n  transition:opacity .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;\n}\n\n.kp-lightbox-close:hover,\n.kp-lightbox-prev:hover,\n.kp-lightbox-next:hover{\n  opacity:1;\n  background:rgba(198,168,125,.92) !important;\n  border-color:rgba(198,168,125,.92) !important;\n}\n\n.kp-lightbox-close{\n  top:28px;\n  right:34px;\n  width:46px;\n  height:46px;\n  border-radius:50% !important;\n  font-size:34px;\n  line-height:1;\n  font-weight:200;\n}\n\n.kp-lightbox-prev,\n.kp-lightbox-next{\n  top:50%;\n  width:54px;\n  height:54px;\n  border-radius:50% !important;\n  font-size:44px;\n  line-height:1;\n  font-weight:200;\n  transform:translateY(-50%);\n}\n\n.kp-lightbox-prev{left:34px;}\n.kp-lightbox-next{right:34px;}\n\n@media(max-width:1200px){\n  .kp-product-panel ul,\n  .kp-product-panel .kp-top-copy ul{\n    grid-template-columns:repeat(2,minmax(0,1fr)) !important;\n  }\n}\n\n@media(max-width:1024px){\n  .kp-product-focus{grid-template-columns:1fr;}\n  .kp-product-hero{height:500px;}\n  .kp-top-copy{width:58%;}\n  .kp-product-panel{min-height:auto;}\n  .kp-product-grid{grid-template-columns:repeat(2,1fr);}\n\n  .kp-choice.active{\n    margin-right:0;\n    padding-right:42px;\n    border-radius:4px !important;\n  }\n}\n\n@media(max-width:767px){\n  .kp-lightbox{padding:54px 22px;}\n  .kp-lightbox img{max-width:100%;max-height:78vh;}\n\n  .kp-lightbox-close{\n    top:16px;\n    right:16px;\n    width:42px;\n    height:42px;\n    font-size:30px;\n  }\n\n  .kp-lightbox-prev,\n  .kp-lightbox-next{\n    width:44px;\n    height:44px;\n    font-size:36px;\n  }\n\n  .kp-lightbox-prev{left:12px;}\n  .kp-lightbox-next{right:12px;}\n\n  .kp-product-panel{padding:32px 24px;}\n  .kp-product-panel h1{font-size:38px;}\n\n  .kp-product-hero{\n    position:relative;\n    height:260px;\n    margin:-32px -24px 24px;\n    width:calc(100% + 48px);\n  }\n\n  .kp-product-hero img{\n    object-fit:cover;\n    object-position:center center;\n  }\n\n  .kp-product-hero:after{\n    background:linear-gradient(180deg,rgba(23,20,18,.06) 0%,rgba(23,20,18,.16) 55%,rgba(33,25,21,1) 100%);\n  }\n\n  .kp-top-copy{\n    width:100%;\n    min-height:0;\n    margin-bottom:22px;\n  }\n\n  .kp-top-copy ul,\n  .kp-product-panel .kp-top-copy ul,\n  .kp-product-panel ul{\n    grid-template-columns:1fr !important;\n  }\n\n  .kp-product-grid{grid-template-columns:1fr;}\n  .kp-choice{min-height:auto;}\n  .kp-choice span{white-space:normal;}\n  .kp-app-grid{grid-template-columns:1fr;}\n\n  .kp-app-grid .kp-app-card,\n  .kp-app-card{\n    height:190px;\n    flex-basis:100%;\n  }\n\n  .kp-app-arrow{opacity:1;}\n}\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function(){\n  const root = document.querySelector(\"[data-kp-cacao]\");\n  if (!root) return;\n\n  const ajaxUrl = root.getAttribute(\"data-ajax-url\");\n  const title = root.querySelector(\"#kp-title\");\n  const content = root.querySelector(\"#kp-content\");\n  const gallery = root.querySelector(\"#kp-gallery\");\n  const galleryTitle = root.querySelector(\"#kp-gallery-title\");\n  const hero = root.querySelector(\"#kp-product-hero\");\n  const heroImage = root.querySelector(\"#kp-product-hero-image\");\n  const buttons = root.querySelectorAll(\".kp-choice\");\n\n  const lightbox = document.querySelector(\"#kp-lightbox-cacao\");\n  const lightboxImage = document.querySelector(\"#kp-lightbox-image-cacao\");\n  const lightboxClose = lightbox ? lightbox.querySelector(\".kp-lightbox-close\") : null;\n  const lightboxPrev = lightbox ? lightbox.querySelector(\".kp-lightbox-prev\") : null;\n  const lightboxNext = lightbox ? lightbox.querySelector(\".kp-lightbox-next\") : null;\n\n  let kpCurrentGallery = [];\n  let kpGalleryIndex = 0;\n  let kpSliderIndex = 0;\n  let kpResizeHandler = null;\n  let kpAutoplayTimer = null;\n  let kpActiveKey = \"all\";\n\n  const products = {\n    all: {\n      title: \"Cocoa & Derivatives\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back.jpg\",\n      content: `<div class=\"kp-top-copy\"><p class=\"kp-intro-text\">Kanop\u00e9e offers a comprehensive range of cocoa and derivatives: cocoa beans, cocoa fibre, nibs, cocoa mass, cocoa butter and cocoa powders. Sourced from leading producers and processors, our ingredients deliver quality, traceability, reliable supply and performance for bakery, patisserie, biscuit, chocolate and ice cream manufacturers.<\/p><\/div>`\n    },\n\n    feves: {\n      title: \"Cocoa beans\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-feves.jpg\",\n      content: `\n        <h4>Varieties<\/h4>\n        <ul>\n          <li>Criollo<\/li><li>Forastero<\/li><li>Trinitario<\/li>\n          <li>Replanted heritage varieties<\/li><li>Hybrids \/ Clones: CCN-51, Nacional<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>Agroforestry<\/li>\n          <li>RainForest Alliance<\/li><li>EUDR Compliant<\/li>\n        <\/ul>\n\n        <h4>Packaging<\/h4>\n        <p>60 kg \/ 64 kg \/ 65 kg jute sacks.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Cocoa processors<\/li><li>Industrial chocolate manufacturers<\/li><li>Bean-to-bar chocolate makers<\/li>\n        <\/ul>\n      `\n    },\n\n    fibre: {\n      title: \"Cocoa fibre\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-fibre.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <p>The thin brown shell surrounding the bean, removed during cracking and then micronised.<\/p>\n        <\/div>\n\n        <h4>Characteristics<\/h4>\n        <ul>\n          <li>Natural texturising and thickening ingredient<\/li><li>Low calorie \/ low fat<\/li><li>Source of dietary fibre<\/li>\n          <li>Extends product shelf life<\/li><li>Natural cocoa colour, flavour and aroma<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>RainForest Alliance<\/li><li>EUDR Compliant<\/li>\n        <\/ul>\n\n        <h4>Packaging<\/h4>\n        <p>25 kg sack.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Cereal and nutrition bars<\/li><li>Spreads<\/li><li>Instant powders<\/li>\n          <li>Ice cream, dairy products, beverages<\/li><li>Biscuits, cookies, brownies, waffles<\/li>\n        <\/ul>\n      `\n    },\n\n    nibs: {\n      title: \"Cocoa nibs\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-nibs.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <p>Pieces of cocoa beans, available in a range of options and particle sizes.<\/p>\n        <\/div>\n\n        <h4>Options<\/h4>\n        <ul>\n          <li>Raw nibs<\/li><li>Roasted nibs<\/li><li>Caramelised nibs<\/li>\n          <li>Particle sizes on request: 1\u20133 mm, 2\u20134 mm, 4\u20138 mm<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>RainForest Alliance<\/li><li>EUDR Compliant<\/li>\n        <\/ul>\n\n        <h4>Packaging<\/h4>\n        <p>10 kg bulk carton.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate bars<\/li><li>Patisserie inclusions<\/li><li>Ice cream<\/li>\n        <\/ul>\n      `\n    },\n\n    pates: {\n      title: \"Cocoa mass\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-pates.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <p>Also known as cocoa liquor or cocoa paste. Produced by grinding cocoa beans after roasting and shell removal.<\/p>\n        <\/div>\n\n        <h4>Options \/ Formats<\/h4>\n        <ul>\n          <li>Natural<\/li><li>Alkalised<\/li><li>Particle sizes from 60 \u00b5m to below 20 \u00b5m<\/li>\n          <li>Melting blocks<\/li><li>Melting callets \/ chips<\/li><li>Micronised powder<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>Low Cadmium \/ Low Nickel<\/li>\n        <\/ul>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate manufacturing<\/li><li>Pastries and desserts<\/li><li>Traditional hot chocolate<\/li>\n        <\/ul>\n      `\n    },\n\n    beurre: {\n      title: \"Cocoa butter\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-beurre.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <p>Also known as cocoa fat. Extracted by pressing cocoa mass.<\/p>\n        <\/div>\n\n        <h4>Options \/ Formats<\/h4>\n        <ul>\n          <li>Natural<\/li><li>Deodorised<\/li><li>Melting blocks<\/li><li>Melting callets \/ chips<\/li><li>Micronised powder<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>Low Cadmium \/ Low Nickel<\/li>\n        <\/ul>\n\n        <h4>Packaging<\/h4>\n        <p>25 kg & 20 kg cartons; 10 kg & 5 kg bulk cartons; 3 kg bucket.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate making<\/li><li>Pastries and desserts<\/li><li>Ice cream and coatings<\/li><li>Cosmetics<\/li>\n        <\/ul>\n      `\n    },\n\n    poudres: {\n      title: \"Cocoa powders\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/cacao-back-poudres.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <p>Produced by pulverising cocoa press cake.<\/p>\n        <\/div>\n\n        <h4>Options<\/h4>\n        <ul>\n          <li>Natural \/ alkalised \/ lecithinated<\/li><li>Cocoa powder 0%<\/li><li>Cocoa powder 6\/8%<\/li>\n          <li>Cocoa powder 10\/12%<\/li><li>Cocoa powder 20\/22%<\/li><li>Cocoa powder 22\/24%<\/li>\n        <\/ul>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>Low Cadmium \/ Low Nickel<\/li>\n        <\/ul>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate couvertures<\/li><li>Compound coatings \/ Vegecao<\/li><li>Fat-based or water-based fillings<\/li>\n          <li>Beverages, ice cream, entremets<\/li><li>Pastries and viennoiserie<\/li>\n        <\/ul>\n      `\n    }\n  };\n\n  function getCardsPerView(){\n    if (window.innerWidth <= 767) return 1;\n    return 3;\n  }\n\n  function stopAutoplay(){\n    if (kpAutoplayTimer) {\n      clearInterval(kpAutoplayTimer);\n      kpAutoplayTimer = null;\n    }\n  }\n\n  function openLightbox(index){\n    if (!kpCurrentGallery.length || !lightbox) return;\n\n    stopAutoplay();\n    kpGalleryIndex = index;\n    setLightboxImage(kpGalleryIndex);\n    lightbox.classList.add(\"active\");\n    lightbox.setAttribute(\"aria-hidden\", \"false\");\n    document.documentElement.style.overflow = \"hidden\";\n  }\n\n  function closeLightbox(){\n    if (!lightbox) return;\n\n    lightbox.classList.remove(\"active\");\n    lightbox.setAttribute(\"aria-hidden\", \"true\");\n    lightboxImage.src = \"\";\n    lightboxImage.alt = \"\";\n    document.documentElement.style.overflow = \"\";\n\n    if (kpActiveKey !== \"all\") {\n      startAutoplay();\n    }\n  }\n\n  function changeLightbox(direction){\n    if (!kpCurrentGallery.length) return;\n\n    kpGalleryIndex += direction;\n\n    if (kpGalleryIndex < 0) {\n      kpGalleryIndex = kpCurrentGallery.length - 1;\n    }\n\n    if (kpGalleryIndex >= kpCurrentGallery.length) {\n      kpGalleryIndex = 0;\n    }\n\n    setLightboxImage(kpGalleryIndex);\n  }\n\n  function getFullSrc(item){\n    return item && typeof item === \"object\" ? item.full : item;\n  }\n\n  function getThumbSrc(item){\n    return item && typeof item === \"object\" ? (item.thumb || item.full) : item;\n  }\n\n  function getAltText(item){\n    return item && typeof item === \"object\" && item.alt ? item.alt : \"Application Kanop\u00e9e\";\n  }\n\n  function setLightboxImage(index){\n    const item = kpCurrentGallery[index];\n    lightboxImage.src = getFullSrc(item);\n    lightboxImage.alt = getAltText(item);\n  }\n\n  function createCard(item, index){\n    const card = document.createElement(\"button\");\n    card.className = \"kp-app-card\";\n    card.type = \"button\";\n    card.setAttribute(\"aria-label\", \"View \" + getAltText(item));\n\n    const img = document.createElement(\"img\");\n    img.src = getThumbSrc(item);\n    img.alt = getAltText(item);\n    img.loading = \"lazy\";\n    img.decoding = \"async\";\n\n    card.appendChild(img);\n\n    card.addEventListener(\"click\", function(){\n      openLightbox(index);\n    });\n\n    return card;\n  }\n\n  function clearResizeHandler(){\n    if (kpResizeHandler) {\n      window.removeEventListener(\"resize\", kpResizeHandler);\n      kpResizeHandler = null;\n    }\n  }\n\n  function renderGalleryGrid(images){\n    gallery.style.opacity = \"1\";\n    clearResizeHandler();\n    stopAutoplay();\n\n    if (!images.length) {\n      gallery.innerHTML = '<div class=\"kp-app-empty\">No images available for this selection.<\/div>';\n      return;\n    }\n\n    const grid = document.createElement(\"div\");\n    grid.className = \"kp-app-grid\";\n\n    images.slice(0, 9).forEach(function(item, index){\n      grid.appendChild(createCard(item, index));\n    });\n\n    gallery.innerHTML = \"\";\n    gallery.appendChild(grid);\n  }\n\n  function renderGallerySlider(images){\n    gallery.style.opacity = \"1\";\n    clearResizeHandler();\n    stopAutoplay();\n\n    if (!images.length) {\n      gallery.innerHTML = '<div class=\"kp-app-empty\">No images available for this selection.<\/div>';\n      return;\n    }\n\n    const viewport = document.createElement(\"div\");\n    viewport.className = \"kp-apps-viewport\";\n\n    const track = document.createElement(\"div\");\n    track.className = \"kp-apps-track\";\n\n    images.forEach(function(item, index){\n      track.appendChild(createCard(item, index));\n    });\n\n    viewport.appendChild(track);\n\n    const prev = document.createElement(\"button\");\n    prev.className = \"kp-app-arrow kp-app-prev\";\n    prev.type = \"button\";\n    prev.setAttribute(\"aria-label\", \"Previous applications\");\n    prev.textContent = \"\u2039\";\n\n    const next = document.createElement(\"button\");\n    next.className = \"kp-app-arrow kp-app-next\";\n    next.type = \"button\";\n    next.setAttribute(\"aria-label\", \"Next applications\");\n    next.textContent = \"\u203a\";\n\n    const dots = document.createElement(\"div\");\n    dots.className = \"kp-app-dots\";\n\n    gallery.innerHTML = \"\";\n    gallery.appendChild(viewport);\n    gallery.appendChild(prev);\n    gallery.appendChild(next);\n    gallery.appendChild(dots);\n\n    function updateSlider(){\n      const cardsPerView = getCardsPerView();\n      const maxIndex = Math.max(0, images.length - cardsPerView);\n\n      kpSliderIndex = Math.max(0, Math.min(kpSliderIndex, maxIndex));\n\n      const target = track.querySelectorAll(\".kp-app-card\")[kpSliderIndex];\n      const offset = target ? target.offsetLeft : 0;\n\n      track.style.transform = \"translateX(-\" + offset + \"px)\";\n\n      prev.disabled = maxIndex <= 0;\n      next.disabled = maxIndex <= 0;\n\n      dots.innerHTML = \"\";\n\n      if (maxIndex > 0) {\n        for (let i = 0; i <= maxIndex; i++) {\n          const dot = document.createElement(\"button\");\n          dot.className = \"kp-app-dot\" + (i === kpSliderIndex ? \" active\" : \"\");\n          dot.type = \"button\";\n          dot.setAttribute(\"aria-label\", \"Go to group \" + (i + 1));\n\n          dot.addEventListener(\"click\", function(){\n            kpSliderIndex = i;\n            updateSlider();\n            restartAutoplay();\n          });\n\n          dots.appendChild(dot);\n        }\n      }\n    }\n\n    function nextSlideLoop(step){\n      const cardsPerView = getCardsPerView();\n      const maxIndex = Math.max(0, images.length - cardsPerView);\n\n      if (maxIndex <= 0) return;\n\n      kpSliderIndex = kpSliderIndex + step;\n\n      if (kpSliderIndex > maxIndex) {\n        kpSliderIndex = 0;\n      }\n\n      updateSlider();\n    }\n\n    function startAutoplayLocal(){\n      stopAutoplay();\n\n      const maxIndex = Math.max(0, images.length - getCardsPerView());\n\n      if (maxIndex <= 0) return;\n\n      kpAutoplayTimer = setInterval(function(){\n        nextSlideLoop(1);\n      }, 7000);\n    }\n\n    function restartAutoplay(){\n      startAutoplayLocal();\n    }\n\n    window.startAutoplayCocoa = startAutoplayLocal;\n\n    prev.addEventListener(\"click\", function(){\n      const maxIndex = Math.max(0, images.length - getCardsPerView());\n\n      if (maxIndex <= 0) return;\n\n      kpSliderIndex = kpSliderIndex <= 0 ? maxIndex : kpSliderIndex - 1;\n      updateSlider();\n      restartAutoplay();\n    });\n\n    next.addEventListener(\"click\", function(){\n      nextSlideLoop(1);\n      restartAutoplay();\n    });\n\n    gallery.addEventListener(\"mouseenter\", stopAutoplay);\n    gallery.addEventListener(\"mouseleave\", startAutoplayLocal);\n\n    kpResizeHandler = function(){\n      updateSlider();\n      restartAutoplay();\n    };\n\n    window.addEventListener(\"resize\", kpResizeHandler);\n\n    requestAnimationFrame(function(){\n      updateSlider();\n      startAutoplayLocal();\n    });\n  }\n\n  function startAutoplay(){\n    if (typeof window.startAutoplayCocoa === \"function\") {\n      window.startAutoplayCocoa();\n    }\n  }\n\n  function loadGallery(productKey){\n    gallery.style.opacity = \"0\";\n    galleryTitle.classList.add(\"is-visible\");\n    gallery.classList.add(\"is-visible\");\n    gallery.innerHTML = '<div class=\"kp-app-empty\">Loading applications...<\/div>';\n\n    fetch(ajaxUrl + \"?kp_lang=en&action=kp_cacao_gallery&product=\" + encodeURIComponent(productKey))\n      .then(function(response){\n        return response.json();\n      })\n      .then(function(payload){\n        const images = payload && payload.success && payload.data && payload.data.images ? payload.data.images : [];\n        const mode = payload && payload.success && payload.data && payload.data.mode ? payload.data.mode : \"slider\";\n\n        kpCurrentGallery = images;\n        kpGalleryIndex = 0;\n        kpSliderIndex = 0;\n\n        if (mode === \"global\") {\n          renderGalleryGrid(images);\n        } else {\n          renderGallerySlider(images);\n        }\n      })\n      .catch(function(){\n        kpCurrentGallery = [];\n        renderGalleryGrid([]);\n      });\n  }\n\n  function updateProduct(key){\n    if (key === kpActiveKey) return;\n\n    kpActiveKey = key;\n\n    const data = products[key] || products.all;\n\n    content.classList.add(\"fade\");\n    gallery.style.opacity = \"0\";\n    hero.classList.add(\"is-changing\");\n\n    setTimeout(function(){\n      title.textContent = data.title;\n      content.innerHTML = data.content;\n\n      heroImage.src = data.hero || \"\";\n      heroImage.alt = data.title || \"\";\n\n      content.classList.remove(\"fade\");\n      hero.classList.remove(\"is-changing\");\n\n      loadGallery(key);\n    }, 180);\n  }\n\n  function activateButton(button){\n    const key = button.dataset.product;\n\n    buttons.forEach(function(item){\n      item.classList.remove(\"active\");\n    });\n\n    button.classList.add(\"active\");\n    updateProduct(key);\n  }\n\n  buttons.forEach(function(btn){\n    btn.addEventListener(\"mouseenter\", function(){\n      activateButton(btn);\n    });\n\n    btn.addEventListener(\"focus\", function(){\n      activateButton(btn);\n    });\n\n    btn.addEventListener(\"click\", function(){\n      activateButton(btn);\n    });\n  });\n\n  if (lightboxClose) {\n    lightboxClose.addEventListener(\"click\", closeLightbox);\n  }\n\n  if (lightboxPrev) {\n    lightboxPrev.addEventListener(\"click\", function(event){\n      event.stopPropagation();\n      changeLightbox(-1);\n    });\n  }\n\n  if (lightboxNext) {\n    lightboxNext.addEventListener(\"click\", function(event){\n      event.stopPropagation();\n      changeLightbox(1);\n    });\n  }\n\n  if (lightbox) {\n    lightbox.addEventListener(\"click\", function(event){\n      if (event.target === lightbox) {\n        closeLightbox();\n      }\n    });\n  }\n\n  document.addEventListener(\"keydown\", function(event){\n    if (!lightbox || !lightbox.classList.contains(\"active\")) return;\n\n    if (event.key === \"Escape\") {\n      closeLightbox();\n    }\n\n    if (event.key === \"ArrowLeft\") {\n      changeLightbox(-1);\n    }\n\n    if (event.key === \"ArrowRight\") {\n      changeLightbox(1);\n    }\n  });\n\n  kpActiveKey = \"\";\n  updateProduct(\"all\");\n});\n<\/script>\n\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-aed7b72 e-con-full e-flex e-con e-parent\" data-id=\"aed7b72\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-4713ccb e-con-full e-flex e-con e-child\" data-id=\"4713ccb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-00edf52 e-con-full e-flex e-con e-child\" data-id=\"00edf52\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-51265a3 e-con-full e-flex e-con e-child\" data-id=\"51265a3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ffdee8b elementor-widget elementor-widget-text-editor\" data-id=\"ffdee8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<span class=\"micro-baseline\">OUR APPROACH <\/span>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91c4a93 elementor-widget elementor-widget-heading\" data-id=\"91c4a93\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Performance, quality, and innovation<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ac5aee e-con-full animated-fast e-flex e-con e-child\" data-id=\"4ac5aee\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;,&quot;animation_delay&quot;:200,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-fcff4c9 e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"fcff4c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;animation_delay&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2812a39 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"2812a39\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-globe-americas\" viewBox=\"0 0 496 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8eae725 elementor-widget elementor-widget-text-editor\" data-id=\"8eae725\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">International network<br\/>of selected<br\/>producers<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0503972 e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"0503972\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;animation_delay&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41cf29a elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"41cf29a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-check-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43a11df elementor-widget elementor-widget-text-editor\" data-id=\"43a11df\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Quality\n&#038; traceability<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-858d7f2 e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"858d7f2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;animation_delay&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c5fd1d elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"4c5fd1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-sliders-h\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e6f0d8 elementor-widget elementor-widget-text-editor\" data-id=\"5e6f0d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Solutions adapted to\nyour business\nconstraints<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0add0c2 e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"0add0c2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;animation_delay&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d6a8953 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"d6a8953\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-truck-loading\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a643703 elementor-widget elementor-widget-text-editor\" data-id=\"a643703\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Logistical flexibility &#038; packaging<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-da6a89c e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"da6a89c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;animation_delay&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8beee47 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"8beee47\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-flask\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9576ce4 elementor-widget elementor-widget-text-editor\" data-id=\"9576ce4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Formulation &#038; sourcing support<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2cc8a3d e-con-full e-flex e-con e-parent\" data-id=\"2cc8a3d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-2ba8c4a e-flex e-con-boxed e-con e-child\" data-id=\"2ba8c4a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ebe2a0b e-con-full e-flex e-con e-child\" data-id=\"ebe2a0b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f78df1 elementor-widget elementor-widget-heading\" data-id=\"6f78df1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A specific need?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2596f11 elementor-widget elementor-widget-text-editor\" data-id=\"2596f11\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong><span style=\"color: #ffffff;\">Our team supports you in identifying, sourcing, and developing solutions tailored to your needs.<\/span><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40b438b elementor-align-center elementor-invisible elementor-widget elementor-widget-button\" data-id=\"40b438b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:&quot;500&quot;,&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact us<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Products \/ Cocoa &#038; Derivatives Cocoa &amp; Derivatives A range designed to cover all needs; from industrial standards available in multiple forms to the most distinctive aromatic signatures. TERROIRS &amp; ORIGINES Distinctive aromatics SUSTAINABLE COMMITMENTS Agroforestry initiatives CERTIFIED SUPPLY CHAINS Traceability, EUDR compliant DIVERSE NEEDS Wide range of solutions OUR APPROACH Performance, quality, and innovation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4545,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4569","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cocoa and Derivatives for the Food Industry | Kanop\u00e9e<\/title>\n<meta name=\"description\" content=\"Discover Kanop\u00e9e&#039;s cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cocoa and Derivatives for the Food Industry | Kanop\u00e9e\" \/>\n<meta property=\"og:description\" content=\"Discover Kanop\u00e9e&#039;s cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/\" \/>\n<meta property=\"og:site_name\" content=\"Kanop\u00e9e\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T14:31:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/09\/Kanopee-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/cocoa-derivatives\\\/\",\"url\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/cocoa-derivatives\\\/\",\"name\":\"Cocoa and Derivatives for the Food Industry | Kanop\u00e9e\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#website\"},\"datePublished\":\"2026-05-20T09:42:34+00:00\",\"dateModified\":\"2026-11-12T14:31:43+00:00\",\"description\":\"Discover Kanop\u00e9e's cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/cocoa-derivatives\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/cocoa-derivatives\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/cocoa-derivatives\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Products\",\"item\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cocoa &#038; Derivatives\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/\",\"name\":\"Kanop\u00e9e\",\"description\":\"Une vision globale du sourcing agroalimentaire\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#organization\"},\"alternateName\":\"Kanopee\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#organization\",\"name\":\"Kanop\u00e9e\",\"url\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.kanopee.lu\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Kanopee-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.kanopee.lu\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Kanopee-logo.jpg\",\"width\":1200,\"height\":675,\"caption\":\"Kanop\u00e9e\"},\"image\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cocoa and Derivatives for the Food Industry | Kanop\u00e9e","description":"Discover Kanop\u00e9e's cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/","og_locale":"en_US","og_type":"article","og_title":"Cocoa and Derivatives for the Food Industry | Kanop\u00e9e","og_description":"Discover Kanop\u00e9e's cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.","og_url":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/","og_site_name":"Kanop\u00e9e","article_modified_time":"2026-11-12T14:31:43+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/09\/Kanopee-logo.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/","url":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/","name":"Cocoa and Derivatives for the Food Industry | Kanop\u00e9e","isPartOf":{"@id":"https:\/\/www.kanopee.lu\/en\/#website"},"datePublished":"2026-05-20T09:42:34+00:00","dateModified":"2026-11-12T14:31:43+00:00","description":"Discover Kanop\u00e9e's cocoa and derivative solutions: selected origins, varied aromatic profiles, traceable supply chains, and tailored responses for industrial players.","breadcrumb":{"@id":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.kanopee.lu\/en\/products\/cocoa-derivatives\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.kanopee.lu\/en\/"},{"@type":"ListItem","position":2,"name":"Products","item":"https:\/\/www.kanopee.lu\/en\/products\/"},{"@type":"ListItem","position":3,"name":"Cocoa &#038; Derivatives"}]},{"@type":"WebSite","@id":"https:\/\/www.kanopee.lu\/en\/#website","url":"https:\/\/www.kanopee.lu\/en\/","name":"Kanop\u00e9e","description":"Une vision globale du sourcing agroalimentaire","publisher":{"@id":"https:\/\/www.kanopee.lu\/en\/#organization"},"alternateName":"Kanopee","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kanopee.lu\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.kanopee.lu\/en\/#organization","name":"Kanop\u00e9e","url":"https:\/\/www.kanopee.lu\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kanopee.lu\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/09\/Kanopee-logo.jpg","contentUrl":"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/09\/Kanopee-logo.jpg","width":1200,"height":675,"caption":"Kanop\u00e9e"},"image":{"@id":"https:\/\/www.kanopee.lu\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/comments?post=4569"}],"version-history":[{"count":1,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4569\/revisions"}],"predecessor-version":[{"id":4582,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4569\/revisions\/4582"}],"up":[{"embeddable":true,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4545"}],"wp:attachment":[{"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/media?parent=4569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}