{"id":62922,"date":"2025-09-10T13:03:51","date_gmt":"2025-09-10T06:03:51","guid":{"rendered":"https:\/\/mashmoshem.co.id\/katalog\/massage-oil\/"},"modified":"2026-02-26T11:44:31","modified_gmt":"2026-02-26T04:44:31","slug":"private-label-massage-oil","status":"publish","type":"product","link":"https:\/\/mashmoshem.co.id\/en\/katalog\/private-label-massage-oil\/","title":{"rendered":"Massage Oil"},"content":{"rendered":"\n<p style=\"font-weight: bold; font-size: 18px; margin-bottom: 12px;\">Packaging Options:<\/p>\n<div id=\"vk_62922_09969f\" class=\"variankemasan-carousel-container\" aria-roledescription=\"carousel\">\r\n\r\n    <!-- Desktop arrows -->\r\n    <div class=\"variankemasan-carousel-arrow variankemasan-prev desktop-only\" role=\"button\" aria-label=\"Prev\" tabindex=\"0\">&#10094;<\/div>\r\n\r\n    <!-- Track -->\r\n    <div class=\"variankemasan-carousel-wrapper\">\r\n        <div class=\"variankemasan-carousel-track\">\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Travel-Size-2.webp\" alt=\"TRAVEL SIZE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">TRAVEL SIZE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Plastic-Bottle-Pump.webp\" alt=\"PLASTIC PUMP BOTTLE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">PLASTIC PUMP BOTTLE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Glass-Bottle-Pump.webp\" alt=\"GLASS PUMP BOTTLE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">GLASS PUMP BOTTLE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Plastic-Bottle-Flip-Top.webp\" alt=\"PLASTIC FLIP-TOP BOTTLE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">PLASTIC FLIP-TOP BOTTLE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Roll-On-Bottle.webp\" alt=\"ROLL-ON BOTTLE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">ROLL-ON BOTTLE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Spray-Bottle.webp\" alt=\"SPRAY BOTTLE (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\">SPRAY BOTTLE<\/div>\r\n            <\/div>\r\n                    <div class=\"variankemasan-carousel-item\">\r\n                <img decoding=\"async\" src=\"https:\/\/mashmoshem.co.id\/wp-content\/uploads\/2025\/09\/Custom-Varian-3-300x300.webp\" alt=\"(Z) CUSTOM (MASSAGE OIL)\">\r\n                <div class=\"variankemasan-carousel-label\"> CUSTOM<\/div>\r\n            <\/div>\r\n                <\/div>\r\n    <\/div>\r\n\r\n    <!-- Desktop next arrow -->\r\n    <div class=\"variankemasan-carousel-arrow variankemasan-next desktop-only\" role=\"button\" aria-label=\"Next\" tabindex=\"0\">&#10095;<\/div>\r\n\r\n    <!-- Mobile arrows -->\r\n    <div class=\"variankemasan-carousel-arrows mobile-only\" aria-hidden=\"false\">\r\n        <div class=\"variankemasan-carousel-arrow variankemasan-prev\" role=\"button\" aria-label=\"Prev\" tabindex=\"0\">&#10094;<\/div>\r\n        <div class=\"variankemasan-carousel-arrow variankemasan-next\" role=\"button\" aria-label=\"Next\" tabindex=\"0\">&#10095;<\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* Scoped styles (anchored to #vk_62922_09969f to avoid collisions) *\/\r\n#vk_62922_09969f{display:flex;align-items:center;justify-content:center;position:relative;margin:30px 0}\r\n#vk_62922_09969f .variankemasan-carousel-wrapper{overflow:hidden;width:100%;max-width:100%;touch-action:pan-y}\r\n#vk_62922_09969f .variankemasan-carousel-track{display:flex;transition:transform .35s ease;will-change:transform}\r\n#vk_62922_09969f .variankemasan-carousel-item{flex:0 0 16.6666%;padding:10px;box-sizing:border-box;text-align:center}\r\n#vk_62922_09969f .variankemasan-carousel-item img{width:100%;height:auto;border-radius:6px}\r\n#vk_62922_09969f .variankemasan-carousel-label{font-size:14px;margin-top:6px}\r\n#vk_62922_09969f .variankemasan-carousel-arrow{font-size:20px;color:#000;cursor:pointer;user-select:none;padding:0 10px;line-height:1}\r\n#vk_62922_09969f .variankemasan-carousel-wrapper::-webkit-scrollbar{display:none}\r\n#vk_62922_09969f .variankemasan-carousel-wrapper{-ms-overflow-style:none;scrollbar-width:none}\r\n#vk_62922_09969f .mobile-only{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);pointer-events:none}\r\n#vk_62922_09969f .mobile-only .variankemasan-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:15px;padding:0;font-weight:300;opacity:.7;pointer-events:all}\r\n#vk_62922_09969f .mobile-only .variankemasan-prev{left:3px}\r\n#vk_62922_09969f .mobile-only .variankemasan-next{right:3px}\r\n@media (max-width:768px){\r\n  #vk_62922_09969f{flex-direction:column}\r\n  #vk_62922_09969f .variankemasan-carousel-item{flex:0 0 33.3333%}\r\n  #vk_62922_09969f .desktop-only{display:none!important}\r\n}\r\n@media (min-width:769px){\r\n  #vk_62922_09969f .mobile-only{display:none!important}\r\n}\r\n@media (prefers-reduced-motion: reduce){\r\n  #vk_62922_09969f .variankemasan-carousel-track{transition:none}\r\n}\r\n<\/style>\r\n\r\n<script data-no-optimize=\"1\" data-no-minify=\"1\" data-no-defer=\"1\">(function(){\r\n  var root   = document.getElementById('vk_62922_09969f');\r\n  if(!root) return;\r\n  var track  = root.querySelector('.variankemasan-carousel-track');\r\n  var items  = root.querySelectorAll('.variankemasan-carousel-item');\r\n  var prevs  = root.querySelectorAll('.variankemasan-prev');\r\n  var nexts  = root.querySelectorAll('.variankemasan-next');\r\n  var wrap   = root.querySelector('.variankemasan-carousel-wrapper');\r\n  if(!track || !items.length) return;\r\n\r\n  var index=0, timer=null;\r\n\r\n  function visible(){\r\n    var w = root.clientWidth || window.innerWidth;\r\n    return (w <= 768) ? 3 : 6;\r\n  }\r\n  function maxIndex(){ return Math.max(0, items.length - visible()); }\r\n\r\n  function update(){\r\n    var w = items[0].getBoundingClientRect().width; \/\/ read once\r\n    track.style.transform = 'translate3d(' + (-index * w) + 'px,0,0)'; \/\/ write once\r\n  }\r\n\r\n  function goNext(){\r\n    index = Math.min(index + 1, maxIndex()); \/\/ no looping\r\n    update();\r\n  }\r\n  function goPrev(){\r\n    index = Math.max(index - 1, 0);\r\n    update();\r\n  }\r\n\r\n  function stop(){ if(timer){ clearInterval(timer); timer=null; } }\r\n  function start(){\r\n    stop();\r\n    if(window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\r\n    timer = setInterval(goNext, 2500);\r\n  }\r\n  function pauseAndResume(){\r\n    stop();\r\n    setTimeout(start, 1500);\r\n  }\r\n\r\n  nexts.forEach(function(b){ b.addEventListener('click', function(){ goNext();  pauseAndResume(); }, {passive:true}); });\r\n  prevs.forEach(function(b){ b.addEventListener('click', function(){ goPrev();  pauseAndResume(); }, {passive:true}); });\r\n\r\n  \/\/ swipe\r\n  var sx=0, ex=0;\r\n  wrap.addEventListener('touchstart', function(e){ sx = e.touches[0].clientX; }, {passive:true});\r\n  wrap.addEventListener('touchmove',  function(e){ ex = e.touches[0].clientX; }, {passive:true});\r\n  wrap.addEventListener('touchend',   function(){ var d=sx-ex; if(Math.abs(d)<50) return; (d>0?goNext:goPrev)(); pauseAndResume(); }, {passive:true});\r\n\r\n  \/\/ resize (debounced via ResizeObserver if available)\r\n  if('ResizeObserver' in window){ new ResizeObserver(update).observe(wrap); }\r\n  else { window.addEventListener('resize', update, {passive:true}); }\r\n\r\n  update(); start();\r\n})();<\/script>\r\n\n","protected":false},"excerpt":{"rendered":"<p>The body care market continues to expand, creating the perfect opportunity to build your own massage oil brand. With natural formulas, smooth textures, and calming fragrances, your products can quickly win consumer trust and loyalty. Through our private label massage oil manufacturing services, we help you create high quality products with an easy and hassle free process.<\/p>\n<h4><strong>PT Mash Moshem Indonesia provides fully certified private label massage oil manufacturing services:<\/strong><\/h4>\n[html_block id=\"52173\"]\n","protected":false},"featured_media":62915,"template":"","meta":[],"product_brand":[],"product_cat":[3308],"product_tag":[],"class_list":{"0":"post-62922","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-body-care","8":"first","9":"instock","10":"shipping-taxable","11":"product-type-external"},"_links":{"self":[{"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/product\/62922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/media\/62915"}],"wp:attachment":[{"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/media?parent=62922"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/product_brand?post=62922"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/product_cat?post=62922"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/mashmoshem.co.id\/en\/wp-json\/wp\/v2\/product_tag?post=62922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}