{"id":624,"date":"2026-10-08T13:24:58","date_gmt":"2026-10-08T18:24:58","guid":{"rendered":"https:\/\/saponixsoap.com\/?page_id=624"},"modified":"2026-10-18T23:13:03","modified_gmt":"2026-10-19T04:13:03","slug":"private-label-hotel-travel-soaps","status":"publish","type":"page","link":"https:\/\/saponixsoap.com\/fr\/private-label-hotel-travel-soaps\/","title":{"rendered":"Savons d\u2019h\u00f4tel et de voyage en marque blanche"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"624\" class=\"elementor elementor-624\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0c9bf4e e-con e-atomic-element e-flexbox-base e-default-div e-d7757a4 \" data-id=\"0c9bf4e\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"0c9bf4e\">\n    \t\t<div class=\"elementor-element elementor-element-589e455 elementor-widget elementor-widget-html\" data-id=\"589e455\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<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\/624\"><span class=\"trrocket-name\">English<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/es\/wp-json\/wp\/v2\/pages\/624\"><span class=\"trrocket-name\">Espa\u00f1ol<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/de\/wp-json\/wp\/v2\/pages\/624\"><span class=\"trrocket-name\">Deutsch<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/pt-br\/wp-json\/wp\/v2\/pages\/624\"><span class=\"trrocket-name\">Portugu\u00eas (BR)<\/span><\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/ru\/wp-json\/wp\/v2\/pages\/624\"><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\/624\"><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>\nbody #masthead,\nbody #colophon,\nbody .entry-header {\n  display: none !important;\n}\n\n#hotel-travel-page {\n  --green: #174b39;\n  --deep: #103b2d;\n  --muted: #627169;\n  --line: #dce5dc;\n  color: #20362a;\n  background: #fff;\n  font: 16px\/1.65 Arial, Helvetica, sans-serif;\n}\n\n#hotel-travel-page * {\n  box-sizing: border-box;\n}\n\n#hotel-travel-page a {\n  color: var(--green);\n  text-decoration: none;\n}\n\n#hotel-travel-page .wrap {\n  width: min(1160px, calc(100% - 40px));\n  margin: auto;\n}\n\n#hotel-travel-page header {\n  border-bottom: 1px solid var(--line);\n}\n\n#hotel-travel-page header .wrap {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  flex-wrap: wrap;\n  padding: 18px 0;\n}\n\n#hotel-travel-page .brand {\n  font: 27px Georgia, serif;\n}\n\n#hotel-travel-page .topnav {\n  display: flex;\n  gap: 18px;\n  flex-wrap: wrap;\n  font-size: 13px;\n}\n\n#hotel-travel-page .crumb {\n  padding: 20px 0;\n  font-size: 13px;\n  color: var(--muted);\n}\n\n#hotel-travel-page h1,\n#hotel-travel-page h2 {\n  font-family: Georgia, \"Times New Roman\", serif;\n  font-weight: 500;\n  line-height: 1.15;\n  color: var(--deep);\n  margin: 0 0 18px;\n}\n\n#hotel-travel-page h1 {\n  font-size: clamp(36px, 4.5vw, 60px);\n}\n\n#hotel-travel-page h2 {\n  font-size: clamp(28px, 3vw, 40px);\n}\n\n#hotel-travel-page h3 {\n  font-size: 19px;\n  line-height: 1.35;\n  margin: 0 0 12px;\n}\n\n#hotel-travel-page p {\n  margin: 0 0 18px;\n}\n\n#hotel-travel-page .kicker {\n  font-size: 12px;\n  letter-spacing: .1em;\n  font-weight: 700;\n  text-transform: uppercase;\n  color: var(--green);\n}\n\n#hotel-travel-page .hero {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 42px;\n  align-items: center;\n  padding: 22px 0 48px;\n}\n\n#hotel-travel-page .hero p:not(.kicker) {\n  color: var(--muted);\n}\n\n#hotel-travel-page img {\n  display: block;\n  width: 100%;\n  height: auto;\n  opacity: 1 !important;\n  filter: none !important;\n}\n\n#hotel-travel-page .hero img {\n  aspect-ratio: 4\/3;\n  object-fit: cover;\n  border-radius: 8px;\n}\n\n#hotel-travel-page .btn {\n  display: inline-flex;\n  justify-content: center;\n  align-items: center;\n  min-height: 46px;\n  padding: 10px 18px;\n  border: 1px solid var(--green);\n  border-radius: 5px;\n  background: var(--green);\n  color: #fff;\n  font-weight: 700;\n  text-align: center;\n}\n\n#hotel-travel-page .btn.light {\n  background: #fff;\n  color: var(--green);\n}\n\n#hotel-travel-page .facts {\n  background: #edf3ec;\n  border-top: 1px solid var(--line);\n  border-bottom: 1px solid var(--line);\n}\n\n#hotel-travel-page .facts .wrap {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n}\n\n#hotel-travel-page .fact {\n  padding: 22px 12px;\n  text-align: center;\n}\n\n#hotel-travel-page .fact strong {\n  display: block;\n  color: var(--deep);\n}\n\n#hotel-travel-page .fact span {\n  display: block;\n  color: var(--muted);\n  font-size: 12px;\n}\n\n#hotel-travel-page .categories {\n  padding: 38px 0 20px;\n}\n\n#hotel-travel-page .categories h2 {\n  font-size: 27px;\n}\n\n#hotel-travel-page .catgrid {\n  display: grid;\n  grid-template-columns: repeat(6, minmax(0, 1fr));\n  gap: 10px;\n}\n\n#hotel-travel-page .catgrid a,\n#hotel-travel-page .catgrid span {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 66px;\n  padding: 10px;\n  border: 1px solid var(--line);\n  border-radius: 5px;\n  text-align: center;\n  font-size: 13px;\n  font-weight: 700;\n}\n\n#hotel-travel-page .catgrid .current {\n  background: #edf3ec;\n  border-color: var(--green);\n}\n\n#hotel-travel-page .products {\n  padding: 36px 0 60px;\n}\n\n#hotel-travel-page .intro {\n  max-width: 800px;\n  color: var(--muted);\n}\n\n#hotel-travel-page .grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 20px;\n  margin-top: 28px;\n}\n\n#hotel-travel-page .card {\n  display: flex;\n  flex-direction: column;\n  border: 1px solid var(--line);\n  border-radius: 8px;\n  overflow: hidden;\n  background: #fff;\n}\n\n#hotel-travel-page .card > img {\n  aspect-ratio: 1;\n  object-fit: contain;\n  background: #faf9f5;\n}\n\n#hotel-travel-page .cardbody {\n  display: flex;\n  flex-direction: column;\n  flex: 1;\n  padding: 22px;\n}\n\n#hotel-travel-page .cardbody p {\n  color: var(--muted);\n  font-size: 14px;\n}\n\n#hotel-travel-page .cardbody .price {\n  font-size: 12px;\n  margin-top: auto;\n}\n\n#hotel-travel-page .cardactions {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex-wrap: wrap;\n}\n\n#hotel-travel-page .quick {\n  min-height: 42px;\n  padding: 9px 13px;\n  border: 1px solid var(--green);\n  border-radius: 4px;\n  background: #edf3ec;\n  color: var(--deep);\n  font-size: 13px;\n  font-weight: 700;\n  cursor: pointer;\n}\n\n#hotel-travel-page .fulllink {\n  font-size: 13px;\n  font-weight: 700;\n  padding: 8px 0;\n}\n\n#hotel-travel-page .band {\n  padding: 48px 0;\n  background: #edf3ec;\n}\n\n#hotel-travel-page .options {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 10px;\n  margin-top: 22px;\n}\n\n#hotel-travel-page .options span {\n  padding: 14px;\n  background: #fff;\n  border: 1px solid var(--line);\n  border-radius: 5px;\n  text-align: center;\n}\n\n#hotel-travel-page .faq {\n  padding: 55px 0;\n}\n\n#hotel-travel-page .faq details {\n  max-width: 850px;\n  border-bottom: 1px solid var(--line);\n}\n\n#hotel-travel-page .faq summary {\n  padding: 18px 0;\n  cursor: pointer;\n  font-weight: 700;\n  color: var(--deep);\n}\n\n#hotel-travel-page .faq details p {\n  color: var(--muted);\n  font-size: 14px;\n}\n\n#hotel-travel-page .final {\n  padding: 44px 0;\n  background: var(--deep);\n  color: #fff;\n}\n\n#hotel-travel-page .final h2 {\n  color: #fff;\n}\n\n#hotel-travel-page footer {\n  background: var(--deep);\n  color: #d6e6d9;\n  padding: 20px;\n  text-align: center;\n  font-size: 12px;\n}\n\n#hotel-travel-page dialog {\n  width: min(880px, calc(100vw - 32px));\n  max-height: calc(100dvh - 32px);\n  padding: 0;\n  border: 1px solid var(--line);\n  border-radius: 8px;\n  color: #20362a;\n  background: #fff;\n  overflow: auto;\n}\n\n#hotel-travel-page dialog::backdrop {\n  background: #10281caa;\n}\n\n#hotel-travel-page .modalhead {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  padding: 18px 22px;\n  border-bottom: 1px solid var(--line);\n  position: sticky;\n  top: 0;\n  background: #fff;\n  z-index: 1;\n}\n\n#hotel-travel-page .modalhead h2 {\n  font-size: 25px;\n  margin: 0;\n}\n\n#hotel-travel-page .close {\n  min-height: 40px;\n  padding: 8px 12px;\n  border: 1px solid var(--line);\n  border-radius: 4px;\n  background: #fff;\n  color: var(--deep);\n  cursor: pointer;\n}\n\n#hotel-travel-page .modalbody {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 24px;\n  padding: 22px;\n}\n\n#hotel-travel-page .mainimage {\n  aspect-ratio: 1;\n  object-fit: contain;\n  background: #faf9f5;\n  border-radius: 5px;\n}\n\n#hotel-travel-page .thumbs {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 9px;\n  margin-top: 12px;\n}\n\n#hotel-travel-page .thumbs button {\n  padding: 5px;\n  background: #fff;\n  border: 2px solid var(--line);\n  border-radius: 5px;\n  cursor: pointer;\n}\n\n#hotel-travel-page .thumbs button[aria-pressed=\"true\"] {\n  border-color: var(--green);\n}\n\n#hotel-travel-page .thumbs img {\n  aspect-ratio: 1;\n  object-fit: contain;\n}\n\n#hotel-travel-page .caption {\n  font-size: 12px;\n  color: var(--muted);\n  margin-top: 9px;\n}\n\n#hotel-travel-page .modaldescription {\n  font-size: 14px;\n  color: var(--muted);\n}\n\n#hotel-travel-page dl {\n  display: grid;\n  grid-template-columns: 105px 1fr;\n  font-size: 13px;\n  margin: 0 0 20px;\n}\n\n#hotel-travel-page dt,\n#hotel-travel-page dd {\n  margin: 0;\n  padding: 9px 0;\n  border-bottom: 1px solid var(--line);\n}\n\n#hotel-travel-page dt {\n  font-weight: 700;\n  color: var(--deep);\n}\n\n#hotel-travel-page .modalactions {\n  display: flex;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n\n#hotel-travel-page button {\n  font-family: inherit;\n}\n\n#hotel-travel-page a:focus-visible,\n#hotel-travel-page button:focus-visible,\n#hotel-travel-page summary:focus-visible {\n  outline: 3px solid #b38948;\n  outline-offset: 4px;\n}\n\n@media (max-width: 900px) {\n  #hotel-travel-page .grid {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  #hotel-travel-page .catgrid {\n    grid-template-columns: repeat(3, 1fr);\n  }\n}\n\n@media (max-width: 620px) {\n  #hotel-travel-page .wrap {\n    width: calc(100% - 32px);\n  }\n\n  #hotel-travel-page .hero {\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  #hotel-travel-page .grid {\n    grid-template-columns: 1fr;\n  }\n\n  #hotel-travel-page .catgrid,\n  #hotel-travel-page .options {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  #hotel-travel-page .fact {\n    padding: 16px 6px;\n  }\n\n  #hotel-travel-page .fact span {\n    font-size: 11px;\n  }\n\n  #hotel-travel-page .modalbody {\n    grid-template-columns: 1fr;\n    padding: 16px;\n  }\n\n  #hotel-travel-page .modalhead {\n    padding: 14px 16px;\n  }\n\n  #hotel-travel-page .modalhead h2 {\n    font-size: 21px;\n  }\n\n  #hotel-travel-page .modalactions .btn {\n    width: 100%;\n  }\n\n  #hotel-travel-page .topnav {\n    gap: 12px;\n  }\n}\n<\/style>\n\n<div id=\"hotel-travel-page\">\n\n  <main>\n    <div class=\"wrap\">\n      <div class=\"crumb\">\n        <a href=\"https:\/\/saponixsoap.com\/fr\/\">Accueil<\/a>\n        \/ Savons pour h\u00f4tels et voyages\n      <\/div>\n\n      <section class=\"hero\">\n        <div>\n          <p class=\"kicker\">Produits d\u2019accueil \u00b7 Savons de voyage \u00b7 OEM \/ ODM<\/p>\n          <h1>Savons d\u2019h\u00f4tel et de voyage en marque blanche<\/h1>\n          <p>D\u00e9couvrez six concepts de savons d\u2019h\u00f4tel et de voyage avec papier gaufr\u00e9, papier pliss\u00e9, \u00e9tuis pliants, coffrets cadeaux individuels et bo\u00eetes \u00e0 tiroir. \u00c9changeons sur les formules, parfums, poids des savons, logos et emballages de marque pour votre gamme h\u00f4teli\u00e8re ou de voyage.<\/p>\n          <a class=\"btn\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Discuter de votre projet<\/a>\n        <\/div>\n        <img fetchpriority=\"high\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-embossed-paper-wrap-customization.jpg\" aria-labelledby=\"hotel-travel-product-1 hotel-travel-image-label-3\" alt=\"Private Label Hotel Soap with Embossed Paper Wrap \u2014 Packaging concept \u00b7 3 \/ 3\" width=\"1448\" height=\"1086\" decoding=\"async\">\n      <\/section>\n    <\/div>\n\n    <section class=\"facts\">\n      <div class=\"wrap\">\n        <div class=\"fact\">\n          <strong>200 unit\u00e9s<\/strong>\n          <span>Quantit\u00e9 minimale indicative ; \u00e0 confirmer selon le projet<\/span>\n        <\/div>\n        <div class=\"fact\">\n          <strong>Options d\u2019\u00e9chantillons<\/strong>\n          <span>Exp\u00e9dition et d\u00e9veloppement personnalis\u00e9 confirm\u00e9s s\u00e9par\u00e9ment<\/span>\n        <\/div>\n        <div class=\"fact\">\n          <strong>OEM \/ ODM<\/strong>\n          <span>Personnalisation du savon, du logo et de l\u2019emballage<\/span>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <nav class=\"categories wrap\" aria-label=\"Parcourir les cat\u00e9gories de personnalisation\">\n      <h2>Parcourir les cat\u00e9gories de personnalisation<\/h2>\n      <div class=\"catgrid\">\n        <a href=\"https:\/\/saponixsoap.com\/fr\/custom-ingredients-formulas\/\" class=\"\">Ingr\u00e9dients et formules sur mesure<\/a>\n        <a href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds\/\" class=\"\">Formes et moules \u00e0 savon sur mesure<\/a>\n        <a href=\"https:\/\/saponixsoap.com\/fr\/soap-cleansing-bars-by-use\/\" class=\"\">Savons et pains nettoyants par usage<\/a>\n        <a href=\"https:\/\/saponixsoap.com\/fr\/private-label-soap-gift-sets\/\" class=\"\">Savons pour invit\u00e9s et coffrets cadeaux<\/a>\n        <a href=\"https:\/\/saponixsoap.com\/fr\/skin-type-market-customization\/\" class=\"\">Personnalisation selon le type de peau et le march\u00e9<\/a>\n        <span class=\"current\" aria-current=\"page\">Savons pour h\u00f4tels et voyages<\/span>\n      <\/div>\n    <\/nav>\n\n    <section class=\"products wrap\">\n      <p class=\"kicker\">Concepts pour l\u2019h\u00f4tellerie et le voyage<\/p>\n      <h2>D\u00e9couvrez six savons d\u2019h\u00f4tel et de voyage<\/h2>\n      <p class=\"intro\">Comparez les pr\u00e9sentations sous papier et en bo\u00eete. Ouvrez l\u2019aper\u00e7u rapide pour voir l\u2019image principale, le d\u00e9tail du produit et le concept d\u2019emballage, ou consultez la page individuelle pour la pr\u00e9sentation compl\u00e8te du projet. Les poids et les sp\u00e9cifications finales des emballages sont confirm\u00e9s pour chaque projet.<\/p>\n\n      <div class=\"grid\">\n\n        <!-- 01: Embossed paper wrap -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-1 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-embossed-paper-wrap-main.jpg\" alt=\"Private Label Hotel Soap with Embossed Paper Wrap \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-1\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-soap-with-embossed-paper-wrap\/\">Savon d\u2019h\u00f4tel de marque priv\u00e9e sous emballage en papier gaufr\u00e9<\/a>\n            <\/h3>\n            <p class=\"description\">Savon ovale de couleur ivoire sous papier textur\u00e9 et pli\u00e9. \u00c9changeons sur la formule, le poids du savon, le logo en relief et le papier d\u2019emballage \u00e0 votre marque.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-1\" aria-labelledby=\"hotel-travel-quick-1 hotel-travel-product-1\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-soap-with-embossed-paper-wrap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-embossed-paper-wrap-detail.jpg\" alt=\"Private Label Hotel Soap with Embossed Paper Wrap \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-embossed-paper-wrap-customization.jpg\" alt=\"Private Label Hotel Soap with Embossed Paper Wrap \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n        <!-- 02: Pleated paper wrap -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-2 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-pleated-paper-wrap-main.jpg\" alt=\"Private Label Hotel Soap with Pleated Paper Wrap \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-2\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-soap-with-pleated-paper-wrap\/\">Savon d\u2019h\u00f4tel de marque priv\u00e9e sous emballage en papier pliss\u00e9<\/a>\n            <\/h3>\n            <p class=\"description\">Savon ovale de couleur ivoire sous papier pliss\u00e9 resserr\u00e9 avec une \u00e9tiquette ronde. \u00c9changeons sur les caract\u00e9ristiques du savon, les couleurs du papier et le graphisme de l\u2019\u00e9tiquette centrale.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-2\" aria-labelledby=\"hotel-travel-quick-2 hotel-travel-product-2\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-soap-with-pleated-paper-wrap\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-pleated-paper-wrap-detail.jpg\" alt=\"Private Label Hotel Soap with Pleated Paper Wrap \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-hotel-oval-soap-pleated-paper-wrap-customization.jpg\" alt=\"Private Label Hotel Soap with Pleated Paper Wrap \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n        <!-- 03: Green carton -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-3 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-hotel-rectangular-soap-green-carton-main.jpg\" alt=\"Custom Rectangular Hotel Soap in Green Carton \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-3\" href=\"https:\/\/saponixsoap.com\/fr\/custom-rectangular-hotel-soap-in-green-carton\/\">Savon d\u2019h\u00f4tel rectangulaire personnalis\u00e9 en \u00e9tui vert<\/a>\n            <\/h3>\n            <p class=\"description\">Savon rectangulaire de couleur ivoire avec un \u00e9tui pliant vert. \u00c9changeons sur la formule, les dimensions, le logo, l\u2019ajustement de l\u2019\u00e9tui et le graphisme de votre marque h\u00f4teli\u00e8re.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-3\" aria-labelledby=\"hotel-travel-quick-3 hotel-travel-product-3\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/custom-rectangular-hotel-soap-in-green-carton\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-hotel-rectangular-soap-green-carton-detail.jpg\" alt=\"Custom Rectangular Hotel Soap in Green Carton \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-hotel-rectangular-soap-green-carton-customization.jpg\" alt=\"Custom Rectangular Hotel Soap in Green Carton \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n        <!-- 04: Individual gift box -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-4 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/luxury-hotel-scalloped-soap-individual-gift-box-main.jpg\" alt=\"Luxury Scalloped Hotel Soap in Individual Gift Box \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-4\" href=\"https:\/\/saponixsoap.com\/fr\/luxury-scalloped-hotel-soap-in-individual-gift-box\/\">Savon d\u2019h\u00f4tel de luxe \u00e0 bords festonn\u00e9s en coffret cadeau individuel<\/a>\n            <\/h3>\n            <p class=\"description\">Savon rond de couleur ivoire \u00e0 bord festonn\u00e9 avec un calage adapt\u00e9 au coffret cadeau. \u00c9changeons sur la forme sculpt\u00e9e du savon, la formule, le logo et la pr\u00e9sentation en coffret individuel.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-4\" aria-labelledby=\"hotel-travel-quick-4 hotel-travel-product-4\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/luxury-scalloped-hotel-soap-in-individual-gift-box\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/luxury-hotel-scalloped-soap-individual-gift-box-detail.jpg\" alt=\"Luxury Scalloped Hotel Soap in Individual Gift Box \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/luxury-hotel-scalloped-soap-individual-gift-box-customization.jpg\" alt=\"Luxury Scalloped Hotel Soap in Individual Gift Box \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n        <!-- 05: Sage green travel box -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-5 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-travel-oval-soap-sage-green-box-main.jpg\" alt=\"Private Label Travel Soap in Sage Green Box \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-5\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-travel-soap-in-sage-green-box\/\">Savon de voyage en marque blanche dans une bo\u00eete vert sauge<\/a>\n            <\/h3>\n            <p class=\"description\">Savon de voyage ovale vert sauge avec bo\u00eete assortie et calage adapt\u00e9. \u00c9changeons sur la formule, les dimensions du savon, le logo et le design de l\u2019emballage.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-5\" aria-labelledby=\"hotel-travel-quick-5 hotel-travel-product-5\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-travel-soap-in-sage-green-box\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-travel-oval-soap-sage-green-box-detail.jpg\" alt=\"Private Label Travel Soap in Sage Green Box \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/private-label-travel-oval-soap-sage-green-box-customization.jpg\" alt=\"Private Label Travel Soap in Sage Green Box \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n        <!-- 06: Kraft drawer travel box -->\n        <article class=\"card\">\n          <img loading=\"lazy\" aria-labelledby=\"hotel-travel-product-6 hotel-travel-image-label-1\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-travel-hexagonal-soap-kraft-drawer-box-main-1.jpg\" alt=\"Custom Hexagonal Travel Soap in Kraft Drawer Box \u2014 Main image \u00b7 1 \/ 3\" width=\"1254\" height=\"1254\" decoding=\"async\">\n\n          <div class=\"cardbody\">\n            <h3>\n              <a id=\"hotel-travel-product-6\" href=\"https:\/\/saponixsoap.com\/fr\/custom-hexagonal-travel-soap-in-kraft-drawer-box\/\">Savon de voyage hexagonal sur mesure en bo\u00eete-tiroir kraft<\/a>\n            <\/h3>\n            <p class=\"description\">Savon \u00e0 six c\u00f4t\u00e9s de couleur ivoire avec bo\u00eete \u00e0 tiroir et ruban de tirage. \u00c9changeons sur le profil du savon, la formule, l\u2019ajustement du calage et l\u2019emballage de marque.<\/p>\n            <p class=\"price\">Prix indicatif : devis selon le projet<\/p>\n            <div class=\"cardactions\">\n              <button type=\"button\" class=\"quick\" id=\"hotel-travel-quick-6\" aria-labelledby=\"hotel-travel-quick-6 hotel-travel-product-6\">Aper\u00e7u rapide<\/button>\n              <a class=\"fulllink\" href=\"https:\/\/saponixsoap.com\/fr\/custom-hexagonal-travel-soap-in-kraft-drawer-box\/\">Voir tous les d\u00e9tails<\/a>\n            <\/div>\n          <\/div>\n\n          <template class=\"gallery\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-travel-hexagonal-soap-kraft-drawer-box-detail.jpg\" alt=\"Custom Hexagonal Travel Soap in Kraft Drawer Box \u2014 Product detail \u00b7 2 \/ 3\">\n            <img decoding=\"async\" src=\"https:\/\/saponixsoap.com\/wp-content\/uploads\/2026\/10\/custom-travel-hexagonal-soap-kraft-drawer-box-customization.jpg\" alt=\"Custom Hexagonal Travel Soap in Kraft Drawer Box \u2014 Packaging concept \u00b7 3 \/ 3\">\n          <\/template>\n        <\/article>\n\n      <\/div>\n    <\/section>\n\n    <section class=\"band\">\n      <div class=\"wrap\">\n        <p class=\"kicker\">Personnalisation du savon et de l\u2019emballage<\/p>\n        <h2>Cr\u00e9ez une gamme h\u00f4teli\u00e8re ou de voyage \u00e0 votre marque<\/h2>\n        <p class=\"intro\">Pr\u00e9cisez l\u2019usage pr\u00e9vu, les poids souhait\u00e9s, vos pr\u00e9f\u00e9rences de formule et de parfum, le graphisme de votre marque h\u00f4teli\u00e8re ou de voyage et vos besoins d\u2019emballage. Nous discuterons des \u00e9chantillons, des d\u00e9tails du logo, de l\u2019ajustement des emballages et des sp\u00e9cifications finales de production.<\/p>\n        <div class=\"options\">\n          <span>Formule du savon<\/span>\n          <span>Parfum<\/span>\n          <span>Formes et poids<\/span>\n          <span>Logo sur le savon<\/span>\n          <span>Papiers d\u2019emballage<\/span>\n          <span>\u00c9tuis et bo\u00eetes<\/span>\n          <span>Graphisme de marque<\/span>\n          <span>Conditionnement en vrac<\/span>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"faq wrap\">\n      <p class=\"kicker\">Questions des acheteurs<\/p>\n      <h2>Questions fr\u00e9quentes<\/h2>\n\n      <details>\n        <summary>Puis-je personnaliser le poids et les dimensions du savon d\u2019h\u00f4tel ?<\/summary>\n        <p>Indiquez le poids souhait\u00e9 et les dimensions pr\u00e9f\u00e9r\u00e9es. Nous discuterons de la formule, de la forme, du logo et de l\u2019ajustement de l\u2019emballage avant de confirmer les sp\u00e9cifications des \u00e9chantillons et de la production.<\/p>\n      <\/details>\n\n      <details>\n        <summary>Le logo de mon h\u00f4tel peut-il figurer sur le savon et l\u2019emballage ?<\/summary>\n        <p>Oui. Transmettez votre logo et l\u2019emplacement souhait\u00e9. Nous discuterons de la r\u00e9alisation du logo sur le savon et de l\u2019impression ou de la finition de l\u2019emballage, puis confirmerons le design approuv\u00e9 et les \u00e9ventuels frais de d\u00e9veloppement.<\/p>\n      <\/details>\n\n      <details>\n        <summary>Puis-je choisir un emballage papier ou des bo\u00eetes individuelles ?<\/summary>\n        <p>Les mod\u00e8les pr\u00e9sentent du papier textur\u00e9 pli\u00e9, du papier pliss\u00e9, des \u00e9tuis pliants, des coffrets cadeaux individuels et des bo\u00eetes \u00e0 tiroir. \u00c9changeons sur le mode d\u2019emballage, les mat\u00e9riaux et le graphisme de votre projet.<\/p>\n      <\/details>\n\n      <details>\n        <summary>Les dimensions et mat\u00e9riaux pr\u00e9sent\u00e9s sont-ils d\u00e9finitifs ?<\/summary>\n        <p>Les images illustrent des concepts de design. Les poids, dimensions, formules, mat\u00e9riaux d\u2019emballage et modalit\u00e9s de conditionnement sont confirm\u00e9s dans le devis de votre projet et lors de la validation des \u00e9chantillons.<\/p>\n      <\/details>\n\n      <details>\n        <summary>Quelle est la quantit\u00e9 minimale de commande ?<\/summary>\n        <p>Le minimum de commande indicatif est de 200 unit\u00e9s. Le minimum d\u00e9finitif d\u00e9pend de la formule du savon, du logo, de la structure de l\u2019emballage et des besoins de personnalisation ; il est confirm\u00e9 pour votre projet.<\/p>\n      <\/details>\n\n      <details>\n        <summary>Puis-je demander des \u00e9chantillons avant de commander ?<\/summary>\n        <p>Des \u00e9chantillons peuvent \u00eatre demand\u00e9s. La s\u00e9lection des \u00e9chantillons, les frais de d\u00e9veloppement personnalis\u00e9s et les frais d'exp\u00e9dition sont confirm\u00e9s pour votre projet et votre adresse de livraison.<\/p>\n      <\/details>\n    <\/section>\n\n    <section class=\"final\">\n      <div class=\"wrap\">\n        <h2>Pr\u00e9sentez-nous votre projet de savon d\u2019h\u00f4tel ou de voyage<\/h2>\n        <p>Indiquez le produit souhait\u00e9, la quantit\u00e9, les caract\u00e9ristiques du savon et vos besoins d\u2019emballage.<\/p>\n        <a class=\"btn light\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Demander un devis<\/a>\n      <\/div>\n    <\/section>\n  <section class=\"wrap\" id=\"spx-related-buying-guides\" aria-labelledby=\"spx-related-guides-title\" style=\"padding:24px 0 40px;border-top:1px solid #d9e3d9\"><h2 id=\"spx-related-guides-title\">Related buying guides<\/h2><p>Plan hotel soap sizes, packaging and logo options before requesting a quotation.<\/p><ul><li><a href=\"https:\/\/saponixsoap.com\/fr\/hotel-soap-buying-guide\/\">Comment choisir la taille, la forme et l'emballage d'un savon pour h\u00f4tel<\/a><\/li><li><a href=\"https:\/\/saponixsoap.com\/fr\/custom-soap-shapes-molds-guide\/\">Savons personnalis\u00e9s avec logo : formes existantes et nouveaux moules<\/a><\/li><\/ul><\/section><\/main>\n\n  <div class=\"spx-gallery-caption-labels\" hidden aria-hidden=\"true\"><span id=\"hotel-travel-image-label-1\">Image principale \u00b7 1 \/ 3<\/span><span id=\"hotel-travel-image-label-2\">D\u00e9tail du produit \u00b7 2 \/ 3<\/span><span id=\"hotel-travel-image-label-3\">Concept d\u2019emballage \u00b7 3 \/ 3<\/span><\/div>\n\n  <dialog aria-labelledby=\"hotel-travel-modal-title\" aria-describedby=\"hotel-travel-modal-description\">\n\n    <div class=\"modalhead\">\n      <h2 id=\"hotel-travel-modal-title\">Aper\u00e7u rapide du produit<\/h2>\n      <button type=\"button\" class=\"close\">Fermer<\/button>\n    <\/div>\n\n    <div class=\"modalbody\">\n      <div>\n        <img class=\"mainimage\" alt=\"\" width=\"1254\" height=\"1254\">\n        <div class=\"thumbs\" role=\"group\" aria-label=\"S\u00e9lection des images du produit\"><\/div>\n        <p class=\"caption\" aria-live=\"polite\" aria-atomic=\"true\"><\/p>\n      <\/div>\n\n      <div>\n        <p class=\"modaldescription\" id=\"hotel-travel-modal-description\"><\/p>\n        <dl>\n          <dt>Quantit\u00e9 minimale indicative<\/dt>\n          <dd>200 unit\u00e9s ; \u00e0 confirmer pour votre projet<\/dd>\n\n          <dt>Prix<\/dt>\n          <dd>Devis selon la quantit\u00e9, les caract\u00e9ristiques du savon et l\u2019emballage<\/dd>\n\n          <dt>Sp\u00e9cifications<\/dt>\n          <dd>Formule, poids, dimensions et mode de conditionnement confirm\u00e9s pour chaque projet<\/dd>\n\n          <dt>Personnalisation<\/dt>\n          <dd>Formule, parfum, forme, logo, papiers, \u00e9tuis, bo\u00eetes et graphisme<\/dd>\n\n          <dt>\u00c9chantillons<\/dt>\n          <dd>\u00c9chantillons sur demande ; co\u00fbts et transport \u00e0 confirmer s\u00e9par\u00e9ment<\/dd>\n        <\/dl>\n\n        <div class=\"modalactions\">\n          <a class=\"btn quote\" href=\"https:\/\/saponixsoap.com\/fr\/contact-us-request-a-quote\/\">Demander un devis<\/a>\n          <a class=\"btn light details\" href=\"https:\/\/saponixsoap.com\/fr\/private-label-hotel-soap-with-embossed-paper-wrap\/\">Voir tous les d\u00e9tails<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/dialog>\n\n  <\/div>\n\n<script>\n(function () {\n  const root = document.getElementById('hotel-travel-page');\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = 'true';\n\n  const modal = root.querySelector('dialog');\n  const image = modal.querySelector('.mainimage');\n  const thumbs = modal.querySelector('.thumbs');\n  const caption = modal.querySelector('.caption');\n  const captionLabels = root.querySelectorAll('.spx-gallery-caption-labels span');\n  const cards = Array.from(root.querySelectorAll('.card'));\n  const heroImage = root.querySelector('.hero img');\n\n  let pictures = [];\n  let opener = null;\n  let previousOverflow = '';\n  let activeCard = null;\n  let selectedIndex = 0;\n\n  function pictureName(card, index) {\n    return card.querySelector('h3 a').textContent.trim() + ' \u2014 ' +\n      captionLabels[index].textContent.trim();\n  }\n\n  \/\/ Watch only translated source text, so updating names cannot retrigger this observer.\n  function syncImageNames() {\n    cards.forEach(function (card) {\n      card.querySelector(':scope > img').alt = pictureName(card, 0);\n      card.querySelector('template.gallery').content.querySelectorAll('img')\n        .forEach(function (photo, index) {\n          photo.alt = pictureName(card, index + 1);\n        });\n    });\n    heroImage.alt = pictureName(cards[0], 2);\n    if (activeCard && pictures.length) {\n      modal.querySelector('h2').textContent = activeCard.querySelector('h3 a').textContent.trim();\n      image.alt = pictureName(activeCard, selectedIndex);\n      caption.textContent = captionLabels[selectedIndex].textContent.trim();\n    }\n  }\n\n  syncImageNames();\n  const nameObserver = new MutationObserver(syncImageNames);\n  cards.forEach(function (card) {\n    nameObserver.observe(card.querySelector('h3 a'), {\n      childList: true, characterData: true, subtree: true\n    });\n  });\n  nameObserver.observe(root.querySelector('.spx-gallery-caption-labels'), {\n    childList: true, characterData: true, subtree: true\n  });\n\n  function select(index) {\n    const selected = pictures[index];\n    if (!selected) return;\n\n    selectedIndex = index;\n    image.src = selected.src;\n    image.alt = pictureName(activeCard, index);\n    image.setAttribute('aria-labelledby',\n      'hotel-travel-modal-title hotel-travel-image-label-' + (index + 1));\n    caption.textContent = captionLabels[index].textContent.trim();\n\n    thumbs.querySelectorAll('button').forEach(function (button, i) {\n      button.setAttribute('aria-pressed', String(i === index));\n    });\n  }\n\n  root.querySelectorAll('.quick').forEach(function (button) {\n    button.addEventListener('click', function () {\n      const card = button.closest('.card');\n      const titleLink = card.querySelector('h3 a');\n      const title = titleLink.textContent.trim();\n\n      if (typeof modal.showModal !== 'function') {\n        window.location.href = titleLink.href;\n        return;\n      }\n\n      opener = button;\n      activeCard = card;\n\n      pictures = [card.querySelector(':scope > img')]\n        .concat(\n          Array.from(\n            card.querySelector('template.gallery').content.querySelectorAll('img')\n          )\n        )\n        .map(function (item) {\n          return {\n            src: item.getAttribute('src')\n          };\n        });\n\n      modal.querySelector('h2').textContent = title;\n      modal.querySelector('.modaldescription').textContent =\n        card.querySelector('.description').textContent;\n\n      modal.querySelector('.details').href = titleLink.href;\n      \/\/ Use the current document language and product title for the draft message.\n      const quoteLanguage = (document.documentElement.lang || 'en')\n        .toLowerCase().replace(\/_\/g, '-').split('-')[0];\n      const quoteMessages = {\n        en: 'Hello saponixsoap, I would like a quote for {product}.',\n        es: 'Hola saponixsoap, me gustar\u00eda solicitar un presupuesto para {product}.',\n        fr: 'Bonjour saponixsoap, je souhaiterais obtenir un devis pour {product}.',\n        de: 'Hallo saponixsoap, ich h\u00e4tte gerne ein Angebot f\u00fcr {product}.',\n        pt: 'Ol\u00e1 saponixsoap, gostaria de solicitar um or\u00e7amento para {product}.',\n        ru: '\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, saponixsoap! \u041f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\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 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u043e\u0432\u0430\u0440: {product}.',\n        ar: '\u0645\u0631\u062d\u0628\u064b\u0627 saponixsoap\u060c \u0623\u0648\u062f \u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0644\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u062a\u0627\u0644\u064a: {product}.'\n      };\n      const quoteMessage = (quoteMessages[quoteLanguage] || quoteMessages.en)\n        .replace('{product}', function () { return title; });\n      modal.querySelector('.quote').href =\n        'https:\/\/wa.me\/8615766669666?text=' + encodeURIComponent(quoteMessage);\n\n      thumbs.replaceChildren();\n\n      pictures.forEach(function (item, index) {\n        const thumb = document.createElement('button');\n        thumb.type = 'button';\n        thumb.dataset.index = String(index);\n        thumb.setAttribute(\n          'aria-labelledby',\n          'hotel-travel-modal-title hotel-travel-image-label-' + (index + 1)\n        );\n        thumb.setAttribute('aria-pressed', String(index === 0));\n\n        const photo = document.createElement('img');\n        photo.src = item.src;\n        photo.alt = '';\n        photo.width = 1254;\n        photo.height = 1254;\n        photo.decoding = 'async';\n\n        thumb.appendChild(photo);\n        thumbs.appendChild(thumb);\n      });\n\n      select(0);\n      previousOverflow = document.body.style.overflow;\n      modal.showModal();\n      document.body.style.overflow = 'hidden';\n    });\n  });\n\n  thumbs.addEventListener('click', function (event) {\n    const button = event.target.closest('button[data-index]');\n    if (button && thumbs.contains(button)) {\n      select(Number(button.dataset.index));\n    }\n  });\n\n  thumbs.addEventListener('keydown', function (event) {\n    const button = event.target.closest('button[data-index]');\n    if (!button) return;\n\n    let next = Number(button.dataset.index);\n    const step = getComputedStyle(thumbs).direction === 'rtl' ? -1 : 1;\n\n    if (event.key === 'ArrowRight') {\n      next = (next + step + pictures.length) % pictures.length;\n    } else if (event.key === 'ArrowLeft') {\n      next = (next - step + pictures.length) % pictures.length;\n    } else if (event.key === 'Home') {\n      next = 0;\n    } else if (event.key === 'End') {\n      next = pictures.length - 1;\n    } else {\n      return;\n    }\n\n    event.preventDefault();\n    select(next);\n    thumbs.querySelectorAll('button')[next].focus();\n  });\n\n  modal.querySelector('.close').addEventListener('click', function () {\n    modal.close();\n  });\n\n  modal.addEventListener('click', function (event) {\n    const box = modal.getBoundingClientRect();\n\n    if (\n      event.target === modal &&\n      (\n        event.clientX < box.left ||\n        event.clientX > box.right ||\n        event.clientY < box.top ||\n        event.clientY > box.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>\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"ItemList\", \"@id\": \"https:\/\/saponixsoap.com\/private-label-hotel-travel-soaps\/#product-list\", \"name\": \"Private Label Hotel & Travel Soaps\", \"numberOfItems\": 6, \"itemListElement\": [{\"@type\": \"ListItem\", \"position\": 1, \"name\": \"Private Label Hotel Soap with Embossed Paper Wrap\", \"url\": \"https:\/\/saponixsoap.com\/private-label-hotel-soap-with-embossed-paper-wrap\/\"}, {\"@type\": \"ListItem\", \"position\": 2, \"name\": \"Private Label Hotel Soap with Pleated Paper Wrap\", \"url\": \"https:\/\/saponixsoap.com\/private-label-hotel-soap-with-pleated-paper-wrap\/\"}, {\"@type\": \"ListItem\", \"position\": 3, \"name\": \"Custom Rectangular Hotel Soap in Green Carton\", \"url\": \"https:\/\/saponixsoap.com\/custom-rectangular-hotel-soap-in-green-carton\/\"}, {\"@type\": \"ListItem\", \"position\": 4, \"name\": \"Luxury Scalloped Hotel Soap in Individual Gift Box\", \"url\": \"https:\/\/saponixsoap.com\/luxury-scalloped-hotel-soap-in-individual-gift-box\/\"}, {\"@type\": \"ListItem\", \"position\": 5, \"name\": \"Private Label Travel Soap in Sage Green Box\", \"url\": \"https:\/\/saponixsoap.com\/private-label-travel-soap-in-sage-green-box\/\"}, {\"@type\": \"ListItem\", \"position\": 6, \"name\": \"Custom Hexagonal Travel Soap in Kraft Drawer Box\", \"url\": \"https:\/\/saponixsoap.com\/custom-hexagonal-travel-soap-in-kraft-drawer-box\/\"}]}]}<\/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\"><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>  \n<script id=\"spx-hotel-joinchat-i18n\">\n(function () {\n  'use strict';\n\n  \/\/ Hotel page only. English and unsupported languages keep Joinchat's original message.\n  if (!document.body.classList.contains('page-id-624') ||\n      !document.getElementById('hotel-travel-page')) return;\n\n  const messages = {\n    es: 'Hola, me interesan los jabones de marca privada. \u00bfPodr\u00edan compartir la cantidad m\u00ednima de pedido, el cat\u00e1logo y los precios de {TITLE} ({URL})?',\n    fr: 'Bonjour, je m\u2019int\u00e9resse \u00e0 vos savons sous marque priv\u00e9e. Pourriez-vous m\u2019indiquer la quantit\u00e9 minimale de commande, le catalogue et les tarifs pour {TITLE} ({URL}) ?',\n    de: 'Hallo, ich interessiere mich f\u00fcr Seifen unter eigener Marke. K\u00f6nnten Sie mir die Mindestbestellmenge, den Katalog und die Preise f\u00fcr {TITLE} ({URL}) mitteilen?',\n    pt: 'Ol\u00e1, tenho interesse em sabonetes de marca pr\u00f3pria. Poderiam informar a quantidade m\u00ednima de pedido e enviar o cat\u00e1logo e os pre\u00e7os de {TITLE} ({URL})?',\n    ru: '\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u041c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u043c\u044b\u043b\u043e \u043f\u043e\u0434 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u0439 \u043c\u0430\u0440\u043a\u043e\u0439. \u041f\u043e\u0434\u0441\u043a\u0430\u0436\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0437\u0430\u043a\u0430\u0437\u0430, \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u0446\u0435\u043d\u044b \u043d\u0430 {TITLE} ({URL}).',\n    ar: '\u0645\u0631\u062d\u0628\u064b\u0627\u060c \u0623\u0646\u0627 \u0645\u0647\u062a\u0645 \u0628\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0635\u0627\u0628\u0648\u0646 \u0628\u0639\u0644\u0627\u0645\u0629 \u062a\u062c\u0627\u0631\u064a\u0629 \u062e\u0627\u0635\u0629. \u0647\u0644 \u064a\u0645\u0643\u0646\u0643\u0645 \u062a\u0632\u0648\u064a\u062f\u064a \u0628\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0644\u0644\u0637\u0644\u0628 \u0648\u0627\u0644\u0643\u062a\u0627\u0644\u0648\u062c \u0648\u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 {TITLE} ({URL})\u061f'\n  };\n\n  function localizeMessage() {\n    const language = (document.documentElement.lang || '').toLowerCase().replace(\/_\/g, '-').split('-')[0];\n    const template = messages[language];\n    if (!template) return;\n\n    const widget = document.querySelector('.joinchat');\n    const client = window.joinchat_obj;\n    const heading = document.querySelector('#hotel-travel-page h1');\n    if (!widget || !client || !client.settings || client.$div !== widget || !heading) return;\n\n    const title = heading.textContent.trim();\n    if (!title) return;\n    const pageUrl = window.location.origin + window.location.pathname;\n    const message = template.replace(\/\\{TITLE\\}|\\{URL\\}\/g, function (token) {\n      return token === '{TITLE}' ? title : pageUrl;\n    });\n\n    \/\/ Update the live settings used by Joinchat's own WhatsApp URL builder.\n    client.settings.message_send = message;\n    widget.setAttribute('data-settings', JSON.stringify(client.settings));\n  }\n\n  document.addEventListener('joinchat:start', localizeMessage);\n  document.addEventListener('joinchat:show', localizeMessage);\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', localizeMessage, { once: true });\n  } else {\n    localizeMessage();\n  }\n})();\n<\/script>\n\n<script id=\"spx-hotel-joinchat-ui-i18n\">\n(function () {\n  'use strict';\n\n  \/\/ This component lives on post 624 only; keep English and other pages unchanged.\n  if (!document.body.classList.contains('page-id-624') ||\n      !document.getElementById('hotel-travel-page')) return;\n\n  const labels = {\n    es: {\n      cta: '\u00bfNecesita f\u00f3rmulas de jab\u00f3n a medida o presupuestos de marca privada (pedido m\u00ednimo de 200 unidades)? \u00a1Escr\u00edbanos por WhatsApp!',\n      open: 'Abrir chat',\n      close: 'Cerrar',\n      powered: 'Con tecnolog\u00eda de '\n    },\n    fr: {\n      cta: 'Besoin de formules de savon sur mesure ou d\u2019un devis pour des savons sous marque priv\u00e9e (commande minimale : 200 pi\u00e8ces) ? Contactez-nous sur WhatsApp !',\n      open: 'Ouvrir le chat',\n      close: 'Fermer',\n      powered: 'Propuls\u00e9 par '\n    },\n    de: {\n      cta: 'Ben\u00f6tigen Sie individuelle Seifenrezepturen oder ein Angebot f\u00fcr Seifen unter eigener Marke (Mindestbestellmenge: 200 St\u00fcck)? Schreiben Sie uns auf WhatsApp!',\n      open: 'Chat \u00f6ffnen',\n      close: 'Schlie\u00dfen',\n      powered: 'Unterst\u00fctzt von '\n    },\n    pt: {\n      cta: 'Precisa de f\u00f3rmulas de sabonete personalizadas ou de um or\u00e7amento para sabonetes de marca pr\u00f3pria (pedido m\u00ednimo de 200 unidades)? Fale conosco pelo WhatsApp!',\n      open: 'Abrir conversa',\n      close: 'Fechar',\n      powered: 'Desenvolvido por '\n    },\n    ru: {\n      cta: '\u041d\u0443\u0436\u043d\u0430 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u0443\u0440\u0430 \u043c\u044b\u043b\u0430 \u0438\u043b\u0438 \u0440\u0430\u0441\u0447\u0451\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u044b\u043b\u0430 \u043f\u043e\u0434 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u0439 \u043c\u0430\u0440\u043a\u043e\u0439 (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043a\u0430\u0437 \u2014 200 \u0448\u0442.)? \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043d\u0430\u043c \u0432 WhatsApp!',\n      open: '\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0447\u0430\u0442',\n      close: '\u0417\u0430\u043a\u0440\u044b\u0442\u044c',\n      powered: '\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 '\n    },\n    ar: {\n      cta: '\u0647\u0644 \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0631\u0643\u064a\u0628\u0627\u062a \u0635\u0627\u0628\u0648\u0646 \u0645\u062e\u0635\u0635\u0629 \u0623\u0648 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0644\u0635\u0627\u0628\u0648\u0646 \u0628\u0639\u0644\u0627\u0645\u0629 \u062a\u062c\u0627\u0631\u064a\u0629 \u062e\u0627\u0635\u0629 (\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0644\u0644\u0637\u0644\u0628: 200 \u0642\u0637\u0639\u0629)\u061f \u062a\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627 \u0639\u0628\u0631 WhatsApp!',\n      open: '\u0641\u062a\u062d \u0627\u0644\u062f\u0631\u062f\u0634\u0629',\n      close: '\u0625\u063a\u0644\u0627\u0642',\n      powered: '\u0628\u062f\u0639\u0645 \u0645\u0646 '\n    }\n  };\n\n  function setText(element, text) {\n    if (element && element.textContent !== text) element.textContent = text;\n  }\n\n  function localizeChatUI() {\n    const language = (document.documentElement.lang || '').toLowerCase().replace(\/_\/g, '-').split('-')[0];\n    const text = labels[language];\n    if (!text) return;\n\n    const widget = document.querySelector('.joinchat');\n    if (!widget) return;\n    \/\/ TranslateRocket's dynamic observer honors this standard opt-out marker.\n    \/\/ These six-language strings are already reviewed and must not be retranslated.\n    widget.setAttribute('translate', 'no');\n\n    setText(widget.querySelector('.joinchat__chat > .joinchat__bubble:not(.joinchat__bubble--loading)'), text.cta);\n    setText(widget.querySelector('.joinchat__open__text'), text.open);\n\n    const launcher = widget.querySelector('.joinchat__button');\n    const contact = widget.querySelector('.joinchat__open');\n    const close = widget.querySelector('.joinchat__close');\n    if (launcher) launcher.setAttribute('aria-label', text.open);\n    if (contact) contact.setAttribute('aria-label', text.open);\n    if (close) close.setAttribute('aria-label', text.close);\n\n    \/\/ Keep Joinchat's attribution link, brand span and all click handlers intact.\n    const powered = widget.querySelector('.joinchat__powered');\n    const brand = powered && powered.querySelector('span');\n    if (powered && brand) {\n      setText(brand, 'Joinchat');\n      brand.setAttribute('dir', 'ltr');\n      if (powered.textContent !== text.powered + 'Joinchat') {\n        powered.replaceChildren(document.createTextNode(text.powered), brand);\n      }\n    }\n  }\n\n  document.addEventListener('joinchat:start', localizeChatUI);\n  document.addEventListener('joinchat:show', localizeChatUI);\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', localizeChatUI, { once: true });\n  } else {\n    localizeChatUI();\n  }\n})();\n<\/script>\n\n<style id=\"spx-hotel-joinchat-mobile-layout-css\">\n\/* Hotel page: fit the chat box within the available mobile content width. *\/\n@media (max-width: 480px) {\n  body.page-id-624 .joinchat[data-spx-hotel-mobile-layout] .joinchat__chatbox {\n    width: calc(var(--spx-hotel-client-width) - 2 * var(--sep));\n  }\n\n  \/* A classic RTL scrollbar occupies the left side of the viewport. *\/\n  body.page-id-624 .joinchat--left[data-spx-hotel-mobile-layout] {\n    left: calc(var(--sep) + var(--spx-hotel-scrollbar-left));\n  }\n\n  \/* Keep the attribution link and brand; let its box fit the full text. *\/\n  body.page-id-624 .joinchat[data-spx-hotel-mobile-layout] .joinchat__powered {\n    box-sizing: border-box;\n    width: max-content;\n    min-width: 130px;\n    max-width: calc(var(--spx-hotel-client-width) - 2 * var(--sep) - 16px);\n    height: auto;\n    min-height: 20px;\n    padding: 0 8px;\n    white-space: normal;\n    overflow-wrap: anywhere;\n  }\n}\n<\/style>\n<script id=\"spx-hotel-joinchat-mobile-layout\">\n(function () {\n  'use strict';\n\n  \/\/ Apply the mobile layout only to this hotel page and its six preview languages.\n  if (!document.body.classList.contains('page-id-624') ||\n      !document.getElementById('hotel-travel-page')) return;\n\n  const languages = ['es', 'fr', 'de', 'pt', 'ru', 'ar'];\n\n  function fitHotelChat() {\n    const root = document.documentElement;\n    const language = (root.lang || '').toLowerCase().replace(\/_\/g, '-').split('-')[0];\n    if (languages.indexOf(language) === -1) return;\n\n    const widget = document.querySelector('.joinchat');\n    if (!widget || !root.clientWidth) return;\n\n    const scrollbarWidth = Math.max(0, window.innerWidth - root.clientWidth);\n    const scrollbarLeft = Math.max(0, Math.min(root.clientLeft, scrollbarWidth));\n    widget.style.setProperty('--spx-hotel-client-width', root.clientWidth + 'px');\n    widget.style.setProperty('--spx-hotel-scrollbar-left', scrollbarLeft + 'px');\n    widget.setAttribute('data-spx-hotel-mobile-layout', language);\n  }\n\n  document.addEventListener('joinchat:start', fitHotelChat);\n  document.addEventListener('joinchat:show', fitHotelChat);\n  window.addEventListener('resize', fitHotelChat, { passive: true });\n  window.addEventListener('load', fitHotelChat, { once: true });\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', fitHotelChat, { once: true });\n  } else {\n    fitHotelChat();\n  }\n})();\n<\/script>\n\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":"","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-624","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/624","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=624"}],"version-history":[{"count":43,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/624\/revisions"}],"predecessor-version":[{"id":47051,"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/pages\/624\/revisions\/47051"}],"wp:attachment":[{"href":"https:\/\/saponixsoap.com\/wp-json\/wp\/v2\/media?parent=624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}