{"id":303,"date":"2026-10-08T07:12:14","date_gmt":"2026-10-08T12:12:14","guid":{"rendered":"https:\/\/saponixsoap.com\/?page_id=303"},"modified":"2026-10-18T23:07:53","modified_gmt":"2026-10-19T04:07:53","slug":"custom-ingredients-formulas","status":"publish","type":"page","link":"https:\/\/saponixsoap.com\/fr\/custom-ingredients-formulas\/","title":{"rendered":"Ingr\u00e9dients personnalis\u00e9s &amp; formules"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"303\" class=\"elementor elementor-303\">\n\t\t\t\t<div class=\"elementor-element elementor-element-64345f9 e-con e-atomic-element e-flexbox-base e-default-div e-b207a75 \" data-id=\"64345f9\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"64345f9\">\n    \t\t<div class=\"elementor-element elementor-element-3e09902 elementor-widget elementor-widget-html\" data-id=\"3e09902\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>body #masthead,body #colophon,body .entry-header{display:none!important}<\/style>\n<style>\n#spx-site-header{color:#20362a;background:#fff;border-bottom:1px solid #d9e3d9;font:14px\/1.5 Arial,sans-serif;position:relative;z-index:100}\n#spx-site-header *{box-sizing:border-box}\n#spx-site-header a{color:#174b39;text-decoration:none}\n#spx-site-header a:focus-visible,#spx-site-header summary:focus-visible{outline:3px solid #b38948;outline-offset:4px}\n#spx-site-header .spn-wrap{width:min(100% - 40px,1180px);min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}\n#spx-site-header .spn-logo{font:27px\/1.2 Georgia,serif;letter-spacing:-1px}\n#spx-site-header nav{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:700}\n#spx-site-header details{position:relative}\n#spx-site-header summary{cursor:pointer;list-style:none}\n#spx-site-header summary::-webkit-details-marker{display:none}\n#spx-site-header .spn-products summary::after{content:' \u25be'}\n#spx-site-header .spn-drop{position:absolute;top:30px;left:-14px;width:255px;max-height:70vh;overflow:auto;padding:8px;background:#fff;border:1px solid #d9e3d9;border-radius:6px;box-shadow:0 8px 24px #103b2d20}\n#spx-site-header .spn-drop a{display:block;padding:10px;border-bottom:1px solid #edf2ed}\n#spx-site-header .spn-drop a:last-child{border:0}\n#spx-site-header .spn-drop a:hover{background:#eef3eb}\n#spx-site-header .spn-quote{border:1px solid #174b39;border-radius:5px;padding:9px 13px;white-space:nowrap}\n#spx-site-header .spn-mobile{display:none}\n\n@media(max-width:900px){\n #spx-site-header nav{gap:12px;font-size:12px}\n #spx-site-header .spn-wrap{gap:12px}\n}\n@media(max-width:740px){\n #spx-site-header .spn-desktop{display:none}\n #spx-site-header .spn-wrap{min-height:65px;width:calc(100% - 32px)}\n #spx-site-header .spn-logo{font-size:23px}\n #spx-site-header .spn-mobile{display:flex;gap:9px;align-items:center}\n #spx-site-header .spn-quote{font-size:12px;padding:8px}\n #spx-site-header .spn-mobile-menu summary{border:1px solid #d9e3d9;border-radius:5px;padding:8px 10px}\n #spx-site-header .spn-mobile-menu .spn-drop{display:block;right:0;left:auto;top:43px;width:min(280px,calc(100vw - 32px));font-weight:700}\n}\n#spx-site-header summary{min-height:44px;display:flex;align-items:center}\n#spx-site-header .spn-desktop>a:not(.spn-quote){min-height:44px;display:flex;align-items:center}\n<\/style><header id=\"spx-site-header\">\n <div class=\"spn-wrap\">\n  <a class=\"spn-logo\" href=\"https:\/\/saponixsoap.com\/fr\/\">SaponixSoap<\/a>\n  <nav class=\"spn-desktop\" aria-label=\"Navigation principale\">\n   <a href=\"https:\/\/saponixsoap.com\/fr\/\">Accueil<\/a>\n   <details class=\"spn-products\">\n    <summary>Production<\/summary>\n    <div class=\"spn-drop\">\n     <a href=\"https:\/\/saponixsoap.com\/fr\/\">Accueil<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/custom-ingredients-formulas\/\">Ingr\u00e9dients et formules sur mesure<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds\/\">Formes et moules \u00e0 savon sur mesure<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/soap-cleansing-bars-by-use\/\">Savons et pains nettoyants par usage<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/private-label-soap-gift-sets\/\">Savons pour invit\u00e9s et coffrets cadeaux<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/skin-type-market-customization\/\">Personnalisation selon le type de peau et le march\u00e9<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-travel-soaps\/\">Savons pour h\u00f4tels et voyages<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-custom\">Personnalisation<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-factory\">Usine et qualit\u00e9<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-faq\">FAQ<\/a>\n    <\/div>\n   <\/details>\n   <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-custom\">Personnalisation<\/a>\n   <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-factory\">Usine et qualit\u00e9<\/a>\n   <a class=\"spn-resources-link\" href=\"https:\/\/saponixsoap.com\/fr\/resources\/\">Ressources<\/a>\n   <a class=\"spn-quote\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Demander un devis<\/a>\n  <\/nav>\n  <div class=\"spn-mobile\">\n   <a class=\"spn-quote\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Obtenir un devis<\/a>\n   <details class=\"spn-mobile-menu\">\n    <summary>Menu<\/summary>\n    <nav class=\"spn-drop\" aria-label=\"Navigation mobile\">\n     <a href=\"https:\/\/saponixsoap.com\/fr\/\">Accueil<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/custom-ingredients-formulas\/\">Ingr\u00e9dients et formules sur mesure<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds\/\">Formes et moules \u00e0 savon sur mesure<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/soap-cleansing-bars-by-use\/\">Savons et pains nettoyants par usage<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/private-label-soap-gift-sets\/\">Savons pour invit\u00e9s et coffrets cadeaux<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/skin-type-market-customization\/\">Personnalisation selon le type de peau et le march\u00e9<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-travel-soaps\/\">Savons pour h\u00f4tels et voyages<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-custom\">Personnalisation<\/a>\n     <a href=\"https:\/\/saponixsoap.com\/fr\/#sv-factory\">Usine et qualit\u00e9<\/a>\n     <a class=\"spn-resources-link\" href=\"https:\/\/saponixsoap.com\/fr\/resources\/\">Ressources<\/a><a href=\"https:\/\/saponixsoap.com\/fr\/#sv-faq\">FAQ<\/a>\n    <\/nav>\n   <\/details>\n  <\/div>\n <div id=\"trrocket-spot\" class=\"spx-native-header-language\"><div class=\"trrocket-sw trrocket-sw-default\" translate=\"no\"><div class=\"trrocket-dd\"><div class=\"trrocket-dd-anchor\" aria-hidden=\"true\"><span class=\"trrocket-dd-toggle\"><span class=\"trrocket-name trrocket-dd-names\"><span>Fran\u00e7ais<\/span><span>English<\/span><span>Espa\u00f1ol<\/span><span>Deutsch<\/span><span>Portugu\u00eas (BR)<\/span><span>\u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/span><span>\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/span><\/span><span class=\"trrocket-dd-caret\" aria-hidden=\"true\"><svg viewbox=\"0 0 10 6\" width=\"10\" height=\"6\"><path d=\"M1 1l4 4 4-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/span><\/span><\/div><div class=\"trrocket-dd-overlay\"><button type=\"button\" class=\"trrocket-dd-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\"><span class=\"trrocket-name\">Fran\u00e7ais<\/span><span class=\"trrocket-dd-caret\" aria-hidden=\"true\"><svg viewbox=\"0 0 10 6\" width=\"10\" height=\"6\"><path d=\"M1 1l4 4 4-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><\/span><\/button><ul class=\"trrocket-dd-menu\"><li><a href=\"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">English<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/es\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">Espa\u00f1ol<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/de\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">Deutsch<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/pt-br\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">Portugu\u00eas (BR)<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/ru\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">\u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/ar\/wp-json\/wp\/v2\/pages\/303\"><span class=\"trrocket-name\">\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/span><\/a><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/header>\n\t\t\t\t\t<style>\n#spx-formula-page {\n  --spx-green:#174b39;\n  --spx-green-dark:#103b2d;\n  --spx-sage:#edf3ec;\n  --spx-cream:#faf9f5;\n  --spx-ink:#20312a;\n  --spx-muted:#627169;\n  --spx-border:#dce5dc;\n  color:var(--spx-ink);\n  background:#fff;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.6;\n}\n#spx-formula-page *,\n#spx-formula-page *::before,\n#spx-formula-page *::after { box-sizing:border-box; }\n#spx-formula-page .spx-wrap {\n  width:min(1160px,calc(100% - 40px));\n  margin:0 auto;\n}\n#spx-formula-page h1,\n#spx-formula-page h2,\n#spx-formula-page h3,\n#spx-formula-page p { margin-top:0; }\n#spx-formula-page h1,\n#spx-formula-page h2 {\n  font-family:Georgia,\"Times New Roman\",serif;\n  color:var(--spx-green-dark);\n  line-height:1.15;\n  letter-spacing:-.025em;\n}\n#spx-formula-page h1 {\n  font-size:clamp(36px,4.5vw,62px);\n  margin-bottom:20px;\n}\n#spx-formula-page h2 {\n  font-size:clamp(29px,3vw,42px);\n  margin-bottom:14px;\n}\n#spx-formula-page h3 {\n  font-size:19px;\n  line-height:1.3;\n  color:var(--spx-green-dark);\n  margin-bottom:9px;\n}\n#spx-formula-page a { color:inherit; text-decoration:none; }\n#spx-formula-page img {\n  display:block;\n  max-width:100%;\n  opacity:1 !important;\n  filter:none !important;\n  mix-blend-mode:normal !important;\n  transform:none !important;\n}\n#spx-formula-page figure { margin:0; }\n#spx-formula-page figure::before,\n#spx-formula-page figure::after { display:none !important; }\n#spx-formula-page .spx-eyebrow {\n  color:var(--spx-green);\n  font-size:12px;\n  font-weight:700;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n  margin-bottom:15px;\n}\n#spx-formula-page .spx-btn {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  min-height:48px;\n  padding:11px 22px;\n  border-radius:5px;\n  background:var(--spx-green);\n  color:#fff;\n  font-size:15px;\n  font-weight:700;\n  text-align:center;\n  transition:background .2s ease;\n}\n#spx-formula-page .spx-btn:hover,\n#spx-formula-page .spx-btn:focus-visible {\n  background:var(--spx-green-dark);\n  color:#fff;\n}\n#spx-formula-page .spx-breadcrumb {\n  padding:19px 0 5px;\n  font-size:13px;\n  color:var(--spx-muted);\n}\n#spx-formula-page .spx-breadcrumb a:hover { text-decoration:underline; }\n#spx-formula-page .spx-hero { padding:28px 0 52px; }\n#spx-formula-page .spx-hero-grid {\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:52px;\n  align-items:center;\n}\n#spx-formula-page .spx-hero-copy > p:not(.spx-eyebrow) {\n  max-width:580px;\n  color:var(--spx-muted);\n  font-size:17px;\n  margin-bottom:25px;\n}\n#spx-formula-page .spx-hero-image {\n  overflow:hidden;\n  border-radius:8px;\n  background:var(--spx-cream);\n}\n#spx-formula-page .spx-hero-image img {\n  width:100%;\n  aspect-ratio:4 \/ 3;\n  object-fit:cover;\n}\n#spx-formula-page .spx-facts {\n  background:var(--spx-sage);\n  border-top:1px solid var(--spx-border);\n  border-bottom:1px solid var(--spx-border);\n}\n#spx-formula-page .spx-facts-grid {\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n}\n#spx-formula-page .spx-fact {\n  padding:23px 20px;\n  text-align:center;\n  font-size:15px;\n  color:var(--spx-green-dark);\n}\n#spx-formula-page .spx-fact + .spx-fact { border-left:1px solid #d3dfd4; }\n#spx-formula-page .spx-fact strong {\n  display:block;\n  font-size:19px;\n  line-height:1.3;\n}\n#spx-formula-page .spx-fact span {\n  display:block;\n  margin-top:4px;\n  color:var(--spx-muted);\n  font-size:13px;\n}\n#spx-formula-page .spx-categories { padding:43px 0 36px; }\n#spx-formula-page .spx-categories h2 { font-size:27px; margin-bottom:18px; }\n#spx-formula-page .spx-category-grid {\n  display:grid;\n  grid-template-columns:repeat(6,minmax(0,1fr));\n  gap:10px;\n}\n#spx-formula-page .spx-category-item {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  min-height:66px;\n  padding:11px 12px;\n  border:1px solid var(--spx-border);\n  border-radius:6px;\n  background:#fff;\n  color:var(--spx-green-dark);\n  font-size:13px;\n  font-weight:700;\n  line-height:1.3;\n  text-align:center;\n}\n#spx-formula-page .spx-category-item.is-current {\n  border-color:var(--spx-green);\n  background:var(--spx-sage);\n}\n#spx-formula-page .spx-category-item.is-planned { color:#718079; }\n#spx-formula-page .spx-products { padding:38px 0 76px; }\n#spx-formula-page .spx-section-head { max-width:760px; margin-bottom:29px; }\n#spx-formula-page .spx-section-head p {\n  color:var(--spx-muted);\n  font-size:16px;\n  margin-bottom:0;\n}\n#spx-formula-page .spx-product-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:20px;\n}\n#spx-formula-page .spx-product-card {\n  display:flex;\n  flex-direction:column;\n  overflow:hidden;\n  border:1px solid var(--spx-border);\n  border-radius:8px;\n  background:#fff;\n}\n#spx-formula-page .spx-product-photo {\n  background:var(--spx-cream);\n  overflow:hidden;\n}\n#spx-formula-page .spx-product-photo img {\n  width:100%;\n  aspect-ratio:4 \/ 3;\n  object-fit:contain;\n}\n#spx-formula-page .spx-product-copy {\n  display:flex;\n  flex:1;\n  flex-direction:column;\n  padding:22px;\n}\n#spx-formula-page .spx-product-copy p {\n  color:var(--spx-muted);\n  font-size:14px;\n  margin-bottom:17px;\n}\n#spx-formula-page .spx-product-link {\n  align-self:flex-start;\n  margin-top:auto;\n  color:var(--spx-green) !important;\n  font-size:14px;\n  font-weight:700;\n}\n#spx-formula-page .spx-product-link:hover { text-decoration:underline; }\n#spx-formula-page .spx-custom {\n  padding:69px 0;\n  background:var(--spx-sage);\n}\n#spx-formula-page .spx-custom-intro { max-width:760px; }\n#spx-formula-page .spx-custom-intro p { color:var(--spx-muted); }\n#spx-formula-page .spx-options {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:12px;\n  margin-top:27px;\n}\n#spx-formula-page .spx-option {\n  padding:17px;\n  border:1px solid var(--spx-border);\n  border-radius:5px;\n  background:#fff;\n  color:var(--spx-green-dark);\n  font-size:15px;\n  font-weight:700;\n  text-align:center;\n}\n#spx-formula-page .spx-faq { padding:72px 0; }\n#spx-formula-page .spx-faq-list { max-width:850px; }\n#spx-formula-page .spx-faq details { border-bottom:1px solid var(--spx-border); }\n#spx-formula-page .spx-faq summary {\n  padding:19px 3px;\n  color:var(--spx-green-dark);\n  font-size:16px;\n  font-weight:700;\n  cursor:pointer;\n}\n#spx-formula-page .spx-faq details p {\n  color:var(--spx-muted);\n  padding:0 3px 18px;\n  margin-bottom:0;\n}\n#spx-formula-page .spx-quote {\n  padding:60px 0;\n  background:var(--spx-green-dark);\n  color:#fff;\n}\n#spx-formula-page .spx-quote-grid {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  gap:30px;\n}\n#spx-formula-page .spx-quote h2 { color:#fff; margin-bottom:10px; }\n#spx-formula-page .spx-quote p {\n  max-width:670px;\n  margin-bottom:0;\n  color:#e0ece4;\n}\n#spx-formula-page .spx-quote .spx-btn {\n  flex:0 0 auto;\n  background:#fff;\n  color:var(--spx-green-dark);\n}\n#spx-formula-page .spx-quote .spx-btn:hover { background:var(--spx-sage); }\n\n@media (max-width:900px) {\n  #spx-formula-page .spx-hero-grid { gap:28px; }\n  #spx-formula-page .spx-category-grid {\n    grid-template-columns:repeat(3,minmax(0,1fr));\n  }\n  #spx-formula-page .spx-product-grid,\n  #spx-formula-page .spx-options {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n}\n@media (max-width:620px) {\n  #spx-formula-page .spx-wrap { width:min(calc(100% - 32px),480px); }\n  #spx-formula-page .spx-breadcrumb { padding-top:14px; font-size:12px; }\n  #spx-formula-page .spx-hero { padding:20px 0 28px; }\n  #spx-formula-page .spx-hero-grid { grid-template-columns:1fr; gap:23px; }\n  #spx-formula-page h1 {\n    font-size:clamp(34px,9vw,43px);\n    margin-bottom:15px;\n  }\n  #spx-formula-page .spx-hero-copy > p:not(.spx-eyebrow) {\n    font-size:15px;\n    margin-bottom:19px;\n  }\n  #spx-formula-page .spx-hero-image img { aspect-ratio:16 \/ 10; }\n  #spx-formula-page .spx-facts-grid { grid-template-columns:1fr; }\n  #spx-formula-page .spx-fact { padding:15px 14px; min-width:0; overflow-wrap:anywhere; }\n  #spx-formula-page .spx-fact + .spx-fact { border-left:0; border-top:1px solid #d3dfd4; }\n  #spx-formula-page .spx-fact strong { font-size:15px; }\n  #spx-formula-page .spx-fact span { font-size:11px; line-height:1.35; }\n  #spx-formula-page .spx-categories { padding:33px 0 20px; }\n  #spx-formula-page .spx-categories h2 { font-size:25px; }\n  #spx-formula-page .spx-category-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    gap:9px;\n  }\n  #spx-formula-page .spx-category-item {\n    min-height:56px;\n    padding:9px;\n    font-size:13px;\n  }\n  #spx-formula-page .spx-products { padding:31px 0 55px; }\n  #spx-formula-page .spx-product-grid { grid-template-columns:1fr; gap:16px; }\n  #spx-formula-page .spx-product-photo img { aspect-ratio:4 \/ 3; }\n  #spx-formula-page .spx-product-copy { padding:19px; }\n  #spx-formula-page .spx-product-copy p { font-size:14px; }\n  #spx-formula-page .spx-custom,\n  #spx-formula-page .spx-faq { padding:53px 0; }\n  #spx-formula-page .spx-option { padding:13px 8px; font-size:13px; }\n  #spx-formula-page .spx-quote { padding:48px 0; }\n  #spx-formula-page .spx-quote-grid { display:block; }\n  #spx-formula-page .spx-quote .spx-btn { width:100%; margin-top:23px; }\n}\n\n#spx-formula-page { font-size:16px; isolation:isolate; }\n#spx-formula-page button { font:inherit; }\n#spx-formula-page img { height:auto; }\n#spx-formula-page :focus-visible {\n  outline:3px solid #b38948;\n  outline-offset:4px;\n}\n#spx-formula-page .spx-product-copy h3 { min-height:50px; }\n#spx-formula-page .spx-product-title:hover { text-decoration:underline; }\n#spx-formula-page .spx-product-price {\n  font-size:12px;\n  color:var(--spx-green);\n  margin-top:auto;\n  margin-bottom:12px;\n}\n#spx-formula-page .spx-product-actions {\n  display:flex;\n  align-items:center;\n  gap:12px;\n  flex-wrap:wrap;\n}\n#spx-formula-page .spx-quick {\n  min-height:42px;\n  padding:8px 13px;\n  border:1px solid var(--spx-green);\n  border-radius:4px;\n  background:var(--spx-sage);\n  color:var(--spx-green-dark);\n  font-size:13px;\n  font-weight:700;\n  cursor:pointer;\n}\n#spx-formula-page .spx-quick:hover { background:#e0ebdf; }\n#spx-formula-page .spx-product-link {\n  margin-top:0;\n  font-size:12px;\n  min-height:42px;\n  display:inline-flex;\n  align-items:center;\n}\n#spx-formula-page .spx-related {\n  margin:26px 0 0;\n  font-size:13px;\n  color:var(--spx-muted);\n}\n#spx-formula-page .spx-related a {\n  color:var(--spx-green);\n  text-decoration:underline;\n}\n#spx-formula-page .spx-modal {\n  width:min(880px,calc(100vw - 32px));\n  max-height:calc(100dvh - 32px);\n  padding:0;\n  border:1px solid var(--spx-border);\n  border-radius:8px;\n  color:var(--spx-ink);\n  background:#fff;\n  overflow:auto;\n  box-shadow:0 16px 60px #0003;\n}\n#spx-formula-page .spx-modal::backdrop { background:#10281caa; }\n#spx-formula-page .spx-modal-head {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:16px;\n  padding:18px 22px;\n  border-bottom:1px solid var(--spx-border);\n  position:sticky;\n  top:0;\n  background:#fff;\n  z-index:1;\n}\n#spx-formula-page .spx-modal-head h2 { font-size:25px; margin:0; }\n#spx-formula-page .spx-close {\n  flex:none;\n  padding:8px 12px;\n  min-height:40px;\n  border:1px solid var(--spx-border);\n  border-radius:4px;\n  background:#fff;\n  color:var(--spx-green-dark);\n  cursor:pointer;\n  font-size:13px;\n}\n#spx-formula-page .spx-modal-body {\n  display:grid;\n  grid-template-columns:1fr 1.1fr;\n  gap:24px;\n  padding:22px;\n}\n#spx-formula-page .spx-modal-image {\n  width:100%;\n  aspect-ratio:1;\n  object-fit:contain;\n  background:var(--spx-cream);\n  border-radius:5px;\n}\n#spx-formula-page .spx-modal-intro {\n  color:var(--spx-muted);\n  font-size:14px;\n  margin-bottom:15px;\n}\n#spx-formula-page .spx-modal-specs {\n  display:grid;\n  grid-template-columns:108px 1fr;\n  margin:0 0 18px;\n  font-size:13px;\n}\n#spx-formula-page .spx-modal-specs dt,\n#spx-formula-page .spx-modal-specs dd {\n  margin:0;\n  padding:9px 0;\n  border-bottom:1px solid var(--spx-border);\n}\n#spx-formula-page .spx-modal-specs dt {\n  color:var(--spx-green-dark);\n  font-weight:700;\n}\n#spx-formula-page .spx-modal-actions { display:flex; gap:10px; flex-wrap:wrap; }\n#spx-formula-page .spx-btn-secondary {\n  border:1px solid var(--spx-green);\n  background:#fff;\n  color:var(--spx-green-dark);\n}\n#spx-formula-page .spx-btn-secondary:hover {\n  color:var(--spx-green-dark);\n  background:var(--spx-sage);\n}\n#spx-formula-page [hidden] { display:none !important; }\n\n@media (max-width:620px) {\n  #spx-formula-page .spx-product-copy h3 { min-height:0; }\n  #spx-formula-page .spx-modal-body {\n    grid-template-columns:1fr;\n    padding:16px;\n    gap:18px;\n  }\n  #spx-formula-page .spx-modal-head { padding:14px 16px; }\n  #spx-formula-page .spx-modal-head h2 { font-size:21px; }\n  #spx-formula-page .spx-modal {\n    width:calc(100vw - 24px);\n    max-height:calc(100dvh - 24px);\n  }\n  #spx-formula-page .spx-modal-actions .spx-btn { width:100%; }\n}\n@media (prefers-reduced-motion:reduce) {\n  #spx-formula-page * { transition:none !important; }\n}\n\n#spx-formula-page .spx-modal-gallery { min-width:0; }\n#spx-formula-page .spx-gallery-thumbs {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:9px;\n  margin-top:12px;\n}\n#spx-formula-page .spx-gallery-thumb {\n  display:block;\n  width:100%;\n  min-height:44px;\n  margin:0;\n  padding:5px;\n  border:2px solid var(--spx-border);\n  border-radius:5px;\n  background:#fff;\n  cursor:pointer;\n}\n#spx-formula-page .spx-gallery-thumb[aria-pressed=\"true\"] {\n  border-color:var(--spx-green);\n  background:var(--spx-sage);\n}\n#spx-formula-page .spx-gallery-thumb:hover { border-color:var(--spx-green); }\n#spx-formula-page .spx-gallery-thumb img {\n  width:100%;\n  height:auto;\n  aspect-ratio:1;\n  object-fit:contain;\n  border-radius:2px;\n}\n#spx-formula-page .spx-gallery-caption {\n  margin:9px 0 0;\n  color:var(--spx-muted);\n  font-size:12px;\n}\n<\/style>\n\n<div id=\"spx-formula-page\">\n  <div class=\"spx-wrap\">\n    <nav class=\"spx-breadcrumb\" aria-label=\"Fil d\u2019Ariane\">\n      <a href=\"https:\/\/saponixsoap.com\/fr\/\">Accueil<\/a>\n      <span aria-hidden=\"true\"> \/ <\/span>\n      <span aria-current=\"page\">Ingr\u00e9dients et formules sur mesure<\/span>\n    <\/nav>\n  <\/div>\n\n  <section class=\"spx-hero\" aria-labelledby=\"spx-page-title\">\n    <div class=\"spx-wrap spx-hero-grid\">\n      <div class=\"spx-hero-copy\">\n        <p class=\"spx-eyebrow\">Fabrication de savon OEM \/ ODM<\/p>\n        <h1 id=\"spx-page-title\">Formules et ingr\u00e9dients de savon sur mesure<\/h1>\n        <p>\n          D\u00e9veloppez des formules de savon sur mesure pour votre marque avec Saponixsoap. Choisissez les ingr\u00e9dients, le parfum, la couleur, la forme, le poids, le logo ainsi que les emballages int\u00e9rieur et ext\u00e9rieur. Faites-nous part de vos exigences pour \u00e9tudier les options adapt\u00e9es \u00e0 votre projet.\n        <\/p>\n        <a class=\"spx-btn\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">\n          Discuter de votre projet\n        <\/a>\n      <\/div>\n      <figure class=\"spx-hero-image\">\n        <img fetchpriority=\"high\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/01-ingredients-formulas.jpg\" alt=\"Barres de curcuma, lait de ch\u00e8vre, botanique, flocons d'avoine, charbon de bois et de sel de mer illustrant des formules de savon personnalis\u00e9es\" decoding=\"async\" width=\"1200\" height=\"1200\">\n      <\/figure>\n    <\/div>\n  <\/section>\n\n  <section class=\"spx-facts\" aria-label=\"Informations cl\u00e9s du projet\">\n    <div class=\"spx-wrap spx-facts-grid\">\n      <div class=\"spx-fact\">\n        <strong>200 unit\u00e9s<\/strong>\n        <span>Quantit\u00e9 minimale indicative<\/span>\n      <\/div>\n      <div class=\"spx-fact\">\n        <strong>Options d\u2019\u00e9chantillons<\/strong>\n        <span>Modalit\u00e9s d\u2019exp\u00e9dition confirm\u00e9es dans le devis<\/span>\n      <\/div>\n      <div class=\"spx-fact\">\n        <strong>OEM \/ ODM<\/strong>\n        <span>Options de formule et d\u2019emballage<\/span>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <nav class=\"spx-categories\" aria-label=\"Parcourir les cat\u00e9gories de personnalisation\">\n    <div class=\"spx-wrap\">\n      <h2>Parcourir les cat\u00e9gories de personnalisation<\/h2>\n      <div class=\"spx-category-grid\">\n        <span class=\"spx-category-item is-current\" aria-current=\"page\">\n          Ingr\u00e9dients et formules sur mesure\n        <\/span>\n        <a class=\"spx-category-item\" href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds\/\">\n          Formes et moules \u00e0 savon sur mesure\n        <\/a>\n        <a class=\"spx-category-item\" href=\"https:\/\/saponixsoap.com\/fr\/soap-cleansing-bars-by-use\/\">\n          Savons et pains nettoyants par usage\n        <\/a>\n        <a class=\"spx-category-item\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-soap-gift-sets\/\">\n          Savons pour invit\u00e9s et coffrets cadeaux\n        <\/a>\n        <a class=\"spx-category-item\" href=\"https:\/\/saponixsoap.com\/fr\/skin-type-market-customization\/\">\n          Personnalisation selon le type de peau et le march\u00e9\n        <\/a>\n        <a class=\"spx-category-item\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-travel-soaps\/\">\n          Savons pour h\u00f4tels et voyages\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/nav>\n\n  <section class=\"spx-products\" aria-labelledby=\"spx-products-title\">\n    <div class=\"spx-wrap\">\n      <div class=\"spx-section-head\">\n        <p class=\"spx-eyebrow\">Options de produits<\/p>\n        <h2 id=\"spx-products-title\">D\u00e9couvrez nos formules de savon sur mesure<\/h2>\n        <p>\n          D\u00e9couvrez huit bases de projet : savons au curcuma, \u00e0 l\u2019acide kojique, \u00e0 l\u2019aloe vera, \u00e0 l\u2019avoine, au charbon, au sel marin et au lait de ch\u00e8vre, ainsi que des pains nettoyants aux acides amin\u00e9s. Les ingr\u00e9dients, l\u2019aspect et l\u2019emballage d\u00e9finitifs sont confirm\u00e9s lors de la pr\u00e9paration des \u00e9chantillons et du devis.\n        <\/p>\n      <\/div>\n\n      <div class=\"spx-product-grid\">\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-turmeric-soap.jpg\" alt=\"Pain de savon ovale dor\u00e9 au curcuma avec racines et poudre de curcuma\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/turmeric-soap\/\">\n                Savon au curcuma pour marque de distributeur\n              <\/a>\n            <\/h3>\n            <p>Un savon au curcuma pour votre marque. Discutons de la formule, du parfum, de la forme, du logo et de l\u2019emballage.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"turmeric-soap\" aria-label=\"Aper\u00e7u rapide : Savon de curcuma de marque priv\u00e9e\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/turmeric-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-turmeric-soap-detail-01-overview.jpg\" alt=\"Pain de savon ovale dor\u00e9 au curcuma avec racines et poudre de curcuma\" width=\"1200\" height=\"1200\">\n            <img decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-turmeric-soap-detail-02-edge.jpg\" alt=\"Gros plan de la surface dor\u00e9e du savon au curcuma et de son bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-kojic-acid-soap.jpg\" alt=\"Barre de savon rectangulaire \u00e0 l'acide kojique orange sur un fond d'ivoire\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/kojic-acid-soap\/\">\n                Savon \u00e0 l\u2019acide kojique pour marque de distributeur\n              <\/a>\n            <\/h3>\n            <p>\u00c9tudiez un projet de savon \u00e0 l\u2019acide kojique avec la formule, l\u2019aspect, le parfum et l\u2019emballage de votre choix pour votre marque.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"kojic-acid-soap\" aria-label=\"Aper\u00e7u rapide : Savon \u00e0 l'acide kojique de marque priv\u00e9e\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/kojic-acid-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-kojic-acid-soap-detail-01-overview.jpg\" alt=\"Barre de savon rectangulaire \u00e0 l'acide kojique orange avec coins arrondis\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-kojic-acid-soap-detail-02-edge.jpg\" alt=\"Close-up de la surface du savon d'acide kojique orange et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-aloe-vera-soap.jpg\" alt=\"Barre de savon \u00e0 l'aloe vera vert \u00e0 c\u00f4t\u00e9 des feuilles d'alo\u00e8s\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/aloe-vera-soap\/\">Savon \u00e0 l\u2019aloe vera pour marque de distributeur<\/a>\n            <\/h3>\n            <p>Cr\u00e9ez un concept de savon \u00e0 l\u2019aloe vera avec le parfum, la couleur, la forme et l\u2019emballage de votre choix pour votre marque.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"aloe-vera-soap\" aria-label=\"Aper\u00e7u rapide : Savon d'aloe vera\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/aloe-vera-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-aloe-vera-soap-detail-01-overview.jpg\" alt=\"Barre de savon \u00e0 l'aloe vera verte \u00e0 c\u00f4t\u00e9 des feuilles d'alo\u00e8s et du gel\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-aloe-vera-soap-detail-02-edge.jpg\" alt=\"Close-up de la surface du savon d'aloe vera vert et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-oatmeal-soap.jpg\" alt=\"Pain de savon \u00e0 l\u2019avoine rectangulaire de couleur ivoire avec flocons d\u2019avoine\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/oatmeal-soap\/\">Savon \u00e0 l\u2019avoine pour marque de distributeur<\/a>\n            <\/h3>\n            <p>Discutons d\u2019une formule de savon \u00e0 l\u2019avoine et de vos pr\u00e9f\u00e9rences de texture, de forme, de logo et d\u2019emballage.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"oatmeal-soap\" aria-label=\"Aper\u00e7u rapide : Savon \u00e0 l'avoine et marque priv\u00e9e\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/oatmeal-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-oatmeal-soap-detail-01-overview.jpg\" alt=\"Barre de savon \u00e0 l'avoine et aux flocons d'avoine visibles et flocons d'avoine\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-oatmeal-soap-detail-02-edge.jpg\" alt=\"Close-up de la texture du savon \u00e0 l'avoine et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-charcoal-soap.jpg\" alt=\"Pain de savon noir ovale au charbon \u00e0 c\u00f4t\u00e9 de morceaux de charbon\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/charcoal-soap\/\">Savon au charbon pour marque de distributeur<\/a>\n            <\/h3>\n            <p>D\u00e9veloppez un savon au charbon avec une forme, un parfum, un logo et un emballage personnalis\u00e9s.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"charcoal-soap\" aria-label=\"Aper\u00e7u rapide : Savon au charbon de bois de marque priv\u00e9e\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/charcoal-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-charcoal-soap-detail-01-overview.jpg\" alt=\"Pain de savon noir ovale au charbon \u00e0 c\u00f4t\u00e9 de morceaux de charbon\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-charcoal-soap-detail-02-edge.jpg\" alt=\"Close-up de la texture du savon noir au charbon de bois et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-sea-salt-soap.jpg\" alt=\"Barre de savon bleue arrondie au sel de mer \u00e0 c\u00f4t\u00e9 des cristaux de sel\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/sea-salt-soap\/\">Savon au sel marin pour marque de distributeur<\/a>\n            <\/h3>\n            <p>\u00c9tudiez une collection de savons au sel marin avec l\u2019aspect, le parfum et l\u2019emballage de votre choix.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"sea-salt-soap\" aria-label=\"Aper\u00e7u rapide : Savon de sel de mer \u00e0 marque priv\u00e9e\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/sea-salt-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-sea-salt-soap-detail-01-overview.jpg\" alt=\"Barre de savon ronde de sel de mer bleue avec des taches blanches visibles\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-sea-salt-soap-detail-02-edge.jpg\" alt=\"Close-up de la texture du savon de mer bleue et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-goat-milk-soap.jpg\" alt=\"Barre de savon au lait de ch\u00e8vre ovale ivoire \u00e0 c\u00f4t\u00e9 d'un petit plat de lait\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/goat-milk-soap\/\">\n                Savon au lait de ch\u00e8vre pour marque de distributeur\n              <\/a>\n            <\/h3>\n            <p>Partez d\u2019un savon au lait de ch\u00e8vre pour d\u00e9velopper votre gamme de savons personnalis\u00e9s.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"goat-milk-soap\" aria-label=\"Aper\u00e7u rapide : Savon au lait de ch\u00e8vre\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/goat-milk-soap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-goat-milk-soap-detail-01-overview.jpg\" alt=\"Pain de savon ovale au lait de ch\u00e8vre de couleur ivoire \u00e0 c\u00f4t\u00e9 d\u2019une coupelle en verre contenant du lait\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-goat-milk-soap-detail-02-edge.jpg\" alt=\"Gros plan de la surface du savon de lait de ch\u00e8vre ivoire et bord arrondi\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n        <article class=\"spx-product-card\">\n          <figure class=\"spx-product-photo\">\n            <img loading=\"lazy\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-amino-acid-cleansing-bar.jpg\" alt=\"Barre de nettoyage d'acides amin\u00e9s rectangulaire arrondie rose sur un fond d'ivoire\" width=\"1200\" height=\"1200\" decoding=\"async\">\n          <\/figure>\n          <div class=\"spx-product-copy\">\n            <h3>\n              <a class=\"spx-product-title\" href=\"https:\/\/saponixsoap.com\/fr\/amino-acid-cleansing-bar\/\">Pain nettoyant aux acides amin\u00e9s pour marque de distributeur<\/a>\n            <\/h3>\n            <p>Discutons d\u2019un pain nettoyant aux acides amin\u00e9s avec une formule, un parfum, une forme et un emballage adapt\u00e9s \u00e0 votre projet.<\/p>\n            <p class=\"spx-product-price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"spx-product-actions\">\n              <button type=\"button\" class=\"spx-quick\" data-spx-product=\"amino-acid-cleansing-bar\" aria-label=\"Aper\u00e7u rapide: Barre de nettoyage des acides amin\u00e9s Private Label\">Aper\u00e7u rapide<\/button>\n              <a class=\"spx-product-link\" href=\"https:\/\/saponixsoap.com\/fr\/amino-acid-cleansing-bar\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n          <template class=\"spx-gallery-source\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Overview\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-amino-acid-cleansing-bar-detail-01-overview.jpg\" alt=\"Barre de nettoyage des acides amin\u00e9s rose avec coins arrondis\" width=\"1200\" height=\"1200\">\n            <img loading=\"lazy\" decoding=\"async\" data-label=\"Edge detail\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-amino-acid-cleansing-bar-detail-02-edge.jpg\" alt=\"Gros plan de la surface rose et du bord arrondi du pain nettoyant aux acides amin\u00e9s\" width=\"1200\" height=\"1200\">\n          <\/template>\n        <\/article>\n\n      <\/div>\n\n      <p class=\"spx-related\">\n        Related product options:\n        <a href=\"https:\/\/saponixsoap.com\/fr\/bamboo-charcoal-soap\/\">Savon au charbon de bambou<\/a>\n        and\n        <a href=\"https:\/\/saponixsoap.com\/fr\/transparent-amino-acid-soap\/\">Savon transparent aux acides amin\u00e9s<\/a>.\n      <\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"spx-custom\" aria-labelledby=\"spx-custom-title\">\n    <div class=\"spx-wrap\">\n      <div class=\"spx-custom-intro\">\n        <p class=\"spx-eyebrow\">Personnalisation<\/p>\n        <h2 id=\"spx-custom-title\">Cr\u00e9ez une gamme de savons pour votre marque<\/h2>\n        <p>\n          Nous pouvons d\u00e9velopper des formules de savon sur mesure \u00e0 partir de votre \u00e9chantillon de r\u00e9f\u00e9rence ou de votre concept de produit. Nous examinerons vos pr\u00e9f\u00e9rences d\u2019ingr\u00e9dients, de parfum, de forme et d\u2019emballage avant de confirmer les caract\u00e9ristiques pour les \u00e9chantillons et la production.\n        <\/p>\n      <\/div>\n      <div class=\"spx-options\" aria-label=\"Options de personnalisation\">\n        <div class=\"spx-option\">Formule<\/div>\n        <div class=\"spx-option\">Parfum<\/div>\n        <div class=\"spx-option\">Couleur<\/div>\n        <div class=\"spx-option\">Forme et moule<\/div>\n        <div class=\"spx-option\">Poids<\/div>\n        <div class=\"spx-option\">Logo<\/div>\n        <div class=\"spx-option\">Emballage int\u00e9rieur<\/div>\n        <div class=\"spx-option\">Emballage ext\u00e9rieur<\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"spx-faq\" aria-labelledby=\"spx-faq-title\">\n    <div class=\"spx-wrap\">\n      <div class=\"spx-faq-list\">\n        <p class=\"spx-eyebrow\">Questions des acheteurs<\/p>\n        <h2 id=\"spx-faq-title\">Questions fr\u00e9quentes<\/h2>\n\n        <details>\n          <summary>Quelle est la quantit\u00e9 minimale de commande ?<\/summary>\n          <p>La quantit\u00e9 minimale indicative est de 200 unit\u00e9s. Pr\u00e9cisez les types de produits et vos exigences de formule, de moule et d\u2019emballage afin que nous puissions confirmer le minimum pour votre projet.<\/p>\n        <\/details>\n        <details>\n          <summary>Puis-je personnaliser la formule et l\u2019emballage ?<\/summary>\n          <p>Oui. Nous pouvons discuter de la formule, du parfum, de la couleur, de la forme ou du moule, du poids, du logo et des emballages int\u00e9rieur et ext\u00e9rieur. Les caract\u00e9ristiques d\u00e9finitives sont confirm\u00e9es avant la production.<\/p>\n        <\/details>\n        <details>\n          <summary>Puis-je demander un \u00e9chantillon avant de commander ?<\/summary>\n          <p>Oui. Vous pouvez demander des \u00e9chantillons. Le choix des \u00e9chantillons, les frais de d\u00e9veloppement sur mesure et les frais d\u2019exp\u00e9dition sont confirm\u00e9s selon votre projet et votre adresse de livraison.<\/p>\n        <\/details>\n        <details>\n          <summary>Comment obtenir un devis ?<\/summary>\n          <p>Indiquez le type de savon, la quantit\u00e9 estim\u00e9e, les exigences de personnalisation et d\u2019emballage ainsi que le march\u00e9 de destination. Nous examinerons le projet et discuterons du devis avec vous.<\/p>\n        <\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"spx-quote\" aria-labelledby=\"spx-quote-title\">\n    <div class=\"spx-wrap spx-quote-grid\">\n      <div>\n        <h2 id=\"spx-quote-title\">Parlez-nous de votre projet de savon<\/h2>\n        <p>\n          Indiquez le type de savon souhait\u00e9, la quantit\u00e9, vos id\u00e9es de formule et les exigences d\u2019emballage. Nous pourrons discuter des \u00e9chantillons et d\u2019un devis.\n        <\/p>\n      <\/div>\n      <a class=\"spx-btn\" href=\"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20to%20request%20a%20quote%20for%20custom%20soap.\" target=\"_blank\" rel=\"noopener noreferrer\">\n        Demander un devis via WhatsApp\n      <\/a>\n    <\/div>\n  <\/section>\n\n  <div class=\"spx-gallery-caption-labels\" hidden aria-hidden=\"true\"><span>Image principale \u00b7 1 \/ 3<\/span><span>Vue d\u2019ensemble \u00b7 2 \/ 3<\/span><span>D\u00e9tail du bord \u00b7 3 \/ 3<\/span><\/div>\n\n  <dialog class=\"spx-modal\" aria-labelledby=\"spx-modal-title\" aria-describedby=\"spx-modal-description\">\n    <div class=\"spx-modal-head\">\n      <h2 id=\"spx-modal-title\">Aper\u00e7u rapide du produit<\/h2>\n      <button type=\"button\" class=\"spx-close\">Fermer<\/button>\n    <\/div>\n    <div class=\"spx-modal-body\">\n      <div class=\"spx-modal-gallery\">\n        <img loading=\"lazy\" class=\"spx-modal-image\" alt=\"\" width=\"1200\" height=\"1200\" decoding=\"async\">\n        <div class=\"spx-gallery-thumbs\" role=\"group\" aria-label=\"S\u00e9lection des images du produit\"><\/div>\n        <p class=\"spx-gallery-caption\" aria-live=\"polite\" aria-atomic=\"true\"><\/p>\n      <\/div>\n      <div>\n        <p class=\"spx-modal-intro\" id=\"spx-modal-description\"><\/p>\n        <dl class=\"spx-modal-specs\">\n          <dt>Quantit\u00e9 minimale indicative<\/dt>\n          <dd>200 unit\u00e9s ; \u00e0 confirmer pour votre projet<\/dd>\n          <dt>Prix<\/dt>\n          <dd>Devis selon la quantit\u00e9 et la personnalisation<\/dd>\n          <dt>Sp\u00e9cifications<\/dt>\n          <dd>Formule, poids et dimensions \u00e0 confirmer selon le projet<\/dd>\n          <dt>Personnalisation<\/dt>\n          <dd>Formule, parfum, couleur, forme, poids, logo et emballage<\/dd>\n          <dt>\u00c9chantillons<\/dt>\n          <dd>\u00c9chantillons sur demande ; co\u00fbts et transport \u00e0 confirmer s\u00e9par\u00e9ment<\/dd>\n        <\/dl>\n        <div class=\"spx-modal-actions\">\n          <a class=\"spx-btn\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\" data-spx-quote>Demander un devis<\/a>\n          <a class=\"spx-btn spx-btn-secondary\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\" data-spx-details>D\u00e9tails complets<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/dialog>\n<\/div>\n\n<script>\n(function () {\n  const root = document.getElementById('spx-formula-page');\n  if (!root || root.dataset.spxReady) return;\n  root.dataset.spxReady = 'true';\n  \/\/ Localize the page quotation link without changing the product modal messages.\n  const pageQuoteMessages = {\n  \"es\": \"Hola saponixsoap, me gustar\u00eda solicitar un presupuesto para jab\u00f3n personalizado.\",\n  \"fr\": \"Bonjour saponixsoap, je souhaiterais demander un devis pour du savon personnalis\u00e9.\",\n  \"de\": \"Hallo saponixsoap, ich m\u00f6chte ein Angebot f\u00fcr individuell angepasste Seife anfordern.\",\n  \"pt\": \"Ol\u00e1 saponixsoap, gostaria de solicitar um or\u00e7amento para sabonete personalizado.\",\n  \"ru\": \"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, saponixsoap! \u041f\u0440\u043e\u0448\u0443 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u044b\u043b\u043e \u043f\u043e \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0437\u0430\u043a\u0430\u0437\u0443.\",\n  \"ar\": \"\u0645\u0631\u062d\u0628\u064b\u0627 saponixsoap\u060c \u0623\u0648\u062f \u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0644\u0635\u0627\u0628\u0648\u0646 \u0645\u062e\u0635\u0635.\"\n};\n  const pageQuoteLanguage = document.documentElement.lang.toLowerCase().replace(\/_\/g, '-').split('-')[0];\n  const pageQuoteLink = root.querySelector('.spx-quote a[href*=\"wa.me\/8615766669666\"]');\n  if (pageQuoteLink && pageQuoteMessages[pageQuoteLanguage]) {\n    pageQuoteLink.href = 'https:\/\/wa.me\/8615766669666?text=' + encodeURIComponent(pageQuoteMessages[pageQuoteLanguage]);\n  }\n\n\n  const products = {\n    \"turmeric-soap\": {\n      \"name\": \"Private Label Turmeric Soap\",\n      \"description\": \"Turmeric soap for your branded range. Discuss the formula, fragrance, bar shape, logo and packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-turmeric-soap.jpg\",\n      \"alt\": \"Golden oval turmeric soap bar with turmeric roots and powder\",\n      \"url\": \"https:\/\/saponixsoap.com\/turmeric-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Turmeric%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"kojic-acid-soap\": {\n      \"name\": \"Private Label Kojic Acid Soap\",\n      \"description\": \"Explore a kojic acid soap project with your preferred formula, appearance, fragrance and private label packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-kojic-acid-soap.jpg\",\n      \"alt\": \"Orange rectangular kojic acid soap bar on an ivory background\",\n      \"url\": \"https:\/\/saponixsoap.com\/kojic-acid-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Kojic%20Acid%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"aloe-vera-soap\": {\n      \"name\": \"Private Label Aloe Vera Soap\",\n      \"description\": \"Create an aloe vera soap concept with your selected fragrance, color, shape and branded packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-aloe-vera-soap.jpg\",\n      \"alt\": \"Green aloe vera soap bar beside aloe leaves\",\n      \"url\": \"https:\/\/saponixsoap.com\/aloe-vera-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Aloe%20Vera%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"oatmeal-soap\": {\n      \"name\": \"Private Label Oatmeal Soap\",\n      \"description\": \"Discuss an oatmeal soap formula and your preferred texture, bar design, logo and packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-oatmeal-soap.jpg\",\n      \"alt\": \"Ivory rectangular oatmeal soap bar with oat flakes\",\n      \"url\": \"https:\/\/saponixsoap.com\/oatmeal-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Oatmeal%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"charcoal-soap\": {\n      \"name\": \"Private Label Charcoal Soap\",\n      \"description\": \"Develop a charcoal soap option with customized bar shape, fragrance, logo and packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-charcoal-soap.jpg\",\n      \"alt\": \"Black oval charcoal soap bar beside charcoal pieces\",\n      \"url\": \"https:\/\/saponixsoap.com\/charcoal-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Charcoal%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"sea-salt-soap\": {\n      \"name\": \"Private Label Sea Salt Soap\",\n      \"description\": \"Explore a sea salt soap collection with your selected appearance, fragrance and packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-sea-salt-soap.jpg\",\n      \"alt\": \"Blue rounded sea salt soap bar beside salt crystals\",\n      \"url\": \"https:\/\/saponixsoap.com\/sea-salt-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Sea%20Salt%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"goat-milk-soap\": {\n      \"name\": \"Private Label Goat Milk Soap\",\n      \"description\": \"Use a goat milk soap option as a starting point for your customized branded soap range.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-goat-milk-soap.jpg\",\n      \"alt\": \"Ivory oval goat milk soap bar beside a small dish of milk\",\n      \"url\": \"https:\/\/saponixsoap.com\/goat-milk-soap\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Goat%20Milk%20Soap.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    },\n    \"amino-acid-cleansing-bar\": {\n      \"name\": \"Private Label Amino Acid Cleansing Bar\",\n      \"description\": \"Discuss an amino acid cleansing bar with a project-specific formula, fragrance, shape and packaging.\",\n      \"image\": \"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-amino-acid-cleansing-bar.jpg\",\n      \"alt\": \"Pink rounded rectangular amino acid cleansing bar on an ivory background\",\n      \"url\": \"https:\/\/saponixsoap.com\/amino-acid-cleansing-bar\/\",\n      \"quote\": \"https:\/\/wa.me\/8615766669666?text=Hello%20saponixsoap%2C%20I%20would%20like%20a%20quote%20for%20Private%20Label%20Amino%20Acid%20Cleansing%20Bar.%20Please%20share%20the%20MOQ%2C%20sample%20options%2C%20formula%20and%20packaging%20choices.\"\n    }\n  };\n\n  const modal = root.querySelector('.spx-modal');\n  let opener = null, previousOverflow = '';\n  let galleryImages = [], galleryIndex = 0;\n  const mainImage = modal.querySelector('.spx-modal-image');\n  const thumbs = modal.querySelector('.spx-gallery-thumbs');\n  const caption = modal.querySelector('.spx-gallery-caption');\n\n  function selectImage(index) {\n    const selected = galleryImages[index];\n    if (!selected) return;\n    galleryIndex = index;\n    mainImage.src = selected.src;\n    mainImage.alt = selected.alt;\n    caption.textContent = root.querySelectorAll('.spx-gallery-caption-labels span')[index].textContent.trim();\n    thumbs.querySelectorAll('button').forEach(function (thumb, position) {\n      thumb.setAttribute('aria-pressed', String(position === index));\n    });\n  }\n\n  thumbs.addEventListener('click', function (event) {\n    const thumb = event.target.closest('button[data-spx-image]');\n    if (thumb && thumbs.contains(thumb)) {\n      selectImage(Number(thumb.dataset.spxImage));\n    }\n  });\n\n  thumbs.addEventListener('keydown', function (event) {\n    const thumb = event.target.closest('button[data-spx-image]');\n    if (!thumb) return;\n    const position = Number(thumb.dataset.spxImage);\n    let next = position;\n    const step = window.getComputedStyle(thumbs).direction === 'rtl' ? -1 : 1;\n    if (event.key === 'ArrowRight') {\n      next = (position + step + galleryImages.length) % galleryImages.length;\n    } else if (event.key === 'ArrowLeft') {\n      next = (position - step + galleryImages.length) % galleryImages.length;\n    } else if (event.key === 'Home') {\n      next = 0;\n    } else if (event.key === 'End') {\n      next = galleryImages.length - 1;\n    } else {\n      return;\n    }\n    event.preventDefault();\n    selectImage(next);\n    thumbs.querySelectorAll('button')[next].focus();\n  });\n\n  root.querySelectorAll('[data-spx-product]').forEach(function (button) {\n    const cardTitle = button.closest('.spx-product-card').querySelector('.spx-product-title');\n    button.setAttribute('aria-label', button.textContent.trim() + ': ' + cardTitle.textContent.trim());\n    button.addEventListener('click', function () {\n      const reference = products[button.dataset.spxProduct];\n      if (!reference) return;\n      const card = button.closest('.spx-product-card');\n      const titleLink = card.querySelector('.spx-product-title');\n      const cardImage = card.querySelector('.spx-product-photo img');\n      const product = Object.assign({}, reference, {\n        name: titleLink.textContent.trim(),\n        description: card.querySelector('.spx-product-copy > p').textContent.trim(),\n        image: cardImage.getAttribute('src'),\n        alt: cardImage.alt,\n        url: titleLink.href\n      });\n\n      if (typeof modal.showModal !== 'function') {\n        window.location.href = product.url || product.quote;\n        return;\n      }\n\n      opener = button;\n      modal.querySelector('#spx-modal-title').textContent = product.name;\n      modal.querySelector('#spx-modal-description').textContent =\n        product.description;\n\n      galleryImages = [{\n        src: product.image,\n        alt: product.alt,\n        label: 'Main image'\n      }];\n\n      const source = button.closest('.spx-product-card')\n        .querySelector('.spx-gallery-source');\n\n      if (source) {\n        source.content.querySelectorAll('img').forEach(function (image) {\n          galleryImages.push({\n            src: image.getAttribute('src'),\n            alt: image.alt,\n            label: image.dataset.label\n          });\n        });\n      }\n\n      thumbs.replaceChildren();\n\n      galleryImages.forEach(function (image, index) {\n        const thumb = document.createElement('button');\n        thumb.type = 'button';\n        thumb.className = 'spx-gallery-thumb';\n        thumb.dataset.spxImage = String(index);\n        thumb.setAttribute(\n          'aria-label',\n          product.name + ': ' + root.querySelectorAll('.spx-gallery-caption-labels span')[index].textContent.trim()\n        );\n        thumb.setAttribute('aria-pressed', String(index === 0));\n\n        const thumbnail = document.createElement('img');\n        thumbnail.src = image.src;\n        thumbnail.alt = '';\n        thumbnail.width = 1200;\n        thumbnail.height = 1200;\n        thumbnail.decoding = 'async';\n\n        thumb.appendChild(thumbnail);\n        thumbs.appendChild(thumb);\n      });\n\n      selectImage(0);\n\n      const quoteMessages = {\n  \"es\": [\n    \"Hola saponixsoap, me gustar\u00eda solicitar un presupuesto para \",\n    \". Por favor, env\u00edenme la cantidad m\u00ednima de pedido, las opciones de muestras y las opciones de f\u00f3rmula y embalaje.\"\n  ],\n  \"fr\": [\n    \"Bonjour saponixsoap, je souhaiterais obtenir un devis pour \",\n    \". Merci de me communiquer la quantit\u00e9 minimale de commande, les options d\u2019\u00e9chantillons ainsi que les choix de formule et d\u2019emballage.\"\n  ],\n  \"de\": [\n    \"Hallo saponixsoap, ich m\u00f6chte ein Angebot f\u00fcr \",\n    \" anfordern. Bitte teilen Sie mir die Mindestbestellmenge, die Musteroptionen sowie die Rezeptur- und Verpackungsoptionen mit.\"\n  ],\n  \"pt\": [\n    \"Ol\u00e1 saponixsoap, gostaria de solicitar um or\u00e7amento para \",\n    \". Por favor, enviem a quantidade m\u00ednima de pedido, as op\u00e7\u00f5es de amostras e as op\u00e7\u00f5es de f\u00f3rmula e embalagem.\"\n  ],\n  \"ru\": [\n    \"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, saponixsoap! \u041f\u0440\u043e\u0448\u0443 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \",\n    \". \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0437\u0430\u043a\u0430\u0437\u0430, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0431\u0440\u0430\u0437\u0446\u043e\u0432, \u0441\u043e\u0441\u0442\u0430\u0432\u0430 \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438.\"\n  ],\n  \"ar\": [\n    \"\u0645\u0631\u062d\u0628\u064b\u0627 saponixsoap\u060c \u0623\u0648\u062f \u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0644\u0645\u0646\u062a\u062c \",\n    \". \u064a\u064f\u0631\u062c\u0649 \u062a\u0632\u0648\u064a\u062f\u064a \u0628\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0644\u0643\u0645\u064a\u0629 \u0627\u0644\u0637\u0644\u0628 \u0648\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u064a\u0646\u0627\u062a \u0648\u0627\u0644\u062a\u0631\u0643\u064a\u0628\u0629 \u0648\u0627\u0644\u062a\u063a\u0644\u064a\u0641.\"\n  ]\n};\n      const quoteLanguage = document.documentElement.lang.toLowerCase().replace(\/_\/g, '-').split('-')[0];\n      const quoteParts = quoteMessages[quoteLanguage];\n      modal.querySelector('[data-spx-quote]').href = quoteParts\n        ? 'https:\/\/wa.me\/8615766669666?text=' + encodeURIComponent(quoteParts[0] + product.name + quoteParts[1])\n        : product.quote;\n      const details = modal.querySelector('[data-spx-details]');\n      details.href = product.url || product.quote;\n      details.textContent = card.querySelector('.spx-product-link').textContent.trim();\n\n      if (product.url) {\n        details.removeAttribute('target');\n        details.removeAttribute('rel');\n      } else {\n        details.target = '_blank';\n        details.rel = 'noopener noreferrer';\n      }\n\n      previousOverflow = document.body.style.overflow;\n      modal.showModal();\n      document.body.style.overflow = 'hidden';\n    });\n  });\n\n  modal.querySelector('.spx-close').addEventListener('click', function () {\n    modal.close();\n  });\n\n  modal.addEventListener('click', function (event) {\n    const rect = modal.getBoundingClientRect();\n    if (\n      event.target === modal &&\n      (\n        event.clientX < rect.left ||\n        event.clientX > rect.right ||\n        event.clientY < rect.top ||\n        event.clientY > rect.bottom\n      )\n    ) {\n      modal.close();\n    }\n  });\n\n  modal.addEventListener('close', function () {\n    document.body.style.overflow = previousOverflow;\n    if (opener && opener.isConnected) opener.focus();\n  });\n})();\n<\/script>\t\t\t\t<style>.spx-fix-note{padding:28px 20px;background:#faf9f5;color:#20362a;font:15px\/1.65 Arial,sans-serif}.spx-fix-note>div{max-width:1120px;margin:auto}.spx-fix-note h2{font:normal 30px\/1.2 Georgia,serif;margin:0 0 12px}.spx-fix-note a{color:#174b39;text-decoration:underline}.spx-fix-note table{width:100%;border-collapse:collapse}.spx-fix-note th,.spx-fix-note td{text-align:left;padding:12px;border-bottom:1px solid #d9e3d9;vertical-align:top}.spx-fix-note th{width:30%}.spx-fix-note .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.spx-fix-note .actions a{min-height:44px;display:inline-flex;align-items:center}.spx-fix-note :focus-visible{outline:3px solid #b38948;outline-offset:3px}@media(max-width:600px){.spx-fix-note th{width:35%}.spx-fix-note th,.spx-fix-note td{padding:9px;font-size:14px}}<\/style><section class=\"spx-fix-note\" id=\"spx-related-buying-guides\" aria-labelledby=\"spx-related-guides-title\"><div><h2 id=\"spx-related-guides-title\">Related buying guides<\/h2><p>Compare ingredients and product formats before preparing your formula brief.<\/p><ul><li><a href=\"https:\/\/saponixsoap.com\/fr\/sea-salt-soap-vs-salt-scrub-bars\/\">Savons au sel marin et pains exfoliants au sel pour marques de distributeur<\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/fr\/goat-milk-soap-vs-vegan-soap\/\">Savon au lait de ch\u00e8vre ou savon v\u00e9g\u00e9talien pour votre marque<\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/fr\/african-black-soap-vs-charcoal-soap\/\">Savon noir africain et savon au charbon : guide pour les acheteurs en gros<\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/fr\/turmeric-vs-kojic-acid-soap-private-label\/\">Savon au curcuma ou \u00e0 l\u2019acide kojique pour les marques de distributeur<\/a><\/li><\/ul><\/div><\/section><section class=\"spx-fix-note\"><div><h2>Envoyez un briefing pour un devis pr\u00e9cis<\/h2><table><tbody><tr><th scope=\"row\">Produit<\/th><td>Choisissez la r\u00e9f\u00e9rence du produit et r\u00e9pertoriez les modifications apport\u00e9es \u00e0 la formule ou \u00e0 l'apparence.<\/td><\/tr><tr><th scope=\"row\">Quantit\u00e9 et march\u00e9<\/th><td>Partagez la quantit\u00e9 par conception, pays de destination et code postal.<\/td><\/tr><tr><th scope=\"row\">Marque et emballage<\/th><td>Partagez les illustrations du logo, le format d'emballage et le langage des \u00e9tiquettes.<\/td><\/tr><tr><th scope=\"row\">Champ d'application<\/th><td>Demander une confirmation s\u00e9par\u00e9e du d\u00e9veloppement, des \u00e9chantillons, de l'exp\u00e9dition et des conditions de livraison applicables.<\/td><\/tr><\/tbody><\/table><\/div><\/section><style>@media(max-width:600px){}<\/style><style>\n\/* Factory information and responsive footer, 2026-10-15. *\/\n#saponix-v3 :focus-visible{outline:3px solid #b38948;outline-offset:4px}\n#saponix-v3 #sv-factory .sv-factory-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px}\n#saponix-v3 #sv-factory h2{max-width:940px;color:#20362a}\n#saponix-v3 #sv-factory .sv-factory-photo img{height:420px;object-fit:cover;object-position:center}\n#saponix-v3 .sv-factory-summary{font-size:17px;line-height:1.65;color:#52685a}\n#saponix-v3 .sv-factory-details{margin:17px 0 0;padding:0;border-top:1px solid #d9e3d9}\n#saponix-v3 .sv-factory-details>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid #d9e3d9}\n#saponix-v3 .sv-factory-details dt{font-size:13px;font-weight:700;color:#174b39}\n#saponix-v3 .sv-factory-details dd{margin:0;font-size:14px;line-height:1.55;color:#52685a}\n#saponix-v3 #sv-factory .sv-certs{margin-top:18px}\n#saponix-v3 #sv-factory .sv-cert{display:flex;text-align:left;gap:10px;padding:9px;min-width:0}\n#saponix-v3 #sv-factory .sv-cert img{width:43px;height:58px;object-fit:contain;flex:none;border:1px solid #d9e3d9}\n#saponix-v3 #sv-factory .sv-cert strong{font:700 12px\/1.45 Arial,sans-serif;margin:0}\n#saponix-v3 .sv-market-docs{display:flex;align-items:center;gap:32px;justify-content:space-between;margin-top:28px;padding:24px;background:#f3f6f0;border:1px solid #d9e3d9;border-radius:8px}\n#saponix-v3 .sv-market-docs>div{max-width:720px}\n#saponix-v3 .sv-market-docs h3{font-size:18px;color:#20362a}\n#saponix-v3 .sv-market-docs p{margin-top:8px;font-size:14px;color:#52685a;line-height:1.6}\n#saponix-v3 .sv-market-docs .sv-button{flex-shrink:0}\n#spx-fix-footer{--ft-green:#174b39;color:#20362a;background:#f3f6f0;border-top:1px solid #d9e3d9;padding:48px 0 24px;font:14px\/1.65 Arial,Helvetica,sans-serif}\n#spx-fix-footer *{box-sizing:border-box}\n#spx-fix-footer .spf-wrap{width:min(100% - 48px,1180px);margin:auto}\n#spx-fix-footer .spf-grid{display:grid;grid-template-columns:.9fr 1.3fr 1fr;gap:40px;align-items:start}\n#spx-fix-footer .spf-grid>div,#spx-fix-footer .spf-grid>nav{min-width:0}\n#spx-fix-footer a{color:var(--ft-green);text-decoration:none;text-underline-offset:4px}\n#spx-fix-footer a:hover{text-decoration:underline}\n#spx-fix-footer a:focus-visible{outline:3px solid #b38948;outline-offset:4px}\n#spx-fix-footer .spf-brand{display:inline-block;font:30px\/1.2 Georgia,serif;letter-spacing:-1px;margin:0 0 14px}\n#spx-fix-footer p{margin:0;color:#52685a}\n#spx-fix-footer .spf-tagline{max-width:290px;font-size:14px}\n#spx-fix-footer h2{margin:0 0 12px;font:700 14px\/1.5 Arial,sans-serif;color:#174b39;letter-spacing:0}\n#spx-fix-footer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}\n#spx-fix-footer li{margin:0;padding:0;min-width:0}\n#spx-fix-footer li a{min-height:44px;display:flex;align-items:center;padding:7px 0;font-size:13px;line-height:1.5}\n#spx-fix-footer .spf-contact-link{display:flex;align-items:center;min-height:44px;font-size:14px}\n#spx-fix-footer address{font-style:normal;color:#52685a;font-size:13px;line-height:1.65;margin-top:10px}\n#spx-fix-footer address strong{display:block;font-size:12px;color:#174b39;margin-bottom:4px}\n#spx-fix-footer .spf-legal{border-top:1px solid #d9e3d9;margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;gap:26px;align-items:start}\n#spx-fix-footer .spf-legal p{font-size:12px;line-height:1.7}\n#spx-fix-footer .spf-legal strong{font-weight:700;color:#20362a}\n#spx-fix-footer .spf-copyright{white-space:nowrap}\n@media(max-width:1000px){\n #spx-fix-footer .spf-grid{gap:24px;grid-template-columns:.9fr 1.2fr 1fr}\n #spx-fix-footer ul{grid-template-columns:1fr}\n #saponix-v3 .sv-market-docs{align-items:flex-start}\n}\n@media(max-width:740px){\n #saponix-v3 #sv-factory .sv-factory-grid{grid-template-columns:1fr;gap:20px}\n #saponix-v3 #sv-factory h2{font-size:30px;line-height:1.16}\n #saponix-v3 #sv-factory .sv-factory-photo img{height:auto;aspect-ratio:4\/3}\n #saponix-v3 .sv-factory-summary{font-size:15px;line-height:1.65}\n #saponix-v3 .sv-factory-details>div{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0}\n #saponix-v3 .sv-factory-details dd{font-size:13px}\n #saponix-v3 #sv-factory .sv-cert strong{font-size:11px}\n #saponix-v3 .sv-market-docs{display:block;padding:19px;margin-top:23px}\n #saponix-v3 .sv-market-docs h3{font-size:17px}\n #saponix-v3 .sv-market-docs .sv-button{margin-top:16px;width:100%}\n #spx-fix-footer{padding:32px 0 calc(100px + env(safe-area-inset-bottom))}\n #spx-fix-footer .spf-wrap{width:calc(100% - 38px);max-width:620px}\n #spx-fix-footer .spf-grid{grid-template-columns:1fr;gap:0}\n #spx-fix-footer .spf-brand{font-size:27px;margin-bottom:10px}\n #spx-fix-footer .spf-tagline{max-width:none}\n #spx-fix-footer .spf-grid>nav,#spx-fix-footer .spf-contact{border-top:1px solid #d9e3d9;padding-top:20px;margin-top:20px}\n #spx-fix-footer h2{margin-bottom:8px}\n #spx-fix-footer ul{grid-template-columns:1fr 1fr;gap:0 20px}\n #spx-fix-footer li a{font-size:13px;min-height:48px}\n #spx-fix-footer .spf-legal{display:block;margin-top:20px;padding-top:18px}\n #spx-fix-footer .spf-copyright{margin-top:12px}\n #spx-site-header .spn-quote,#spx-site-header .spn-mobile-menu summary{min-height:44px;display:flex;align-items:center}\n}\n@media(max-width:350px){#spx-fix-footer ul{grid-template-columns:1fr}}\n<\/style>\n<style id=\"spx-shared-direction-20261016\">\n#spx-site-header .spn-wrap,#spx-fix-footer .spf-grid{min-width:0}\n#spx-site-header .spn-drop a,#spx-fix-footer a{overflow-wrap:anywhere}\n#spx-fix-footer nav{display:block;margin:0}\nhtml[dir=\"rtl\"] #spx-site-header .spn-products .spn-drop{left:auto;right:-14px}\nhtml[dir=\"rtl\"] #spx-site-header .spn-mobile-menu .spn-drop{right:auto;left:0}\nhtml[dir=\"rtl\"] #spx-site-header,html[dir=\"rtl\"] #spx-fix-footer{text-align:right}\n<\/style>\n<footer id=\"spx-fix-footer\">\n <div class=\"spf-wrap\">\n  <div class=\"spf-grid\">\n   <div>\n    <a class=\"spf-brand\" href=\"https:\/\/saponixsoap.com\/fr\/\" aria-label=\"Accueil\">Saponixsoap<\/a>\n    <p class=\"spf-tagline\">Private Label et fabrication de savon OEM\/ODM en Chine pour les marques, les grossistes et les entreprises h\u00f4teli\u00e8res.<\/p>\n   <\/div>\n   <nav aria-label=\"Cat\u00e9gories de produits de savon et de personnalisation\">\n    <h2>Savon et personnalisation<\/h2>\n    <ul>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/custom-ingredients-formulas\/\">Ingr\u00e9dients et formules<\/a><\/li>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds\/\">Formes et moules de savon<\/a><\/li>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/soap-cleansing-bars-by-use\/\">Barres de savon et de nettoyage<\/a><\/li>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/private-label-soap-gift-sets\/\">Savons pour invit\u00e9s et coffrets cadeaux<\/a><\/li>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/skin-type-market-customization\/\">Type de peau et options de march\u00e9<\/a><\/li>\n     <li><a href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-travel-soaps\/\">Savons pour h\u00f4tels et voyages<\/a><\/li>\n    <\/ul>\n   <\/nav>\n   <div class=\"spf-contact\">\n    <h2>Contact et usine<\/h2>\n    <a class=\"spf-contact-link\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Demander un devis \u2192<\/a>\n    <a class=\"spf-contact-link\" href=\"https:\/\/wa.me\/8615766669666\" target=\"_blank\" rel=\"noopener noreferrer\">WhatsApp\u00a0:\u00a0+86\u00a0157\u00a06\u00a0666\u00a09\u00a0666<\/a>\n    <address><strong>emplacement de l'usine<\/strong>Ville de Shijiao, district de Qingcheng,<br>Qingyuan, Guangdong, Chine.<\/address>\n   <\/div>\n  <\/div>\n  <div class=\"spf-legal\">\n   <div>\n    <p>Propri\u00e9taire de la marque, op\u00e9rateur de site Web et fabricant de savon\u00a0: <strong lang=\"zh-CN\">\u5e7f\u4e1c\u5c3c\u8428\u535a\u5c3c\u514b\u65af\u65e5\u5316\u6709\u9650\u516c\u53f8<\/strong><\/p>\n    <p>MOQ, \u00e9chantillons, frais de moule, d\u00e9lais et livraison sont confirm\u00e9s dans votre devis de projet.<\/p>\n   <\/div>\n   <p class=\"spf-copyright\">\u00a9 Saponixsoap<\/p>\n  <\/div>\n <\/div>\n<\/footer>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>saponixsoap Home Products Home Custom Ingredients &amp; Formulas Custom Soap Shapes &amp; Molds Soap &amp; Cleansing Bars by Use Soap [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_joinchat":[],"footnotes":""},"class_list":["post-303","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/comments?post=303"}],"version-history":[{"count":52,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/303\/revisions"}],"predecessor-version":[{"id":47048,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/303\/revisions\/47048"}],"wp:attachment":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/media?parent=303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}