{"id":4583,"date":"2026-06-29T14:20:42","date_gmt":"2026-06-29T12:20:42","guid":{"rendered":"https:\/\/www.kanopee.lu\/products\/chocolates-specialties\/"},"modified":"2026-11-12T15:31:49","modified_gmt":"2026-11-12T14:31:49","slug":"chocolates-specialties","status":"publish","type":"page","link":"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/","title":{"rendered":"Chocolates &#038; Specialties"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4583\" class=\"elementor elementor-4583 elementor-3031\" 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 \/ Chocolates &#038; Specialties<\/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\">Chocolates <br \/>&amp; Specialties<\/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\">From benchmarking a mainstream recipe to designing an exclusive one, we support you with solutions tailored to your applications, industrial constraints, and market positioning.<\/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=\"Custom production\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-palette\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"><\/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\tCustom production\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\tTailored rheology\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=\"Multiple variations \">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-project-diagram\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"><\/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\tMultiple variations \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\tliquid, solid, powder\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=\"Controlled supply chains \">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-file-contract\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"><\/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\tControlled 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=\"Certified production \">\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 production \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\tOrganic, Fair Trade, Kosher...\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-040098f elementor-widget elementor-widget-shortcode\" data-id=\"040098f\" 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-chocolats 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=\"noir\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/chocolat-noir.png\" alt=\"\">\n      <span>Dark Chocolate<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"lait\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/chocolat-lait.png\" alt=\"\">\n      <span>Milk Chocolate<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"blanc\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/chocolat-blanc.png\" alt=\"\">\n      <span>White Chocolate<\/span>\n    <\/button>\n\n    <button class=\"kp-choice\" data-product=\"specialites\" type=\"button\">\n      <img decoding=\"async\" src=\"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/07\/chocolat-specialites2.png\" alt=\"\">\n      <span>Chocolate Specialities<\/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\">Chocolate & Specialities<\/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\" 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\" 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 *{\n  box-sizing:border-box;\n}\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\/* LISTE PRODUITS *\/\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{\n  color:#fff !important;\n}\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\/* DETAIL PRODUIT *\/\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(\n    180deg,\n    rgba(23,20,18,.06) 0%,\n    rgba(23,20,18,.12) 48%,\n    rgba(33,25,21,.42) 100%\n  );\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\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\/* VISUEL PRODUIT DYNAMIQUE *\/\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(\n      90deg,\n      rgba(23,20,18,1) 0%,\n      rgba(23,20,18,.98) 20%,\n      rgba(23,20,18,.82) 42%,\n      rgba(23,20,18,.42) 66%,\n      rgba(23,20,18,.18) 84%,\n      rgba(23,20,18,.08) 100%\n    ),\n    linear-gradient(\n      180deg,\n      rgba(23,20,18,.02) 0%,\n      rgba(23,20,18,.16) 38%,\n      rgba(23,20,18,.46) 62%,\n      rgba(23,20,18,.78) 82%,\n      rgba(23,20,18,1) 100%\n    );\n  pointer-events:none;\n}\n\n.kp-product-hero.is-changing img{\n  opacity:0;\n  transform:scale(1.025);\n}\n\n\/* CONTENU *\/\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  margin-top:0;\n}\n\n.kp-top-copy h4:first-child{\n  margin-top:0;\n}\n\n.kp-top-copy p{\n  max-width:100%;\n}\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\/* APPLICATIONS *\/\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{\n  display:block;\n}\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{\n  display:block;\n}\n\n.kp-apps,\n.kp-apps *{\n  box-sizing:border-box;\n}\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{\n  opacity:0;\n}\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{\n  opacity:1;\n}\n\n.kp-app-arrow:hover{\n  background:rgba(23,20,18,1) !important;\n}\n\n.kp-app-prev{\n  left:0;\n}\n\n.kp-app-next{\n  right:0;\n}\n\n.kp-app-arrow:disabled{\n  opacity:0 !important;\n  pointer-events:none;\n}\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\/* LIGHTBOX *\/\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{\n  display:flex;\n}\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{\n  left:34px;\n}\n\n.kp-lightbox-next{\n  right:34px;\n}\n\n@media(max-width:767px){\n  .kp-lightbox{\n    padding:54px 22px;\n  }\n\n  .kp-lightbox img{\n    max-width:100%;\n    max-height:78vh;\n  }\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{\n    left:12px;\n  }\n\n  .kp-lightbox-next{\n    right:12px;\n  }\n}\n\n\/* RESPONSIVE *\/\n\n@media(max-width:1200px){\n  .kp-product-panel ul{\n    grid-template-columns:repeat(2,minmax(0,1fr)) !important;\n  }\n\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{\n    grid-template-columns:1fr;\n  }\n\n  .kp-product-hero{\n    height:500px;\n  }\n\n  .kp-top-copy{\n    width:58%;\n  }\n\n  .kp-product-panel{\n    min-height:auto;\n  }\n\n  .kp-product-grid{\n    grid-template-columns:repeat(2,1fr);\n  }\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-product-panel{\n    padding:32px 24px;\n  }\n\n  .kp-product-panel h1{\n    font-size:38px;\n  }\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(\n      180deg,\n      rgba(23,20,18,.06) 0%,\n      rgba(23,20,18,.16) 55%,\n      rgba(33,25,21,1) 100%\n    );\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{\n    grid-template-columns:1fr;\n  }\n\n  .kp-choice{\n    min-height:auto;\n  }\n\n  .kp-choice span{\n    white-space:normal;\n  }\n\n  .kp-app-grid{\n    grid-template-columns:1fr;\n  }\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{\n    opacity:1;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function(){\n  const root = document.querySelector(\"[data-kp-chocolats]\");\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\");\n  const lightboxImage = document.querySelector(\"#kp-lightbox-image\");\n  const lightboxClose = document.querySelector(\".kp-lightbox-close\");\n  const lightboxPrev = document.querySelector(\".kp-lightbox-prev\");\n  const lightboxNext = document.querySelector(\".kp-lightbox-next\");\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: \"Chocolate & Specialities\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/08\/Choco-back5.jpg\",\n      content: `<div class=\"kp-top-copy\"><p class=\"kp-intro-text\">Every application is unique. We offer an extensive range of chocolate recipes in a wide variety of formats, sensory profiles and certifications, providing each customer with a solution tailored to their technical, regulatory and marketing requirements.<\/p><\/div>`\n    },\n\n    noir: {\n      title: \"Dark chocolate\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/08\/Choco-back.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <h4>Commercial descriptions<\/h4>\n          <ul>\n            <li>Chocolate<\/li><li>Dark chocolate<\/li><li>Chocolate couverture<\/li>\n            <li>Bean-to-bar chocolate<\/li><li>Premium chocolate couverture<\/li>\n          <\/ul>\n        <\/div>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications & claims<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>Agroforestry<\/li>\n          <li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>No added sugar<\/li>\n          <li>Vegan<\/li><li>Kosher Dairy \/ Pareve \/ Badatz<\/li><li>Single Origin<\/li>\n          <li>Protein enriched<\/li>\n        <\/ul>\n\n        <h4>Customisation options<\/h4>\n        <p>With or without lecithin, milk or flavouring; cane sugar, coconut sugar and other bespoke formulations.<\/p>\n\n        <h4>Formats<\/h4>\n        <p>Liquid, melting blocks, melting discs \/ callets, micronised powder.<\/p>\n\n        <h4>Packaging<\/h4>\n        <p>Road tanker, 1,000 L Hoyer tank, 5 kg block, 25 kg \/ 10 kg \/ 5 kg bulk carton, 1 kg bag.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate making<\/li><li>Biscuit manufacturing<\/li><li>Viennoiserie<\/li>\n          <li>Patisserie<\/li><li>Ice cream manufacturers<\/li><li>Instant beverages<\/li>\n        <\/ul>\n      `\n    },\n\n    lait: {\n      title: \"Milk chocolate\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/08\/Choco-back2.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <h4>Commercial descriptions<\/h4>\n          <ul>\n            <li>Milk chocolate<\/li><li>Milk chocolate couverture<\/li>\n          <\/ul>\n        <\/div>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications & claims<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>Agroforestry<\/li>\n          <li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>No added sugar<\/li>\n          <li>Vegan<\/li><li>Kosher Dairy \/ Cholov<\/li><li>Single Origin<\/li>\n          <li>Protein enriched<\/li>\n        <\/ul>\n\n        <h4>Customisation options<\/h4>\n        <p>With or without lecithin, milk or flavouring; cane sugar, coconut sugar and other bespoke formulations.<\/p>\n\n        <h4>Formats<\/h4>\n        <p>Liquid, melting blocks, melting discs \/ callets, micronised powder.<\/p>\n\n        <h4>Packaging<\/h4>\n        <p>Road tanker, 1,000 L Hoyer tank, 5 kg block, 25 kg \/ 10 kg \/ 5 kg bulk carton, 1 kg bag.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate making<\/li><li>Confectionery<\/li><li>Biscuit manufacturing<\/li>\n          <li>Viennoiserie<\/li><li>Patisserie<\/li><li>Ice cream manufacturers<\/li>\n          <li>Instant beverages<\/li>\n        <\/ul>\n      `\n    },\n\n    blanc: {\n      title: \"White chocolate\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/08\/Choco-back3.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <h4>Commercial descriptions<\/h4>\n          <ul>\n            <li>Standard white chocolate<\/li><li>White baking chocolate<\/li><li>White chocolate couverture<\/li>\n            <li>Caramelised white chocolate<\/li><li>Coloured or flavoured white chocolate<\/li>\n          <\/ul>\n        <\/div>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications & claims<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>Agroforestry<\/li>\n          <li>RainForest Alliance<\/li><li>EUDR Compliant<\/li><li>No added sugar<\/li>\n          <li>Vegan<\/li><li>Kosher Dairy \/ Cholov<\/li><li>Single Origin<\/li>\n          <li>Protein enriched<\/li>\n        <\/ul>\n\n        <h4>Customisation options<\/h4>\n        <p>With or without lecithin, milk or flavouring; cane sugar, coconut sugar and other bespoke formulations.<\/p>\n\n        <h4>Formats<\/h4>\n        <p>Liquid, melting blocks, melting discs \/ callets, micronised powder.<\/p>\n\n        <h4>Packaging<\/h4>\n        <p>Road tanker, 1,000 L Hoyer tank, 5 kg block, 25 kg \/ 10 kg \/ 5 kg bulk carton, 1 kg bag.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Chocolate making<\/li><li>Confectionery<\/li><li>Biscuit manufacturing<\/li>\n          <li>Viennoiserie<\/li><li>Patisserie<\/li><li>Ice cream manufacturers<\/li>\n          <li>Instant beverages<\/li>\n        <\/ul>\n      `\n    },\n\n    specialites: {\n      title: \"Chocolate specialities\",\n      hero: \"https:\/\/www.kanopee.lu\/wp-content\/uploads\/2026\/08\/Choco-back4.jpg\",\n      content: `\n        <div class=\"kp-top-copy\">\n          <h4>Available options<\/h4>\n          <ul>\n            <li>Blond Chocolate<\/li><li>Dulce de Leche<\/li><li>Ruby Chocolate<\/li>\n            <li>Coloured Chocolate<\/li><li>Flavoured<\/li><li>Marbled<\/li><li>Caramel<\/li><li>au Gianduja\u2026\n          <\/ul>\n        <\/div>\n\n        <h4>Origins<\/h4>\n        <p>South America, Central America, West Africa.<\/p>\n\n        <h4>Available certifications & claims<\/h4>\n        <ul>\n          <li>Organic<\/li><li>Fair Trade<\/li><li>RainForest Alliance<\/li>\n          <li>EUDR Compliant<\/li><li>No added sugar<\/li><li>Vegan<\/li>\n          <li>Kosher Dairy \/ Pareve \/ Badatz<\/li><li>Protein enriched<\/li>\n        <\/ul>\n\n        <h4>Formats<\/h4>\n        <ul>\n          <li>Standard or aerated chips<\/li><li>Standard or aerated chunks<\/li><li>Chocolate batons<\/li>\n          <li>Chocolate shavings<\/li><li>Micro curls<\/li><li>Chocolate pencils<\/li>\n          <li>Chocolate sprinkles<\/li><li>Fine and extra-fine flakes<\/li><li>Options available on request<\/li>\n        <\/ul>\n\n        <h4>Packaging<\/h4>\n        <p>Bulk bag, 25 kg sack, 20 kg \/ 15 kg \/ 10 kg carton, 2.5 kg or 1 kg foodservice bag.<\/p>\n\n        <h4>Applications \/ Markets<\/h4>\n        <ul>\n          <li>Biscuit manufacturing<\/li><li>Viennoiserie<\/li><li>Patisserie<\/li>\n          <li>Ice cream manufacturers<\/li><li>Yoghurts<\/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.startAutoplay = 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.startAutoplay === \"function\") {\n      window.startAutoplay();\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_chocolats_gallery_v3&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 tailored 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 \/ Chocolates &#038; Specialties Chocolates &amp; Specialties From benchmarking a mainstream recipe to designing an exclusive one, we support you with solutions tailored to your applications, industrial constraints, and market positioning. Custom production Tailored rheology Multiple variations liquid, solid, powder Controlled supply chains Traceability, EUDR compliant Certified production Organic, Fair Trade, Kosher&#8230; OUR APPROACH [&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-4583","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>Custom Chocolates and Specialties | Kanop\u00e9e<\/title>\n<meta name=\"description\" content=\"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.\" \/>\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\/chocolates-specialties\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Chocolates and Specialties | Kanop\u00e9e\" \/>\n<meta property=\"og:description\" content=\"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/\" \/>\n<meta property=\"og:site_name\" content=\"Kanop\u00e9e\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T14:31:49+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\\\/chocolates-specialties\\\/\",\"url\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/chocolates-specialties\\\/\",\"name\":\"Custom Chocolates and Specialties | Kanop\u00e9e\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/#website\"},\"datePublished\":\"2026-06-29T12:20:42+00:00\",\"dateModified\":\"2026-11-12T14:31:49+00:00\",\"description\":\"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/chocolates-specialties\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/chocolates-specialties\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kanopee.lu\\\/en\\\/products\\\/chocolates-specialties\\\/#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\":\"Chocolates &#038; Specialties\"}]},{\"@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":"Custom Chocolates and Specialties | Kanop\u00e9e","description":"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.","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\/chocolates-specialties\/","og_locale":"en_US","og_type":"article","og_title":"Custom Chocolates and Specialties | Kanop\u00e9e","og_description":"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.","og_url":"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/","og_site_name":"Kanop\u00e9e","article_modified_time":"2026-11-12T14:31:49+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\/chocolates-specialties\/","url":"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/","name":"Custom Chocolates and Specialties | Kanop\u00e9e","isPartOf":{"@id":"https:\/\/www.kanopee.lu\/en\/#website"},"datePublished":"2026-06-29T12:20:42+00:00","dateModified":"2026-11-12T14:31:49+00:00","description":"From recipe matching to exclusive recipes, Kanop\u00e9e develops chocolates and specialties tailored to your industrial processes and applications.","breadcrumb":{"@id":"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.kanopee.lu\/en\/products\/chocolates-specialties\/#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":"Chocolates &#038; Specialties"}]},{"@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\/4583","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=4583"}],"version-history":[{"count":1,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4583\/revisions"}],"predecessor-version":[{"id":4587,"href":"https:\/\/www.kanopee.lu\/en\/wp-json\/wp\/v2\/pages\/4583\/revisions\/4587"}],"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=4583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}