{"id":56068,"date":"2026-10-04T23:05:19","date_gmt":"2026-10-04T23:05:19","guid":{"rendered":"https:\/\/carmelcosmeticslabs.com\/?page_id=56068"},"modified":"2026-11-04T07:51:25","modified_gmt":"2026-11-04T07:51:25","slug":"private-label-beauty-products-retailers","status":"publish","type":"page","link":"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/","title":{"rendered":"Private label beauty products for retailers"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"56068\" class=\"elementor elementor-56068 elementor-45966 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-88f527f e-flex e-con-full cm-cat e-con e-parent\" data-id=\"88f527f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-fbd4e85 e-flex e-con-full sx tone-gms e-con e-child\" data-id=\"fbd4e85\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-662335f elementor-widget elementor-widget-html\" data-id=\"662335f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>body .cm-cat{--bg:#fbfdfc;--paper:#ffffff;--mint:#edf5f2;--mint-2:#dcebe6;--ink:#10292a;--muted:#51686a;--line:#d6e4e0;--teal:#2f7266;--teal-ink:#ffffff;--deep:#0f3a35;--deep-ink:#e9f4f1;--deep-muted:#a9c9c2;--logo-filter:none;--note:#fff4cf;--note-ink:#5f4a0c;--shade:16 58 53;--f-display:\"Proxima Nova\",system-ui,sans-serif;--f-body:\"Lato\",system-ui,sans-serif;--f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--r-lg:28px;--r-md:18px;--r-sm:10px}body .cm-cat *{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body .cm-cat{background:var(--bg);color:var(--ink);font:400 16.5px\/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip}body .cm-cat ::selection{background:var(--teal);color:var(--teal-ink)}body .cm-cat .wrap{max-width:1280px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}body .cm-cat h1,body .cm-cat h2,body .cm-cat h3{font-family:var(--f-display);text-wrap:balance;margin:0;color:var(--ink);font-optical-sizing:auto}body .cm-cat p{margin:0}body .cm-cat a{color:inherit;text-underline-offset:.2em}body .cm-cat :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}body .cm-cat .ico{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body .cm-cat .mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums}body .cm-cat .h2{font-size:clamp(32px,4.4vw,60px);line-height:1;letter-spacing:-.035em;font-weight:650}body .cm-cat .sub{color:var(--muted);font-size:17px;max-width:44ch}body .cm-cat .btn{--bg-b:var(--teal);--fg-b:var(--teal-ink);position:relative;display:inline-flex;align-items:center;gap:12px;font:600 15.5px\/1 var(--f-body);text-decoration:none;padding:17px 22px 17px 26px;border-radius:99px;background:var(--bg-b);color:var(--fg-b);border:0;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .25s ease,background-color .2s ease}body .cm-cat .btn .knob{display:grid;place-items:center;width:28px;height:28px;margin:-6px -8px -6px 0;border-radius:50%;background:var(--fg-b);color:var(--bg-b);overflow:hidden}body .cm-cat .btn .knob .ico{font-size:15px;transition:transform .35s var(--ease-out)}body .cm-cat .btn:active{transform:scale(.97)}body .cm-cat .btn-primary{box-shadow:0 10px 24px -12px rgb(var(--shade)\/.55)}@media (hover:hover) and (pointer:fine){body .cm-cat .btn-primary:hover{box-shadow:0 16px 32px -14px rgb(var(--shade)\/.6)}body .cm-cat .btn:hover .knob .ico{transform:translateX(3px) rotate(-45deg)}}body .cm-cat .btn-ghost{--bg-b:transparent;--fg-b:var(--ink);padding:10px 2px;border-radius:0;gap:8px;background:linear-gradient(currentColor,currentColor)0 100%\/100% 1.5px no-repeat}body .cm-cat .btn-ghost .ico{transition:transform .3s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .btn-ghost:hover{color:var(--teal)}body .cm-cat .btn-ghost:hover .ico{transform:translateX(4px)}}body .cm-cat .hero{padding-block:clamp(32px,4.5vw,64px) clamp(48px,6vw,88px);position:relative;overflow-x:clip}body .cm-cat .hero::before{content:\"\";position:absolute;inset:-12% -12%auto auto;width:min(70vw,900px);aspect-ratio:1;background:radial-gradient(closest-side,var(--mint),transparent 70%);z-index:-1;pointer-events:none}body .cm-cat .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}body .cm-cat .crumb{display:flex;gap:8px;align-items:center}body .cm-cat .crumb a{text-decoration:none}body .cm-cat .crumb a:hover{color:var(--teal)}body .cm-cat .hero h1{font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.042em;font-weight:680;margin-top:14px}body .cm-cat .hero h1 .tint{color:var(--teal)}body .cm-cat .lede{font-size:clamp(17px,1.35vw,19px);color:var(--muted);max-width:52ch;margin-top:22px}body .cm-cat .lede strong{color:var(--ink);font-weight:600}body .cm-cat .hero-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:30px}body .cm-cat .gbadge{position:absolute;left:4%;bottom:-28px;display:flex;align-items:center;gap:12px;background:var(--paper);color:var(--ink);padding:12px 18px 12px 14px;border-radius:var(--r-md);box-shadow:0 22px 44px -20px rgb(var(--shade)\/.5);text-decoration:none;transition:transform .3s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .gbadge:hover{transform:translateY(-3px)}}body .cm-cat .gbadge .g{width:34px;height:34px;flex:none}body .cm-cat .gbadge .score{font:680 26px\/1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}body .cm-cat .gbadge .stars{display:flex;gap:2px;color:#f5b301}body .cm-cat .gbadge .stars svg{width:14px;height:14px;fill:currentColor}body .cm-cat .gbadge small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}@media (prefers-reduced-motion:no-preference){body .cm-cat .rise{animation:rise .9s var(--ease-out) both}body .cm-cat .hero h1{animation-delay:.08s}body .cm-cat .lede{animation-delay:.16s}body .cm-cat .hero-cta{animation-delay:.24s}body .cm-cat .gbadge{animation:rise .8s var(--ease-out) .75s both}}@keyframes rise{0%{opacity:.25;transform:translateY(18px);filter:blur(6px)}}@keyframes unveil{0%{clip-path:inset(18%0 0 0 round 999px 999px 28px 28px);transform:scale(1.04)}}body .cm-cat .answer{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--ink);max-width:62ch;margin-bottom:40px}body .cm-cat .answer a{color:var(--teal);font-weight:600}body .cm-cat .section{padding-block:clamp(64px,8vw,120px)}body .cm-cat .add[aria-pressed=true]{background:var(--teal);color:var(--teal-ink)}body .cm-cat .add[aria-pressed=true] .i-p{display:none}body .cm-cat .add[aria-pressed=true] .i-c{display:block}@media (prefers-reduced-motion:no-preference){body .cm-cat .add[aria-pressed=true] .i-c{animation:pop .3s var(--ease-out)}}@keyframes pop{0%{transform:scale(.6);opacity:.4}}body .cm-cat .box{border-radius:var(--r-lg);padding:clamp(26px,3.5vw,48px);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}body .cm-cat .box h2{font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-.03em;font-weight:650}body .cm-cat .box p{color:var(--muted);max-width:46ch}@media (prefers-reduced-motion:reduce){body .cm-cat .marquee ul[aria-hidden]{display:none}}body .cm-cat .faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 64px;align-items:start}body .cm-cat .faq-grid .sticky{position:sticky;top:32px}body .cm-cat .qa{padding-block:14px;border-top:1px solid var(--line)}body .cm-cat .qa:last-child{border-bottom:1px solid var(--line)}body .cm-cat .qa h3{font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.3}body .cm-cat .qa p{color:var(--muted);font-size:15.5px;margin-top:8px;max-width:60ch}body .cm-cat .wa{display:flex;align-items:center;gap:12px;flex-wrap:wrap}body .cm-cat .wa .num{font:500 16px var(--f-mono);color:var(--deep-ink);user-select:all;letter-spacing:.02em}body .cm-cat .tray{position:fixed;left:50%;bottom:0;z-index:20;width:min(640px,calc(100% - 24px));margin-bottom:calc(14px + env(safe-area-inset-bottom,0));display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;border-radius:99px;background:var(--deep);color:var(--deep-ink);box-shadow:0 24px 50px -20px rgb(0 0 0\/.5);transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .45s var(--ease-out),opacity .3s ease;pointer-events:none}body .cm-cat .tray.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}body .cm-cat .tray .count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:99px;background:var(--teal);color:var(--teal-ink);font:600 14px var(--f-mono);font-variant-numeric:tabular-nums}body .cm-cat .tray .names{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--deep-muted)}body .cm-cat .tray .names b{color:var(--deep-ink);font-weight:600}body .cm-cat .tray .btn{--bg-b:var(--deep-ink);--fg-b:var(--deep);padding:13px 16px 13px 20px;font-size:14.5px;white-space:nowrap}body .cm-cat .tray .clear{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:0 0;color:var(--deep-muted);cursor:pointer;transition:background-color .2s ease}body .cm-cat .tray .clear:hover{background:rgb(255 255 255\/.1);color:var(--deep-ink)}body .cm-cat .toast{position:fixed;left:50%;top:calc(18px + env(safe-area-inset-top,0));z-index:30;transform:translate(-50%,-14px);opacity:0;background:var(--ink);color:var(--bg);font-size:14px;font-weight:500;padding:10px 16px;border-radius:99px;display:flex;gap:8px;align-items:center;transition:transform .35s var(--ease-out),opacity .2s ease;pointer-events:none}body .cm-cat .toast.show{transform:translate(-50%,0);opacity:1}@media (max-width:1020px){body .cm-cat .hero-grid{grid-template-columns:1fr;align-items:start}body .cm-cat .faq-grid{grid-template-columns:1fr}body .cm-cat .faq-grid .sticky{position:static}}@media (max-width:640px){body .cm-cat .gbadge{left:3%;bottom:-24px}body .cm-cat .tray{border-radius:22px}body .cm-cat .tray .names{display:none}body .cm-cat .tray .btn{flex:1;justify-content:space-between}}@media (prefers-reduced-motion:reduce){body .cm-cat *,body .cm-cat ::before,body .cm-cat ::after{transition-duration:.01ms!important}}body .cm-cat .qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px}body .cm-cat .qa summary::-webkit-details-marker{display:none}body .cm-cat .qa .pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--mint);transition:background-color .2s ease,transform .3s var(--ease-out)}body .cm-cat .qa .pm::before,body .cm-cat .qa .pm::after{content:\"\";position:absolute;left:50%;top:50%;width:12px;height:1.8px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%)}body .cm-cat .qa .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease-out)}body .cm-cat .qa[open] .pm{background:var(--teal)}body .cm-cat .qa[open] .pm::before,body .cm-cat .qa[open] .pm::after{background:var(--teal-ink)}body .cm-cat .qa[open] .pm::after{transform:translate(-50%,-50%) rotate(0deg)}body .cm-cat .qa summary:active .pm{transform:scale(.92)}body .cm-cat .qa .ans{overflow:hidden}@media (prefers-reduced-motion:no-preference){body .cm-cat .qa[open] .ans{animation:ans .35s var(--ease-out)}}@keyframes ans{0%{opacity:0;transform:translateY(-6px)}}body .cm-cat .wa-dock{display:none}body .cm-cat .tray[data-mode=default] .count,body .cm-cat .tray[data-mode=default] .names,body .cm-cat .tray[data-mode=default] .clear{display:none}body .cm-cat{-webkit-tap-highlight-color:transparent}body .cm-cat #gammes{scroll-margin-top:16px}@media (max-width:640px){body .cm-cat{font-size:16px;padding-bottom:calc(92px + env(safe-area-inset-bottom,0))}body .cm-cat .mono{font-size:12.5px}body .cm-cat .section{padding-block:56px}body .cm-cat .h2{font-size:30px;line-height:1.05;letter-spacing:-.03em}body .cm-cat .sub{font-size:16px}body .cm-cat .hero{padding-block:14px 40px}body .cm-cat .hero::before{display:none}body .cm-cat .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}body .cm-cat .hero-grid>div:first-child{display:contents}body .cm-cat .crumb{order:0;font-size:12.5px}body .cm-cat .crumb a{padding-block:10px}body .cm-cat .gbadge{left:10px;bottom:-22px;padding:9px 14px 9px 10px;gap:9px;border-radius:14px}body .cm-cat .gbadge .g{width:26px;height:26px}body .cm-cat .gbadge .score{font-size:21px}body .cm-cat .gbadge .stars svg{width:12px;height:12px}body .cm-cat .gbadge small{font-size:12px}body .cm-cat .hero h1{order:3;font-size:36px;line-height:1.02;letter-spacing:-.04em;margin-top:6px}body .cm-cat .lede{order:4;font-size:16.5px;margin-top:14px}body .cm-cat .hero-cta{order:5;display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}body .cm-cat .hero-cta .btn{width:100%;justify-content:center;min-height:54px;font-size:16px}body .cm-cat .hero-cta .btn-primary{justify-content:space-between;padding-left:24px}body .cm-cat .hero-cta .btn-ghost{background:0 0;border:1.5px solid var(--line);border-radius:99px;padding:15px 22px}body .cm-cat .hero-grid>div:first-child>.annot{order:8}body .cm-cat .btn-ghost{min-height:44px}body .cm-cat .answer{font-size:17px;margin-bottom:28px}body .cm-cat .box{padding:24px;border-radius:22px;gap:14px}body .cm-cat .box h2{font-size:26px}body .cm-cat .marquee ul[aria-hidden]{display:none}body .cm-cat .faq-grid{gap:18px}body .cm-cat .qa{padding-block:6px}body .cm-cat .qa summary{min-height:64px;padding-block:8px}body .cm-cat .qa h3{font-size:16.5px;line-height:1.3;text-wrap:pretty}body .cm-cat .qa p{font-size:15.5px;margin:0 0 14px;padding-right:44px}body .cm-cat .tray{width:calc(100% - 20px);margin-bottom:calc(10px + env(safe-area-inset-bottom,0));border-radius:22px;padding:8px;gap:8px}body .cm-cat .tray .names{display:none}body .cm-cat .tray .wa-dock{display:inline-flex}body .cm-cat .tray[data-mode=sel] .wa-dock{display:none}body .cm-cat .tray .btn{flex:1;min-width:0;justify-content:space-between;min-height:50px;padding:0 10px 0 18px;font-size:15px;white-space:nowrap}body .cm-cat .tray #tray-label{overflow:hidden;text-overflow:ellipsis}body .cm-cat .tray .count{min-width:36px;height:36px;margin-left:4px}body .cm-cat .tray .clear{width:44px;height:44px}body .cm-cat .wa-dock{align-items:center;justify-content:center;gap:8px;height:50px;padding:0 16px;border-radius:16px;background:rgb(255 255 255\/.1);color:var(--deep-ink);text-decoration:none;font:600 14.5px var(--f-body);flex:none;transition:transform .16s var(--ease-out)}body .cm-cat .wa-dock:active{transform:scale(.96)}body .cm-cat .wa-dock .ico{font-size:19px}body .cm-cat .toast{top:auto;bottom:calc(92px + env(safe-area-inset-bottom,0));transform:translate(-50%,14px)}body .cm-cat .toast.show{transform:translate(-50%,0)}}body .cm-cat .solo{position:relative;max-width:100%;margin-bottom:28px}body .cm-cat .solo-main{margin:0;aspect-ratio:4\/5;border-radius:999px 999px var(--r-lg) var(--r-lg);overflow:hidden;background:var(--mint-2);box-shadow:0 40px 80px -48px rgb(var(--shade)\/.55)}body .cm-cat .solo-main img{width:100%;height:100%;object-fit:cover;display:block}@media (prefers-reduced-motion:no-preference){body .cm-cat .solo-main{animation:unveil 1.2s var(--ease-io) both}}@media (max-width:640px){body .cm-cat .solo{order:2;margin:16px 0 34px}body .cm-cat .solo-main{aspect-ratio:1\/.92;border-radius:999px 999px 18px 18px}body .cm-cat .solo-main img{object-position:50% 25%}}@media (max-width:640px){body .cm-cat .crumb{flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}body .cm-cat .crumb::-webkit-scrollbar{display:none}}body .cm-cat .kel{display:inline-flex;align-items:center;gap:12px;padding:7px 20px 7px 7px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-decoration:none;transition:box-shadow .2s var(--ease-out),transform .16s var(--ease-out);min-height:58px}body .cm-cat .kel:hover{box-shadow:inset 0 0 0 1px var(--teal)}body .cm-cat .kel:active{transform:scale(.98)}body .cm-cat .kel .av{width:44px;height:44px;border-radius:50%;background:var(--teal);color:var(--teal-ink);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:19px;flex:none}body .cm-cat .kel b{display:block;font-size:15.5px;font-weight:600;line-height:1.25}body .cm-cat .kel small{display:block;font-size:13px;color:var(--muted);line-height:1.3}@media (max-width:640px){body .cm-cat .hero-cta .kel{width:100%}}body .cm-cat .vrac{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,56px);background:var(--deep);color:var(--deep-ink);border-radius:var(--r-lg);padding:clamp(22px,4vw,52px)}body .cm-cat .vrac .btn-primary{--bg-b:var(--deep-ink);--fg-b:var(--deep)}@media (max-width:1020px){body .cm-cat .vrac{grid-template-columns:1fr}}@media (max-width:640px){body .cm-cat .vrac{border-radius:22px}}body .cm-cat .kel .av .ico{font-size:22px}body .cm-cat{--tone:#eaf3ef;--tone-2:#d9eae4;--deep-s:#0f3a35}body .cm-cat .sx.tone-spa{--tone:#edf3ee;--tone-2:#dbe9df;--deep-s:#123a33}body .cm-cat .sx.tone-institut{--tone:#eef3ec;--tone-2:#dde8d8;--deep-s:#1f3a2c}body .cm-cat .sx.tone-coiffure{--tone:#eef1f1;--tone-2:#dde3e3;--deep-s:#18292b}body .cm-cat .sx.tone-dermo{--tone:#eaf3f5;--tone-2:#d6e8ec;--deep-s:#0f3442}body .cm-cat .sx.tone-gms{--tone:#edf1f4;--tone-2:#dae2e9;--deep-s:#16293a}body .cm-cat .sx-hero{position:relative;padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,104px);overflow-x:clip}body .cm-cat .sx-hero::before{content:\"\";position:absolute;inset:0 0 18%0;background:linear-gradient(180deg,var(--tone),transparent);z-index:-1;pointer-events:none}body .cm-cat .sx-hero .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center}body .cm-cat .sx-hero h1{font-size:clamp(36px,4.6vw,68px);line-height:1.02;letter-spacing:-.04em;font-weight:680;margin-top:18px;max-width:17ch}body .cm-cat .sx-hero.long h1{font-size:clamp(30px,3vw,46px);max-width:26ch;line-height:1.06}body .cm-cat .sx-hero.long .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}body .cm-cat .sx-hero.long .sx-chip{display:none}body .cm-cat .sx-hero .lede{max-width:56ch;font-size:clamp(16.5px,1.25vw,18.5px)}body .cm-cat .sx-chip{display:inline-flex;align-items:center;gap:10px;font:500 12.5px\/1 var(--f-mono);letter-spacing:.02em;color:var(--teal);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);padding:8px 12px 8px 10px;border-radius:99px;margin-top:18px}body .cm-cat .sx-chip i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgb(47 114 102\/.15)}body .cm-cat .sx-micro{margin-top:14px;font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;max-width:52ch}body .cm-cat .sx-micro .ico{color:var(--teal);font-size:17px;margin-top:2px}body .cm-cat .sx-hero .solo-main{aspect-ratio:4\/4.6}@keyframes rise{0%{opacity:.25;transform:translateY(14px)}}body .cm-cat .sx-stamp{position:absolute;right:-10px;top:12%;display:flex;flex-direction:column;gap:2px;background:var(--deep-s);color:#e9f4f1;padding:14px 16px;border-radius:18px;box-shadow:0 24px 44px -22px rgb(var(--shade)\/.6);font-size:12.5px;line-height:1.35;max-width:190px;animation:rise .8s var(--ease-out) .9s both}body .cm-cat .sx-stamp b{font:650 18px\/1.1 var(--f-display);letter-spacing:-.02em;color:#fff}body .cm-cat .sx-proof{border-block:1px solid var(--line);background:var(--paper)}body .cm-cat .sx-proof ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}body .cm-cat .sx-proof li{padding:22px clamp(14px,2vw,28px);display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line);min-width:0}body .cm-cat .sx-proof li:first-child{border-left:0;padding-left:0}body .cm-cat .sx-proof b{font:680 clamp(24px,2.4vw,34px)\/1 var(--f-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}body .cm-cat .sx-proof li>span{font-size:13.5px;color:var(--muted);line-height:1.35}body .cm-cat .sx-proof .eu{width:30px;height:20px;flex:none;border-radius:3px}body .cm-cat .sx-proof .gstar{color:#f5b301;font-size:.62em}body .cm-cat .sx-answer{padding-block:clamp(48px,6vw,88px)0}body .cm-cat .sx-answer .in{max-width:880px}body .cm-cat .sx-answer p{font:500 clamp(20px,1.9vw,27px)\/1.42 var(--f-display);letter-spacing:-.015em;color:var(--ink)}body .cm-cat .sx-answer strong{font-weight:680;color:var(--teal)}body .cm-cat .sx-doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-block:clamp(40px,5vw,72px)}body .cm-cat .sx-rail{position:sticky;top:110px;align-self:start;max-height:calc(100dvh - 140px);overflow:auto;scrollbar-width:none}body .cm-cat .sx-rail .mono{display:block;margin-bottom:14px}body .cm-cat .sx-rail ol{list-style:none;margin:0;padding:0 0 0 16px;position:relative;display:grid;gap:2px}body .cm-cat .sx-rail ol::before{content:\"\";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--line)}body .cm-cat .sx-rail .bar{position:absolute;left:0;top:6px;width:2px;border-radius:2px;background:var(--teal);height:calc(100% - 12px);transform:scaleY(var(--p,0));transform-origin:top}body .cm-cat .sx-rail a{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:7px 0;font-size:14px;line-height:1.35;color:var(--muted);text-decoration:none;transition:color .2s ease}body .cm-cat .sx-rail a .n{font:500 11.5px\/1.7 var(--f-mono);color:inherit}body .cm-cat .sx-rail a:hover{color:var(--ink)}body .cm-cat .sx-rail a{margin-left:-16px;padding-left:16px}body .cm-cat .sx-rail a[aria-current=location]{color:var(--ink);box-shadow:inset 2px 0 0 var(--teal)}body .cm-cat .sx-rail a[aria-current=location] .n{color:var(--teal)}@media (max-height:860px){body .cm-cat .sx-rail .rail-cta{display:none}body .cm-cat .sx-rail a{padding-block:4px;font-size:13.5px}}body .cm-cat .sx-rail .rail-cta{margin-top:22px;padding:16px;border-radius:var(--r-md);background:var(--tone);display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--muted);line-height:1.45}body .cm-cat .sx-rail .rail-cta a{display:inline-flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-radius:99px;background:var(--deep-s);color:#fff;font-weight:600;font-size:14px}body .cm-cat .sx-rail .rail-cta a .ico{transition:transform .3s var(--ease-out)}body .cm-cat .sx-rail .rail-cta a:hover .ico{transform:translateX(3px)}body .cm-cat .sx-toc{display:none}body .cm-cat .sx-doc>div{min-width:0}body .cm-cat .sx-ch{padding-block:clamp(36px,4vw,56px);border-top:1px solid var(--line);scroll-margin-top:120px}body .cm-cat .sx-ch:first-of-type{border-top:0;padding-top:0}body .cm-cat .sx-ch .prose>p:first-child{font-size:19px;line-height:1.55;color:var(--ink)}body .cm-cat .sx-ch:has(ol){background:var(--tone);border-radius:var(--r-lg);padding:clamp(28px,4vw,48px);border-top:0;margin-block:24px}body .cm-cat .sx-ch:has(ol)+.sx-ch{border-top:0}body .cm-cat .sx-ch.own{background:var(--deep-s);border-radius:var(--r-lg);padding:clamp(28px,4vw,48px);border-top:0;margin-block:24px}body .cm-cat .sx-ch.own h2,body .cm-cat .sx-ch.own .prose p,body .cm-cat .sx-ch.own .prose strong{color:#fff}body .cm-cat .sx-ch.own .num{color:#7fd1bf}body .cm-cat .sx-ch.own+.sx-ch{border-top:0}body .cm-cat .sx-ch .num{font:500 12px var(--f-mono);color:var(--teal);letter-spacing:.04em}body .cm-cat .sx-ch h2{font-size:clamp(28px,2.9vw,42px);line-height:1.06;letter-spacing:-.032em;font-weight:660;margin-top:10px;max-width:24ch}body .cm-cat .prose{margin-top:20px;max-width:68ch;color:var(--ink)}body .cm-cat .prose>*+*{margin-top:16px}body .cm-cat .prose p{font-size:17px;line-height:1.68;color:#24403f}body .cm-cat .prose strong{font-weight:650;color:var(--ink)}body .cm-cat .prose a{color:var(--teal);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em;text-decoration-color:rgb(47 114 102\/.35);transition:text-decoration-color .2s ease}body .cm-cat .prose a:hover{text-decoration-color:var(--teal)}body .cm-cat .prose h3{font-size:20px;font-weight:650;letter-spacing:-.015em;margin-top:28px;line-height:1.25}body .cm-cat .prose ul{list-style:none;padding:0;margin-top:18px;display:grid;gap:0}body .cm-cat .prose ul li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--line);font-size:16px;line-height:1.55;color:#24403f}body .cm-cat .prose ul li:last-child{border-bottom:1px solid var(--line)}body .cm-cat .prose ul li::before{content:\"\";position:absolute;left:0;top:17px;width:18px;height:18px;border-radius:50%;background:var(--tone-2)url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7266' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'\/%3E%3C\/svg%3E\")center\/12px no-repeat}body .cm-cat .prose ol{list-style:none;padding:0;margin-top:22px;counter-reset:st;display:grid;gap:0;position:relative}body .cm-cat .prose ol li{counter-increment:st;position:relative;padding:0 0 22px 58px;font-size:16px;line-height:1.55;color:#24403f}body .cm-cat .prose ol li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:-2px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--f-mono);color:var(--teal);background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--teal)}body .cm-cat .prose ol li::after{content:\"\";position:absolute;left:19px;top:42px;bottom:2px;width:2px;background:var(--line)}body .cm-cat .prose ol li:last-child{padding-bottom:0}body .cm-cat .prose ol li:last-child::after{display:none}body .cm-cat .prose ol li strong{display:block;font-size:17px;margin-bottom:2px}body .cm-cat .tbl-wrap{margin-top:22px;overflow-x:auto;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);background:var(--paper);-webkit-overflow-scrolling:touch}body .cm-cat .prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;min-width:560px}body .cm-cat .prose th,body .cm-cat .prose td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}body .cm-cat .prose thead th{font:600 13px\/1.3 var(--f-body);color:var(--ink);background:var(--tone);border-bottom:1px solid var(--line)}body .cm-cat .prose tbody tr:last-child td{border-bottom:0}body .cm-cat .prose tbody td:first-child{font-weight:600;color:var(--ink)}body .cm-cat .prose td{color:#2c4746}body .cm-cat .sx-fig{margin:clamp(28px,4vw,48px)0 0;border-radius:var(--r-lg);overflow:hidden;background:var(--mint-2);aspect-ratio:16\/10;position:relative}body .cm-cat .sx-fig img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:50% 60%}body .cm-cat .sx-fig.factory{aspect-ratio:21\/10}body .cm-cat .sx-cmp{background:var(--tone);padding-block:clamp(56px,7vw,104px)}body .cm-cat .sx-cmp .head{display:grid;gap:18px}body .cm-cat .sx-cmp .head p{color:var(--muted);font-size:17px;max-width:62ch}body .cm-cat .sx-cmp .h2{font-size:clamp(30px,3.6vw,52px);max-width:20ch}body .cm-cat .cmp-t{margin-top:40px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg);background:var(--paper);box-shadow:0 30px 60px -44px rgb(var(--shade)\/.5),inset 0 0 0 1px var(--line)}body .cm-cat .cmp-t table{width:100%;border-collapse:separate;border-spacing:0;min-width:640px;font-size:15.5px;line-height:1.45}body .cm-cat .cmp-t th,body .cm-cat .cmp-t td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}body .cm-cat .cmp-t tbody tr:last-child>*{border-bottom:0}body .cm-cat .cmp-t thead th{font:600 13.5px\/1.3 var(--f-body);color:var(--muted);padding-block:18px}body .cm-cat .cmp-t tbody th{font-weight:600;color:var(--ink);width:24%}body .cm-cat .cmp-t td{color:var(--muted)}body .cm-cat .cmp-t .us{background:rgb(47 114 102\/.07);color:var(--ink);font-weight:500;position:relative}body .cm-cat .cmp-t thead .us{color:var(--teal);font-weight:700}body .cm-cat .cmp-t thead .us span{display:inline-block;background:var(--deep-s);color:#fff;padding:7px 12px;border-radius:99px;font-size:13px}body .cm-cat .cmp-t td.us::before{content:\"\";display:inline-block;width:16px;height:16px;margin:0 8px -3px 0;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7266' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'\/%3E%3C\/svg%3E\")center\/16px no-repeat}body .cm-cat .cmp-t .hl{position:absolute;inset:0;pointer-events:none}body .cm-cat .sx-cmp .outro{margin-top:22px;color:var(--muted);max-width:70ch}body .cm-cat .sx-rv{padding-block:clamp(56px,7vw,104px)}body .cm-cat .sx-rv .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px}body .cm-cat .sx-rv .h2{font-size:clamp(30px,3.6vw,52px);max-width:18ch}body .cm-cat .sx-rv .score{display:flex;align-items:center;gap:14px}body .cm-cat .sx-rv .score b{font:680 52px\/1 var(--f-display);letter-spacing:-.04em}body .cm-cat .sx-rv .score .st{color:#f5b301;letter-spacing:2px;font-size:16px}body .cm-cat .sx-rv .score small{display:block;color:var(--muted);font-size:13.5px}body .cm-cat .rv-grid{margin-top:40px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px}body .cm-cat .rv-grid .side{display:grid;gap:16px}body .cm-cat .rv{margin:0;background:var(--paper);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);padding:24px 26px;display:flex;flex-direction:column;gap:14px}body .cm-cat .rv .st{color:#f5b301;letter-spacing:2px;font-size:14px}body .cm-cat .rv blockquote{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}body .cm-cat .rv figcaption{margin-top:auto;font-size:13.5px;color:var(--muted)}body .cm-cat .rv figcaption b{color:var(--ink);font-weight:600}body .cm-cat .rv.big{background:var(--deep-s);box-shadow:none;padding:clamp(28px,3vw,44px);justify-content:space-between}body .cm-cat .rv.big blockquote{color:#fff;font:500 clamp(21px,2vw,28px)\/1.35 var(--f-display);letter-spacing:-.015em}body .cm-cat .rv.big blockquote::before{content:\"\u00ab\";display:block;font:700 64px\/.6 var(--f-display);color:#7fd1bf;margin-bottom:18px}body .cm-cat .rv.big figcaption,body .cm-cat .rv.big figcaption b{color:#cfe5df}body .cm-cat .rv.big .st{color:#f5c84a}body .cm-cat .sx-faq{padding-block:clamp(48px,6vw,96px);border-top:1px solid var(--line)}body .cm-cat .sx-faq .h2{font-size:clamp(30px,3.4vw,48px)}body .cm-cat .sx-consult{background:var(--deep-s);color:#e9f4f1;padding-block:clamp(56px,7vw,112px);scroll-margin-top:120px;position:relative;overflow:hidden;isolation:isolate}body .cm-cat .sx-consult::before{content:\"\";position:absolute;inset:auto auto -40% -10%;width:60%;aspect-ratio:1;background:radial-gradient(closest-side,rgb(127 209 191\/.18),transparent);z-index:-1}body .cm-cat .sx-consult .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(36px,6vw,96px);align-items:start}body .cm-cat .sx-consult .grid>div:first-child{position:sticky;top:120px}body .cm-cat .sx-consult h2{color:#fff;font-size:clamp(34px,4.4vw,62px);line-height:1;letter-spacing:-.04em;font-weight:680;max-width:15ch}body .cm-cat .sx-consult .txt{margin-top:22px;display:grid;gap:14px;max-width:48ch}body .cm-cat .sx-consult .txt p{color:#b9d5cf;font-size:17px;line-height:1.6}body .cm-cat .sx-consult .txt a{color:#fff}body .cm-cat .sx-consult .checks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}body .cm-cat .sx-consult .checks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:#e9f4f1}body .cm-cat .sx-consult .checks .ico{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:rgb(127 209 191\/.18);color:#7fd1bf;stroke-width:2.6}body .cm-cat .sx-consult .alt{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:14px;color:#a9c9c2}body .cm-cat .sx-consult .alt a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;padding:10px 16px;border-radius:99px;box-shadow:inset 0 0 0 1px rgb(255 255 255\/.22);transition:background-color .2s ease}body .cm-cat .sx-consult .alt a:hover{background:rgb(255 255 255\/.08)}body .cm-cat .fcard{background:var(--paper);color:var(--ink);border-radius:28px;padding:clamp(22px,3vw,36px);box-shadow:0 40px 80px -40px rgb(0 0 0\/.55)}body .cm-cat .fcard .fh{display:flex;gap:14px;align-items:center;margin-bottom:20px}body .cm-cat .fcard .fh .av{width:52px;height:52px;border-radius:16px;background:var(--tone-2);display:grid;place-items:center;color:var(--teal);flex:none}body .cm-cat .fcard .fh .av .ico{font-size:24px}body .cm-cat .fcard h3{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.025em;line-height:1.15}body .cm-cat .fcard .fh p{font-size:14px;color:var(--muted);margin-top:3px;line-height:1.45}body .cm-cat .fcard .lock{display:flex;gap:8px;margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.45}body .cm-cat .fcard .lock .ico{flex:none;color:var(--teal);font-size:15px;margin-top:1px}body .cm-cat .sx-note{padding-block:clamp(56px,7vw,104px) clamp(40px,5vw,64px)}body .cm-cat .sx-note .letter{max-width:760px;margin-inline:auto;position:relative}body .cm-cat .sx-note .kick{display:block;margin-bottom:14px;color:var(--teal);font-weight:600;font-size:14.5px}body .cm-cat .sx-note h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}body .cm-cat .sx-note .body{margin-top:22px;display:grid;gap:16px}body .cm-cat .sx-note .body p{font:400 clamp(18px,1.5vw,21px)\/1.6 var(--f-display);letter-spacing:-.005em;color:#24403f}body .cm-cat .sx-note .sig{margin-top:28px;display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid var(--line)}body .cm-cat .sx-note .sig .mk{width:52px;height:52px;border-radius:50%;background:var(--deep-s);color:#fff;display:grid;place-items:center;font:700 16px var(--f-display);letter-spacing:-.02em}body .cm-cat .sx-note .sig b{display:block;font-weight:600}body .cm-cat .sx-note .sig small{color:var(--muted);font-size:13.5px}body .cm-cat .sx-others{padding-block:0 clamp(56px,7vw,96px)}body .cm-cat .sx-others .box{border-radius:var(--r-lg);background:var(--tone);padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:20px 40px;align-items:center}body .cm-cat .sx-others h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.025em}body .cm-cat .sx-others p{color:var(--muted);font-size:15px;margin-top:6px}body .cm-cat .sx-others ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}body .cm-cat .sx-others a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:99px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink);transition:box-shadow .2s ease,transform .16s var(--ease-out)}body .cm-cat .sx-others a:hover{box-shadow:inset 0 0 0 1.5px var(--teal)}body .cm-cat .sx-others a:active{transform:scale(.97)}body .cm-cat .sx-others a .ico{color:var(--teal)}@media (max-width:1020px){body .cm-cat .sx-doc{grid-template-columns:1fr}body .cm-cat .sx-rail{display:none}body .cm-cat .sx-toc{display:block;margin-bottom:8px;border-radius:var(--r-md);background:var(--tone)}body .cm-cat .sx-toc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;min-height:52px;cursor:pointer;font-weight:600}body .cm-cat .sx-toc summary::-webkit-details-marker{display:none}body .cm-cat .sx-toc summary .ico{transition:transform .3s var(--ease-out);transform:rotate(90deg)}body .cm-cat .sx-toc[open] summary .ico{transform:rotate(-90deg)}body .cm-cat .sx-toc ol{margin:0;padding:0 18px 14px 38px;display:grid;gap:4px;font-size:15px}body .cm-cat .sx-toc a{display:block;padding:7px 0;color:var(--ink);text-decoration:none}body .cm-cat .sx-cmp .head,body .cm-cat .sx-consult .grid,body .cm-cat .sx-others .box{grid-template-columns:1fr}body .cm-cat .sx-consult .grid>div:first-child{position:static}body .cm-cat .sx{padding-bottom:96px}body .cm-cat .rv-grid{grid-template-columns:1fr}body .cm-cat .sx-proof ul{grid-template-columns:repeat(2,minmax(0,1fr))}body .cm-cat .sx-proof li{border-left:0;padding-left:0;border-top:1px solid var(--line)}body .cm-cat .sx-proof li:nth-child(-n+2){border-top:0}body .cm-cat .sx-proof li:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}}@media (max-width:640px){body .cm-cat .sx-hero{padding-block:8px 44px}body .cm-cat .sx-hero h1,body .cm-cat .sx-hero.long h1{font-size:clamp(30px,8.4vw,38px);max-width:none;margin-top:12px}body .cm-cat .sx-chip{display:none}body .cm-cat .sx-micro{order:6}body .cm-cat .sx-stamp{right:10px;top:auto;bottom:calc(100% - 64px - 18%);padding:10px 12px;font-size:11.5px;max-width:150px}body .cm-cat .sx-hero .solo .sx-stamp{top:22%;bottom:auto}body .cm-cat .sx-stamp b{font-size:15px}body .cm-cat .sx-proof li{padding:16px 0}body .cm-cat .sx-proof li:nth-child(even){padding-left:14px}body .cm-cat .cmp-t table,body .cm-cat .prose table{min-width:0}body .cm-cat .cmp-t thead,body .cm-cat .prose thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body .cm-cat .cmp-t tr,body .cm-cat .prose tbody tr{display:grid;gap:6px;padding:16px 18px;border-bottom:1px solid var(--line)}body .cm-cat .cmp-t th,body .cm-cat .cmp-t td,body .cm-cat .prose th,body .cm-cat .prose td{display:block;padding:0;border:0;width:auto}body .cm-cat .cmp-t td::before,body .cm-cat .prose td::before{content:attr(data-label);display:block;font:500 11.5px\/1.5 var(--f-mono);color:var(--muted);background:0 0;width:auto;height:auto;margin:0 0 2px}body .cm-cat .cmp-t td.us{background:0 0;padding:10px 12px;border-radius:12px;box-shadow:inset 0 0 0 1.5px rgb(47 114 102\/.35)}body .cm-cat .cmp-t td.us::before{color:var(--teal)}body .cm-cat .tbl-wrap{overflow:visible}body .cm-cat .cmp-t tbody th{width:auto}body .cm-cat .sx-proof li:last-child:nth-child(odd){grid-column:1\/-1}body .cm-cat .sx-answer p{font-size:19px}body .cm-cat .prose p{font-size:16.5px}body .cm-cat .prose ul li{padding:12px 14px 12px 42px;font-size:15.5px}body .cm-cat .prose ul li::before{left:14px;top:15px}body .cm-cat .fcard .fh{align-items:flex-start}body .cm-cat .fcard .fh .av{display:none}body .cm-cat .sx-consult .fcard{order:-1}body .cm-cat .sx-hero .solo-main{aspect-ratio:1\/.86}body .cm-cat .sx-hero .crumb{justify-content:flex-start}body .cm-cat .sx-consult .grid>div:first-child{position:sticky;top:120px}body .cm-cat .sx-consult h2{font-size:36px}body .cm-cat .sx-fig.factory{aspect-ratio:4\/3}}@media (prefers-reduced-motion:reduce){body .cm-cat .sx-stamp{animation:none}body .cm-cat .sx-rail .bar{transition:none}}body .cm-cat .sx-faq .sticky{top:110px}body .cm-cat .euf{display:inline-flex;vertical-align:-3px;margin-right:6px}body .cm-cat .euf .eu{width:24px;height:16px;border-radius:2px}body .cm-cat .sx~.tray,body .cm-cat .tray{visibility:hidden;transition:transform .45s var(--ease-out),opacity .3s ease,visibility 0s .45s}body .cm-cat .tray.open{visibility:visible;transition-delay:0s}body .cm-cat .tray :focus-visible{outline-color:#fff}@media (max-width:1020px){body .cm-cat .tray .wa-dock{display:inline-flex}}body .cm-cat .qa .ans p{margin-top:4px}body .cm-cat .sx-consult .grid{display:grid!important;width:100%;max-width:1280px;margin-inline:auto}body .cm-cat .sx-consult .grid>.elementor-element{width:auto!important;max-width:none!important;min-width:0}body .cm-cat .fcard.e-con{display:block!important}body .cm-cat button{text-transform:none;letter-spacing:normal;line-height:1.2;min-height:0}body .cm-cat blockquote{border:0;padding:0;margin:0;font-style:normal;background:0 0;quotes:none}body .cm-cat blockquote::before,body .cm-cat blockquote::after{content:none}body .cm-cat .rv.big blockquote::before{content:\"\u00ab\"}body .cm-cat img{height:auto;max-width:100%}body .cm-cat .solo-main img,body .cm-cat .sx-fig img{height:100%}body .cm-cat a:hover{text-decoration:none}body .cm-cat .prose a:hover{text-decoration:underline}body .cm-cat{font-size:16.5px;line-height:1.6}<\/style>\n<div lang=\"en\"><svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\">\n  <symbol id=\"i-arrow\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/symbol>\n  <symbol id=\"i-check\" viewBox=\"0 0 24 24\"><path d=\"M5 12.5l4.5 4.5L19 7.5\"\/><\/symbol>\n  <symbol id=\"i-copy\" viewBox=\"0 0 24 24\"><rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"3\"\/><path d=\"M16 8V6a2 2 0 00-2-2H6a2 2 0 00-2 2v8a2 2 0 002 2h2\"\/><\/symbol>\n  <symbol id=\"i-chat\" viewBox=\"0 0 24 24\"><path d=\"M4 19.5l1.2-3.6A8 8 0 1 1 8.3 19z\"\/><path d=\"M9 10.5h6M9 13.5h4\"\/><\/symbol>\n  <symbol id=\"i-pin\" viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-6.2-7-11.5A7 7 0 0119 9.5C19 14.8 12 21 12 21z\"\/><circle cx=\"12\" cy=\"9.5\" r=\"2.5\"\/><\/symbol>\n  <symbol id=\"i-lock\" viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"11\" width=\"16\" height=\"10\" rx=\"2\"\/><path d=\"M8 11V7a4 4 0 0 1 8 0v4\"\/><\/symbol>\n  <symbol id=\"i-flask\" viewBox=\"0 0 24 24\"><path d=\"M9 3h6M10 3v6L4.5 18.5A2 2 0 006.2 21.5h11.6a2 2 0 001.7-3L14 9V3\"\/><path d=\"M7.5 15h9\"\/><\/symbol>\n  <symbol id=\"i-chev\" viewBox=\"0 0 24 24\"><path d=\"M9 6l6 6-6 6\"\/><\/symbol>\n<\/svg>\n\n\n\n<section class=\"sx-hero long\"><div class=\"wrap hero-grid\"><div>\n<nav class=\"crumb mono rise\" aria-label=\"Breadcrumb\"><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/home\/\">Home<\/a><span aria-hidden=\"true\">\/<\/span><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/cosmetics-by-industry\/\">Sectors<\/a><span aria-hidden=\"true\">\/<\/span><span>Retail<\/span><\/nav>\n<span class=\"sx-chip rise\"><i aria-hidden=\"true\"><\/i>Retail \u00b7 your name on the label<\/span>\n<h1 class=\"rise\">Private label beauty products for retailers: target national-brand quality, built to your specifications<\/h1>\n<p class=\"lede rise\">Carmel Cosmetics Labs manufactures retailers' private label beauty and personal care ranges (face, body, hair, sun care, hygiene and oral care) in one ISO 22716-certified factory in Morocco, with European compliance handled.<\/p>\n<div class=\"hero-cta rise\"><a class=\"btn btn-primary\" href=\"#consultation\">Free consultation <span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a>\n<a class=\"kel\" href=\"https:\/\/wa.me\/212761511711?text=Hello%2C%20I%20would%20like%20a%20free%20consultation%20for%20my%20cosmetics%20project.\" target=\"_blank\" rel=\"noopener\"><span class=\"av\" aria-hidden=\"true\"><svg class=\"ico\"><use href=\"#i-chat\"\/><\/svg><\/span><span><b>An advisor on WhatsApp<\/b><small>a real person, not a bot<\/small><\/span><\/a><\/div>\n<p class=\"sx-micro rise\"><svg class=\"ico\"><use href=\"#i-check\"\/><\/svg><span>Send your specifications \u00b7 free samples \u00b7 your retailer owns the formula<\/span><\/p>\n<\/div><div class=\"solo\"><figure class=\"solo-main\"><img fetchpriority=\"high\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite-1024x765.webp\" width=\"1600\" height=\"1195\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite-300x224.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite-768x574.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite-1024x765.webp 1024w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite-1536x1147.webp 1536w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/marque-de-distributeur-cosmetique-controle-qualite.webp 1600w\" sizes=\"(max-width:640px) 92vw, 42vw\" fetchpriority=\"high\" decoding=\"async\" alt=\"Retailer private label cosmetics manufacturer: a Carmel technician and a buyer checking the quality of a store-brand shower gel\" title=\"| Carmel Cosmetics Labs\"><\/figure><a class=\"gbadge\" href=\"https:\/\/www.google.com\/maps?cid=16167518036265422519\" target=\"_blank\" rel=\"noopener\" aria-label=\"Google rating of 4.9 out of 5, 84 reviews (new tab)\">\n        <svg class=\"g\" viewBox=\"0 0 48 48\" aria-hidden=\"true\"><path fill=\"#EA4335\" d=\"M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.6 5.4 2.7 13.3l7.9 6.1C12.5 13.6 17.8 9.5 24 9.5z\"\/><path fill=\"#4285F4\" d=\"M46.1 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.4c-.5 2.9-2.2 5.3-4.6 6.9l7.4 5.7c4.3-4 6.9-9.9 6.9-17.1z\"\/><path fill=\"#FBBC05\" d=\"M10.6 28.6c-.5-1.4-.8-3-.8-4.6s.3-3.2.8-4.6l-7.9-6.1C1 16.6 0 20.2 0 24s1 7.4 2.7 10.7l7.9-6.1z\"\/><path fill=\"#34A853\" d=\"M24 48c6.5 0 11.9-2.1 15.9-5.8l-7.4-5.7c-2.1 1.4-4.8 2.3-8.5 2.3-6.2 0-11.5-4.1-13.4-9.9l-7.9 6.1C6.6 42.6 14.6 48 24 48z\"\/><\/svg>\n        <span class=\"score\">4.9<\/span>\n        <span><span class=\"stars\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span><small>84 verified Google reviews<\/small><\/span>\n      <\/a><div class=\"sx-stamp\"><b>Supplier audits<\/b>welcome, EAN barcodes and logistics handled<\/div><\/div><\/div><\/section>\n<section class=\"sx-proof\" aria-label=\"Key figures\"><div class=\"wrap\"><ul style=\"--n:5\"><li><b>4.9\/5<span class=\"gstar\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span><\/b><span>Google rating, 84 reviews<\/span><\/li><li><b><span data-count=\"500\" data-suf=\"+\" aria-label=\"500+\">500+<\/span><\/b><span>brands manufactured<\/span><\/li><li><b><span data-count=\"35\" data-suf=\"+\" aria-label=\"35+\">35+<\/span><\/b><span>countries where products are sold<\/span><\/li><li><b>ISO 22716<\/b><span>and ISO 9001, Bureau Veritas<\/span><\/li><li><b><svg class=\"eu\" viewBox=\"0 0 30 20\" role=\"img\" aria-label=\"Drapeau de l'Union europ\u00e9enne\"><rect width=\"30\" height=\"20\" fill=\"#003399\"\/><circle cx=\"21.00\" cy=\"10.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"20.20\" cy=\"13.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"18.00\" cy=\"15.20\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"15.00\" cy=\"16.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"12.00\" cy=\"15.20\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.80\" cy=\"13.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.00\" cy=\"10.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.80\" cy=\"7.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"12.00\" cy=\"4.80\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"15.00\" cy=\"4.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"18.00\" cy=\"4.80\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"20.20\" cy=\"7.00\" r=\".9\" fill=\"#FFCC00\"\/><\/svg>EU<\/b><span>European standards, CPNP<\/span><\/li><\/ul><\/div><\/section>\n<section class=\"sx-answer\"><div class=\"wrap\"><div class=\"in\"><p>Carmel Cosmetics Labs manufactures <strong>retailer private label cosmetics<\/strong> : we develop and produce beauty and personal care ranges that retailers, buying groups and distributors sell under their own names. One factory in A\u00eft Melloul (Greater Agadir), certified to ISO 22716 and ISO 9001 by Bureau Veritas, covers face, body, hair, sun care, hygiene and oral care. Your procurement team has one point of contact, one quality documentation package and a coherent range across the category.<\/p><\/div><\/div><\/section>\n<section class=\"wrap sx-doc\"><aside class=\"sx-rail\" aria-label=\"Contents\"><span class=\"mono\">Contents<\/span><ol><i class=\"bar\" aria-hidden=\"true\"><\/i><li><a href=\"#what-are-retailer-private-label-cosmetics\"><span class=\"n\">01<\/span><span>What are retailer private label cosmetics?<\/span><\/a><\/li><li><a href=\"#why-launch-your-retailer-s-own-cosmetics-range\"><span class=\"n\">02<\/span><span>Why launch your retailer's own cosmetics range?<\/span><\/a><\/li><li><a href=\"#target-national-brand-quality-built-to-your-spec\"><span class=\"n\">03<\/span><span>Target national-brand quality, built to your specifications<\/span><\/a><\/li><li><a href=\"#a-complete-beauty-and-personal-care-range-from-o\"><span class=\"n\">04<\/span><span>A complete beauty and personal care range from one manufacturer<\/span><\/a><\/li><li><a href=\"#what-procurement-teams-require-and-what-carmel-p\"><span class=\"n\">05<\/span><span>What procurement teams require, and what Carmel provides<\/span><\/a><\/li><li><a href=\"#made-in-morocco-to-european-standards-an-alterna\"><span class=\"n\">06<\/span><span>Made in Morocco to European standards: an alternative to Asian suppliers<\/span><\/a><\/li><li><a href=\"#sizes-and-packaging-designed-for-retail-shelves\"><span class=\"n\">07<\/span><span>Sizes and packaging designed for retail shelves<\/span><\/a><\/li><li><a href=\"#how-does-a-retailer-private-label-cosmetics-proj\"><span class=\"n\">08<\/span><span>How does a retailer private label cosmetics project work with Carmel?<\/span><\/a><\/li><\/ol>\n<div class=\"rail-cta\">A question about your project?<a href=\"#consultation\">Free consultation <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/div><\/aside>\n<div><details class=\"sx-toc\"><summary>Page contents <svg class=\"ico\"><use href=\"#i-chev\"\/><\/svg><\/summary><ol><li><a href=\"#what-are-retailer-private-label-cosmetics\">What are retailer private label cosmetics?<\/a><\/li><li><a href=\"#why-launch-your-retailer-s-own-cosmetics-range\">Why launch your retailer's own cosmetics range?<\/a><\/li><li><a href=\"#target-national-brand-quality-built-to-your-spec\">Target national-brand quality, built to your specifications<\/a><\/li><li><a href=\"#a-complete-beauty-and-personal-care-range-from-o\">A complete beauty and personal care range from one manufacturer<\/a><\/li><li><a href=\"#what-procurement-teams-require-and-what-carmel-p\">What procurement teams require, and what Carmel provides<\/a><\/li><li><a href=\"#made-in-morocco-to-european-standards-an-alterna\">Made in Morocco to European standards: an alternative to Asian suppliers<\/a><\/li><li><a href=\"#sizes-and-packaging-designed-for-retail-shelves\">Sizes and packaging designed for retail shelves<\/a><\/li><li><a href=\"#how-does-a-retailer-private-label-cosmetics-proj\">How does a retailer private label cosmetics project work with Carmel?<\/a><\/li><\/ol><\/details><article class=\"sx-ch\" id=\"what-are-retailer-private-label-cosmetics\"><span class=\"num\">01 \/ 08<\/span><h2>What are retailer private label cosmetics?<\/h2><div class=\"prose\"><p>Retailer private label cosmetics are beauty or personal care products sold under a retailer's name, or a brand it owns, and made for it by a manufacturer to its specifications. The retailer defines the positioning, price and specifications; the manufacturer formulates, produces and documents the products.<\/p><p>In France, the Consumer Code defines a retailer private label product as one whose characteristics are set by the company selling it at retail and owning the brand. In cosmetics, store brands span the entire beauty and personal care category: shower gels, shampoos, facial skincare, body creams, sun care and toothpaste.<\/p><div class=\"tbl-wrap\"><table><thead><tr><th>Term<\/th><th>Who defines the product?<\/th><th>Most common use<\/th><\/tr><\/thead><tbody><tr><td><strong>Retailer private label (store brand)<\/strong><\/td><td data-label=\"Who defines the product?\">The retailer, through its specifications<\/td><td data-label=\"Most common use\">Supermarkets, drugstores, buying groups<\/td><\/tr><tr><td><strong>White label<\/strong><\/td><td data-label=\"Who defines the product?\">The manufacturer offers an existing formula, which you brand under your name<\/td><td data-label=\"Most common use\">Brand founders, distributors, professionals<\/td><\/tr><tr><td><strong>Private label<\/strong><\/td><td data-label=\"Who defines the product?\">An English term used for both approaches above<\/td><td data-label=\"Most common use\">International buyers, trade shows<\/td><\/tr><\/tbody><\/table><\/div><p>A store-brand range can start with an existing formula from our catalog (as with <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/white-label-cosmetics-service\/\">white label cosmetics<\/a>) or custom development. In either case, the product carries only your retailer's name.<\/p><\/div><\/article><article class=\"sx-ch\" id=\"why-launch-your-retailer-s-own-cosmetics-range\"><span class=\"num\">02 \/ 08<\/span><h2>Why launch your retailer's own cosmetics range?<\/h2><div class=\"prose\"><p>A store-brand cosmetics range gives retailers control over margin, positioning and shelf differentiation, alongside national brands sold everywhere in the same form.<\/p><ul><li><strong>Your purchase price, negotiated directly with the manufacturer<\/strong>, with no brand intermediary between the factory and your shelves.<\/li><li><strong>A product your competitors do not stock<\/strong> : your brand, your formula and your packaging on the shelf.<\/li><li><strong>A range designed for stock turnover<\/strong> : you choose the products, fragrances and sizes that match your sales.<\/li><li><strong>Customer loyalty to your retailer<\/strong>, rather than to a brand also stocked next door.<\/li><\/ul><p>Consumers have already made the shift: we discuss it in our article on <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/the-rise-of-private-label-cosmetics-why-consumers-are-making-the-switch\/\">the growth of store-brand cosmetics<\/a>.<\/p><\/div><figure class=\"sx-fig\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement-1024x765.webp\" width=\"1600\" height=\"1195\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement-300x224.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement-768x574.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement-1024x765.webp 1024w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement-1536x1147.webp 1536w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/fabricant-mdd-cosmetique-ligne-conditionnement.webp 1600w\" sizes=\"auto, (max-width:1020px) 92vw, 860px\" loading=\"lazy\" decoding=\"async\" alt=\"A Carmel formulator benchmarking a store-brand cream against the retailer&#x27;s specifications\" title=\"| Carmel Cosmetics Labs\"><\/figure><\/article><article class=\"sx-ch\" id=\"target-national-brand-quality-built-to-your-spec\"><span class=\"num\">03 \/ 08<\/span><h2>Target national-brand quality, built to your specifications<\/h2><div class=\"prose\"><p>We formulate your store-brand range to the level you specify: texture, fragrance, perceived performance, ingredient list and target purchase price. You identify the product in your category you want to benchmark, and we develop a formula unique to your retailer.<\/p><ul><li><strong>Benchmarking against your specifications<\/strong> : you describe the desired product (sensory feel, scent, lather, finish), and our formulators work to that brief and send free samples for comparison.<\/li><li><strong>1,000+ existing formulas<\/strong> as a starting point: a more efficient approach than starting from scratch.<\/li><li><strong>Clean formulas available<\/strong> : sulfate-free and silicone-free, depending on your range's positioning.<\/li><li><strong>Moroccan ingredients you can highlight<\/strong> : Moroccan-origin argan oil and rhassoul (ghassoul) clay, for a range that stands out on the shelf.<\/li><li><strong>Optional testing by a partner laboratory in Europe accredited to ISO\/IEC 17025<\/strong> (tolerance and dermatological testing): we agree on the appropriate program for each product with you.<\/li><li><strong>A Cosmetic Product Safety Report (CPSR) signed by an independent external assessor.<\/strong><\/li><li><strong>Your retailer owns the formula.<\/strong><\/li><\/ul><p>We do not copy any brand: we develop an original formula that meets your requirements.<\/p><\/div><\/article><article class=\"sx-ch\" id=\"a-complete-beauty-and-personal-care-range-from-o\"><span class=\"num\">04 \/ 08<\/span><h2>A complete beauty and personal care range from one manufacturer<\/h2><div class=\"prose\"><p>Carmel manufactures more than 1,000 formulas in one factory: a buying group can approve a single supplier for several beauty and personal care categories, supported by one quality documentation package.<\/p><ul><li><strong>Body cleansing<\/strong> : <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/personalized-cosmetics-products-catalog\/white-label-shower-gels\/\">shower gels and soaps<\/a>, black soap (beldi) and everyday care<\/li><li><strong>Hair care<\/strong> : <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/personalized-cosmetics-products-catalog\/white-label-shampoos\/\">store-brand shampoos<\/a>, conditioners, masks and oils<\/li><li><strong>Body care<\/strong> : <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/personalized-cosmetics-products-catalog\/white-label-body-creams\/\">body creams and lotions<\/a>, plant oils and argan oil, scrubs<\/li><li><strong>Face care<\/strong> : cleansers, serums, day and night creams, masks<\/li><li><strong>Sun care<\/strong> : <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/personalized-cosmetics-products-catalog\/white-label-sun-care\/\">sunscreens<\/a> and after-sun care<\/li><li><strong>Oral care<\/strong> : <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/personalized-cosmetics-products-catalog\/white-label-oral-care\/\">toothpaste and oral care products<\/a><\/li><li><strong>Men's, baby and maternity care<\/strong> and other catalog categories, on request<\/li><\/ul><p>For pharmacy and drugstore private label ranges, see our <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/dermocosmetics-manufacturer\/\">dermocosmetics laboratory<\/a>.<\/p><h3>A cosmetics supplier for retailers, from value to premium<\/h3><p>Whether your store brand is a value, core or premium range, the same manufacturer adapts the formula, packaging and purchase price to each tier. You keep one point of contact, one quality process and a consistent identity across the category.<\/p><\/div><\/article><article class=\"sx-ch\" id=\"what-procurement-teams-require-and-what-carmel-p\"><span class=\"num\">05 \/ 08<\/span><h2>What procurement teams require, and what Carmel provides<\/h2><div class=\"prose\"><p>Before approving a private label manufacturer, a procurement team checks compliance, quality, logistics and the ability to meet specifications or respond to a tender. Here are the items commonly requested and what we provide for each.<\/p><div class=\"tbl-wrap\"><table><thead><tr><th>Retailer requirement<\/th><th>Carmel's response<\/th><\/tr><\/thead><tbody><tr><td>ISO 22716 certificate (cosmetic good manufacturing practices)<\/td><td data-label=\"Carmel&#x27;s response\">Yes, issued by Bureau Veritas. <strong>Available on request.<\/strong><\/td><\/tr><tr><td>ISO 9001 certificate (quality management)<\/td><td data-label=\"Carmel&#x27;s response\">Yes, issued by Bureau Veritas. <strong>Available on request.<\/strong><\/td><\/tr><tr><td>Product Information File (PIF)<\/td><td data-label=\"Carmel&#x27;s response\">Prepared by Carmel for each product. <strong>Available on request.<\/strong><\/td><\/tr><tr><td>CPNP notification<\/td><td data-label=\"Carmel&#x27;s response\">Filed by Carmel for products sold in the European Union; your retailer remains the Responsible Person<\/td><\/tr><tr><td>FDA registration (United States, MoCRA)<\/td><td data-label=\"Carmel&#x27;s response\">Carmel is registered with the FDA<\/td><\/tr><tr><td>Moroccan compliance<\/td><td data-label=\"Carmel&#x27;s response\">ONSSA and AMMPS authorizations<\/td><\/tr><tr><td>Meeting your specifications<\/td><td data-label=\"Carmel&#x27;s response\">Yes: formula, sensory feel, ingredient list, packaging and target purchase price<\/td><\/tr><tr><td>Responding to tenders<\/td><td data-label=\"Carmel&#x27;s response\">Yes, your tenders are welcome<\/td><\/tr><tr><td>Retailer supplier audit<\/td><td data-label=\"Carmel&#x27;s response\">Welcome; visits to the A\u00eft Melloul factory by appointment<\/td><\/tr><tr><td>Product testing<\/td><td data-label=\"Carmel&#x27;s response\">Optional, through a partner laboratory in Europe accredited to ISO\/IEC 17025<\/td><\/tr><tr><td>Cosmetic Product Safety Report (CPSR)<\/td><td data-label=\"Carmel&#x27;s response\">Independent external safety assessor<\/td><\/tr><tr><td>EAN barcodes<\/td><td data-label=\"Carmel&#x27;s response\">Handled by Carmel<\/td><\/tr><tr><td>Logistics<\/td><td data-label=\"Carmel&#x27;s response\">Handled by Carmel<\/td><\/tr><tr><td>Samples for approval<\/td><td data-label=\"Carmel&#x27;s response\">Free<\/td><\/tr><tr><td>Product technical data sheets<\/td><td data-label=\"Carmel&#x27;s response\">To be agreed during your consultation<\/td><\/tr><tr><td>Batch traceability<\/td><td data-label=\"Carmel&#x27;s response\">To be agreed during your consultation<\/td><\/tr><tr><td>Multilingual labeling<\/td><td data-label=\"Carmel&#x27;s response\">To be agreed during your consultation<\/td><\/tr><tr><td>Your retailer's own quality standards<\/td><td data-label=\"Carmel&#x27;s response\">To be agreed during your consultation<\/td><\/tr><\/tbody><\/table><\/div><p>Send us your buying group's checklist or tender documentation: we respond point by point before any commitment.<\/p><\/div><\/article><article class=\"sx-ch\" id=\"made-in-morocco-to-european-standards-an-alterna\"><span class=\"num\">06 \/ 08<\/span><h2>Made in Morocco to European standards: an alternative to Asian suppliers<\/h2><div class=\"prose\"><p>For European and Moroccan retailers, Carmel offers a Mediterranean alternative to Asian manufacturers: an ISO 22716-certified factory close to Europe that handles the European regulatory compliance of your store-brand range itself.<\/p><p><span class=\"euf\"><svg class=\"eu\" viewBox=\"0 0 30 20\" role=\"img\" aria-label=\"Drapeau de l'Union europ\u00e9enne\"><rect width=\"30\" height=\"20\" fill=\"#003399\"\/><circle cx=\"21.00\" cy=\"10.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"20.20\" cy=\"13.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"18.00\" cy=\"15.20\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"15.00\" cy=\"16.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"12.00\" cy=\"15.20\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.80\" cy=\"13.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.00\" cy=\"10.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"9.80\" cy=\"7.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"12.00\" cy=\"4.80\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"15.00\" cy=\"4.00\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"18.00\" cy=\"4.80\" r=\".9\" fill=\"#FFCC00\"\/><circle cx=\"20.20\" cy=\"7.00\" r=\".9\" fill=\"#FFCC00\"\/><\/svg><\/span><strong>European standards<\/strong><\/p><ul><li><strong>ISO 22716<\/strong> : the reference standard for cosmetic good manufacturing practices under Regulation (EC) No. 1223\/2009.<\/li><li><strong>Product Information File (PIF) and CPNP notification filing<\/strong> handled by Carmel: your store-brand range reaches the shelf with its regulatory documentation.<\/li><li><strong>A factory your quality teams can audit and visit<\/strong>, by appointment, in A\u00eft Melloul (Greater Agadir). A second production site is planned.<\/li><li><strong>Project support in French<\/strong>, from specifications to production.<\/li><li><strong>An origin with a story to tell<\/strong> : Moroccan argan oil and rhassoul clay, for a range with its own story.<\/li><\/ul><h3>Retail chains in Morocco<\/h3><p>For retail chains in Morocco, Carmel manufactures locally with ONSSA and AMMPS authorizations. Your store-brand range is made in the country where it is sold.<\/p><\/div><figure class=\"sx-fig factory\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/visite-usine-cosmetique-carmel-ait-melloul-1024x765.webp\" width=\"1200\" height=\"896\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/visite-usine-cosmetique-carmel-ait-melloul-300x224.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/visite-usine-cosmetique-carmel-ait-melloul-768x573.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/visite-usine-cosmetique-carmel-ait-melloul-1024x765.webp 1024w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/visite-usine-cosmetique-carmel-ait-melloul.webp 1200w\" sizes=\"auto, (max-width:1020px) 92vw, 860px\" loading=\"lazy\" decoding=\"async\" alt=\"A client visiting the Carmel Cosmetics Labs factory in A\u00eft Melloul, beside the filling line\" title=\"| Carmel Cosmetics Labs\"><\/figure><\/article><article class=\"sx-ch\" id=\"sizes-and-packaging-designed-for-retail-shelves\"><span class=\"num\">07 \/ 08<\/span><h2>Sizes and packaging designed for retail shelves<\/h2><div class=\"prose\"><p>We adapt each product's size and packaging to your category: consumer bottles and tubes, refills, 1 L sizes, and bulk 5 L and 20 L formats for professional channels.<\/p><ul><li>Choose bottles, tubes, pumps and caps with our service for <a href=\"https:\/\/carmelcosmeticslabs.com\/en\/cosmetic-packaging-morocco\/\">packaging and sizes<\/a><\/li><li>Graphic design reflecting your retailer's identity<\/li><li>Refills to extend the life of the bottle on the shelf<\/li><li>EAN barcodes and logistics handled by Carmel<\/li><li>Bulk 5 L and 20 L formats for professional categories or cash-and-carry<\/li><li>Accessible MOQ: quantities are agreed with you during your consultation<\/li><\/ul><\/div><\/article><article class=\"sx-ch\" id=\"how-does-a-retailer-private-label-cosmetics-proj\"><span class=\"num\">08 \/ 08<\/span><h2>How does a retailer private label cosmetics project work with Carmel?<\/h2><div class=\"prose\"><p>A store-brand project starts with a free consultation and progresses through successive approvals: you commit only after testing the samples.<\/p><ol><li><strong>Free consultation or tender<\/strong> present your retailer, product categories and specifications, or send us your tender.<\/li><li><strong>Proposal<\/strong> a selection of existing formulas or custom development, positioning and target purchase price.<\/li><li><strong>Free samples<\/strong> your team compares, comments and approves. Your quality team can audit the factory.<\/li><li><strong>Packaging and labeling<\/strong> reflecting your retailer's identity.<\/li><li><strong>Regulatory documentation<\/strong> PIF, safety report and CPNP notification filing for the European Union (your retailer remains the Responsible Person); EAN barcodes.<\/li><li><strong>Production, packing and logistics<\/strong> from our ISO 22716-certified factory.<\/li><\/ol><\/div><\/article><\/div><\/section>\n<section class=\"sx-cmp\" id=\"comparatif\"><div class=\"wrap\"><div class=\"head\"><h2 class=\"h2\">Stock a national brand or launch your store brand with Carmel<\/h2><p>Brand awareness on one side; margin, exclusivity and loyalty on the other. This table compares two business models, not individual brands.<\/p><\/div>\n<div class=\"cmp-t\"><table><thead><tr><th scope=\"col\"><\/th><th scope=\"col\">Stocking a national brand<\/th><th scope=\"col\" class=\"us\"><span>Your store brand manufactured by Carmel<\/span><\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Brand ownership<\/th><td data-label=\"Stocking a national brand\">The brand supplier<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Your retailer<\/td><\/tr><tr><th scope=\"row\">Formula ownership<\/th><td data-label=\"Stocking a national brand\">The brand supplier<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Your retailer<\/td><\/tr><tr><th scope=\"row\">Product specifications<\/th><td data-label=\"Stocking a national brand\">Set by the brand<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Defined by your specifications<\/td><\/tr><tr><th scope=\"row\">Price<\/th><td data-label=\"Stocking a national brand\">Negotiated with the brand<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Purchase price negotiated directly with the manufacturer<\/td><\/tr><tr><th scope=\"row\">Shelf exclusivity<\/th><td data-label=\"Stocking a national brand\">Product available from your competitors<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Product sold only under your name<\/td><\/tr><tr><th scope=\"row\">Range breadth<\/th><td data-label=\"Stocking a national brand\">Often one brand per category<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>Face, body, hair, sun care, hygiene and oral care: one manufacturer<\/td><\/tr><tr><th scope=\"row\">EU regulatory documentation<\/th><td data-label=\"Stocking a national brand\">Handled by the brand<\/td><td data-label=\"Your store brand manufactured by Carmel\" class=us>PIF and CPNP notification filing handled by Carmel<\/td><\/tr><\/tbody><\/table><\/div><\/div><\/section>\n<section class=\"sx-rv\" id=\"avis\"><div class=\"wrap\"><div class=\"top\"><h2 class=\"h2\">What the brands that trust us with manufacturing say<\/h2>\n<div class=\"score\"><b>4.9<\/b><div><span class=\"st\" role=\"img\" aria-label=\"4.9 out of 5 stars\">\u2605\u2605\u2605\u2605\u2605<\/span><small>84 Google reviews \u00b7 translated excerpts<\/small><\/div><\/div><\/div>\n<div class=\"rv-grid\"><figure class=\"rv big\"><div class=\"st\" role=\"img\" aria-label=\"5 out of 5 stars\">\u2605\u2605\u2605\u2605\u2605<\/div><blockquote>Great-quality products! The texture, scents, results and price: it is all there\u2026 [\u2026] 100% Moroccan products that are on a par with the best brands worldwide!<\/blockquote><figcaption><b>Imane T.<\/b> \u00b7 Google review, June 2024<\/figcaption><\/figure><div class=\"side\"><figure class=\"rv\"><div class=\"st\" role=\"img\" aria-label=\"5 out of 5 stars\">\u2605\u2605\u2605\u2605\u2605<\/div><blockquote>[\u2026] a wide range of cosmetic products, from white label or bulk skincare to shampoos [\u2026] Their products are formulated with high-quality ingredients.<\/blockquote><figcaption><b>Omar K.<\/b> \u00b7 Google review, August 2023<\/figcaption><\/figure><figure class=\"rv\"><div class=\"st\" role=\"img\" aria-label=\"5 out of 5 stars\">\u2605\u2605\u2605\u2605\u2605<\/div><blockquote>I am very, very happy with this collaboration and recommend this lab without hesitation. It is a trusted partner I intend to work with over the long term.<\/blockquote><figcaption><b>Marwa<\/b> \u00b7 Google review, February 2026<\/figcaption><\/figure><\/div><\/div><\/div><\/section>\n<section class=\"sx-faq\" id=\"faq\"><div class=\"wrap faq-grid\"><div class=\"sticky\"><h2 class=\"h2\">Frequently asked questions<\/h2><p class=\"sub\" style=\"margin-top:18px\">Another question? Ask during your free consultation or message us on WhatsApp.<\/p><\/div><div><details class=\"qa\" open><summary><h3>What are retailer private label cosmetics?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Retailer private label cosmetics are beauty or personal care products sold under a retailer's name and made for it by a manufacturer to its specifications. The retailer defines the positioning, specifications and price; the manufacturer formulates, produces and prepares the regulatory documentation. Carmel manufactures these ranges for retail chains.<\/p><\/div><\/details><details class=\"qa\" open><summary><h3>What is the difference between retailer private label, white label and private label?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Retailer private label products are defined by the retailer through its specifications. White label starts with an existing manufacturer's formula, branded under the client's name. Private label is the English term covering both approaches. At Carmel, a store-brand range can start with one of our 1,000+ formulas or custom development.<\/p><\/div><\/details><details class=\"qa\" open><summary><h3>Which product categories can you manufacture for a retailer?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>The full beauty and personal care range: facial skincare, body care, shower gels and soaps, shampoos and hair care, sun protection, toothpaste and oral care, as well as men's, baby and maternity ranges. Everything is produced in one ISO 22716-certified factory, allowing retailers to approve one manufacturer for several categories.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Can you develop quality comparable to a national brand?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Yes, that is the purpose of your specifications. You describe the expected level (texture, fragrance, lather, ingredient list and target purchase price), and our formulators develop an original formula unique to your retailer and send free samples for comparison. We do not copy any brand: you own the final formula.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>What documents do you provide to a buying group?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>The ISO 22716 and ISO 9001 certificates issued by Bureau Veritas and each product's Product Information File (PIF) are available on request. Carmel handles EAN barcodes and welcomes supplier audits. Other items on your checklist (technical data sheets, batch traceability) are agreed during your consultation.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Do you handle European compliance for a store-brand range sold in France?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Yes. For each product sold in the European Union, Carmel prepares the PIF and files the CPNP notification; your retailer (or its appointed representative) remains the Responsible Person. The factory follows ISO 22716, the reference for good manufacturing practices under Regulation (EC) No. 1223\/2009. Your store-brand range reaches the shelf with complete regulatory documentation.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Does the retailer own the formula?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Yes. Your retailer owns the formula developed for its store-brand range, as well as the brand. Products are sold only under your name, and your project's confidentiality is respected. This is a key difference from stocking a national brand, whose formula remains the supplier's property.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Which sizes do you offer for retail shelves?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Consumer bottles and tubes selected with our packaging service, refills, 1 L sizes, and bulk 5 L and 20 L formats for professional channels or cash-and-carry. The container and graphic design are adapted to your category; EAN barcodes and logistics are handled by Carmel.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Do you work with retail chains in Morocco?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Yes. Carmel works with retail chains and manufactures in Morocco, in A\u00eft Melloul (Greater Agadir), with ONSSA and AMMPS authorizations. Moroccan retailers can launch locally manufactured store-brand cosmetics with the same ISO 22716 and ISO 9001 standards as our products for the European Union.<\/p><\/div><\/details><details class=\"qa\"><summary><h3>Do you respond to tenders and accept supplier audits?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Yes to both. Your tenders are welcome: we respond to your specifications point by point. Your quality team can audit our A\u00eft Melloul factory by appointment. For an initial discussion without a tender, start with a free consultation: proposed formulas and free samples, with no commitment before approval.<\/p><\/div><\/details><\/div><\/div><\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-e161fbb e-flex e-con-full sx-consult e-con e-child\" data-id=\"e161fbb\" data-element_type=\"container\" data-e-type=\"container\" id=\"consultation\">\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-11ae9d9 e-flex e-con-full wrap grid e-con e-child\" data-id=\"11ae9d9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd5e0a1 elementor-widget elementor-widget-html\" data-id=\"bd5e0a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div lang=\"en\"><div><h2>Free consultation: let's discuss your store-brand range<\/h2><div class=\"txt\"><p>Send your specifications, tender or simply the product categories you want to launch under your brand. A Carmel advisor responds with an initial formula proposal and free samples. ISO 22716 and ISO 9001 certificates and PIFs available on request.<\/p><\/div><ul class=\"checks\"><li><svg class=\"ico\"><use href=\"#i-check\"\/><\/svg><span>Specifications and tenders welcome<\/span><\/li><li><svg class=\"ico\"><use href=\"#i-check\"\/><\/svg><span>Supplier audits welcome<\/span><\/li><li><svg class=\"ico\"><use href=\"#i-check\"\/><\/svg><span>Your retailer owns the formula<\/span><\/li><\/ul>\n<div class=\"alt\"><span>Prefer to message us?<\/span><a href=\"https:\/\/wa.me\/212761511711?text=Hello%2C%20I%20would%20like%20a%20free%20consultation%20for%20my%20cosmetics%20project.\" target=\"_blank\" rel=\"noopener\"><svg class=\"ico\"><use href=\"#i-chat\"\/><\/svg>WhatsApp +212 761 511 711<\/a><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-0415589 e-flex e-con-full fcard lpf-card e-con e-child\" data-id=\"0415589\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a884d5 elementor-widget elementor-widget-html\" data-id=\"6a884d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n#consultation{scroll-margin-top:110px}\nbody .e-con.lpf-sec{background:#edf5f2!important;padding:clamp(48px,6vw,88px) 16px!important;margin:0!important}\nbody .e-con.lpf-card{--bg:#fbfdfc;--paper:#fff;--mint:#edf5f2;--ink:#10292a;--muted:#51686a;--line:#d6e4e0;--teal:#2f7266;--deep:#0f3a35;--f-display:\"Proxima Nova\",system-ui,sans-serif;--f-body:\"Lato\",system-ui,sans-serif;\n --display:block;display:block!important;width:100%;max-width:760px!important;margin:0 auto!important;background:#fff;border-radius:28px;padding:clamp(22px,3vw,40px)!important;box-shadow:0 1px 0 rgb(16 58 53\/.04),0 30px 70px -36px rgb(16 58 53\/.45),0 0 0 1px #d6e4e0;color:var(--ink);font:400 16px\/1.55 var(--f-body)}\nbody .e-con.lpf-card *{box-sizing:border-box}\nbody .e-con.lpf-card>.elementor-element,body .lpf-card .elementor-widget-container,body .lpf-card .wpforms-container,body .lpf-card form,body .lpf-card .wpforms-field,body .lpf-card .choices,body .lpf-card .iti{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}\nbody .lpf-card .eael-contact-form,body .lpf-card .eael-wpforms{background:transparent!important;padding:0!important;margin:0!important;max-width:none!important;box-shadow:none!important;border:0!important}\nbody .lpf-card .dv-card-head{display:flex;gap:16px;align-items:center;margin-bottom:clamp(16px,1.8vw,22px)}\nbody .lpf-card .dv-avatar{flex:none;width:64px;height:64px;border-radius:20px;object-fit:cover;object-position:30% 30%}\nbody .lpf-card .dv-card-head h2{margin:0;font:680 clamp(21px,2vw,26px)\/1.15 var(--f-display);letter-spacing:-.025em;color:var(--ink)}\nbody .lpf-card .dv-card-head p{margin:4px 0 0;color:var(--muted);font-size:14.5px;line-height:1.45}\nbody .lpf-card .dv-reassure{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}\nbody .lpf-card .dv-reassure svg{flex:none;width:17px;height:17px;margin-top:1px;color:var(--teal)}\nbody .lpf-card .wpforms-head-container,body .lpf-card .wpforms-title,body .lpf-card .wpforms-description{display:none!important}\nbody .lpf-card .wpforms-field-container{display:grid;gap:14px}\nbody .lpf-card .wpforms-field{padding:0!important;float:none!important;width:auto!important}\nbody .lpf-card .wpforms-field-name .wpforms-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none!important}\nbody .lpf-card .choices.wpforms-field-row{display:block!important}\nbody .lpf-card .wpforms-field-row-block{width:auto!important;padding:0!important;float:none!important}\nbody .lpf-card .wpforms-field-row::before,body .lpf-card .wpforms-field-row::after{display:none!important}\nbody .lpf-card label.wpforms-field-label,body .lpf-card legend.wpforms-field-label{display:block;font:600 13.5px\/1.3 var(--f-body)!important;color:var(--ink)!important;margin:0 0 7px!important;padding:0!important;text-transform:none!important;letter-spacing:normal!important}\nbody .lpf-card fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0}\nbody .lpf-card .wpforms-label-hide{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}\nbody .lpf-card .wpforms-sublabel-hide{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}\nbody .lpf-card .wpforms-required-label{color:var(--teal)!important}\nbody .lpf-card input[type=text],body .lpf-card input[type=email],body .lpf-card input[type=tel],body .lpf-card input[type=url],body .lpf-card input[type=number],body .lpf-card select,body .lpf-card textarea{width:100%!important;max-width:none!important;font:400 15.5px\/1.4 var(--f-body)!important;color:var(--ink)!important;background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:13px 15px!important;height:auto!important;min-height:50px;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}\nbody .lpf-card .iti input[type=tel]{padding-left:52px!important}\nbody .lpf-card textarea{min-height:120px;resize:vertical}\nbody .lpf-card input:focus,body .lpf-card select:focus,body .lpf-card textarea:focus{outline:0!important;border-color:var(--teal)!important;background-color:var(--paper)!important;box-shadow:0 0 0 4px rgb(47 114 102\/.14)!important}\nbody .lpf-card ::placeholder{color:#8aa09d;opacity:1}\nbody .lpf-card .wpforms-submit-container{margin-top:6px!important;padding:0!important}\nbody .lpf-card button.wpforms-submit{width:100%!important;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;font:650 16px\/1 var(--f-body)!important;color:#fff!important;background:var(--deep)!important;border:0!important;border-radius:99px!important;padding:19px 26px!important;min-height:58px;cursor:pointer;box-shadow:0 14px 30px -14px rgb(16 58 53\/.7)!important;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .2s ease}\n@media (hover:hover) and (pointer:fine){body .lpf-card button.wpforms-submit:hover{background:var(--teal)!important}}\nbody .lpf-card button.wpforms-submit:active{transform:scale(.98)}\nbody .lpf-card .wpforms-error,body .lpf-card label.wpforms-error,body .lpf-card em.wpforms-error{display:block;color:#b3261e!important;font-size:12.5px!important;margin-top:5px!important}\nbody .lpf-card input.wpforms-error,body .lpf-card select.wpforms-error,body .lpf-card textarea.wpforms-error{border-color:#d26a5f!important}\nbody .lpf-card .wpforms-confirmation-container-full{background:var(--mint)!important;border:0!important;border-radius:18px!important;color:var(--ink)!important;padding:22px!important}\n@media (max-width:520px){body .lpf-card .wpforms-field-name .wpforms-field-row{grid-template-columns:1fr}}\n<\/style><div lang=\"en\"><div class=\"fh\"><span class=\"av\" aria-hidden=\"true\"><svg class=\"ico\"><use href=\"#i-flask\"\/><\/svg><\/span><div><h3>Tell us about your project<\/h3><p>An advisor reviews your request and contacts you through your preferred channel.<\/p><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f290cf7 dv-form eael-wpforms-labels-yes eael-wpforms-form-button-custom elementor-widget elementor-widget-eael-wpforms\" data-id=\"f290cf7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"eael-wpforms.default\">\n\t\t\t\t\t            <div class=\"eael-contact-form eael-wpforms eael-wpforms-align-default\">\n                                <div class=\"wpforms-container wpforms-container-full wpforms-render-modern\" id=\"wpforms-28270\"><form id=\"wpforms-form-28270\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"28270\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/en\/wp-json\/wp\/v2\/pages\/56068\" data-token=\"cfaaa6fd9897b7eaae03a324beefe5b0\" data-token-time=\"1793780698\"><div class=\"wpforms-head-container\"><div class=\"wpforms-title\">Lead EN \u2013 Demande de devis<\/div><div class=\"wpforms-description\">Tell us about your project. A product specialist will get back to you shortly.<\/div><\/div><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-28270-field_26-container\" class=\"wpforms-field wpforms-field-html\" data-field-type=\"html\" data-field-id=\"26\"><div id=\"wpforms-28270-field_26\" aria-errormessage=\"wpforms-28270-field_26-error\"><center>CONTACT INFORMATION<\/center><\/div><\/div><div id=\"wpforms-28270-field_8-container\" class=\"wpforms-field wpforms-field-name\" data-field-type=\"name\" data-field-id=\"8\"><fieldset><legend class=\"wpforms-field-label wpforms-label-hide\" aria-hidden=\"false\">Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><div class=\"wpforms-field-row wpforms-field-large\"><div class=\"wpforms-field-row-block wpforms-first wpforms-one-half\"><input type=\"text\" id=\"wpforms-28270-field_8\" class=\"wpforms-field-name-first wpforms-field-required\" name=\"wpforms[fields][8][first]\" placeholder=\"First Name\" aria-errormessage=\"wpforms-28270-field_8-error\" required><label for=\"wpforms-28270-field_8\" class=\"wpforms-field-sublabel after wpforms-sublabel-hide\">Pr\u00e9nom<\/label><\/div><div class=\"wpforms-field-row-block wpforms-one-half\"><input type=\"text\" id=\"wpforms-28270-field_8-last\" class=\"wpforms-field-name-last wpforms-field-required\" name=\"wpforms[fields][8][last]\" placeholder=\"Last Name\" aria-errormessage=\"wpforms-28270-field_8-last-error\" required><label for=\"wpforms-28270-field_8-last\" class=\"wpforms-field-sublabel after wpforms-sublabel-hide\">Nom<\/label><\/div><\/div><\/fieldset><\/div><div id=\"wpforms-28270-field_10-container\" class=\"wpforms-field wpforms-field-layout\" data-field-type=\"layout\" data-field-id=\"10\"><div class=\"wpforms-field-layout-columns wpforms-field-layout-preset-50-50\"><div class=\"wpforms-layout-column wpforms-layout-column-50\" ><div id=\"wpforms-28270-field_9-container\" class=\"wpforms-field wpforms-field-email\" data-field-type=\"email\" data-field-id=\"9\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-28270-field_9\" aria-hidden=\"false\">Email <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-28270-field_9\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][9]\" placeholder=\"Email\" spellcheck=\"false\" aria-errormessage=\"wpforms-28270-field_9-error\" required><\/div><div id=\"wpforms-28270-field_39-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-modern\" data-field-type=\"select\" data-field-id=\"39\"><label class=\"wpforms-field-label\" for=\"wpforms-28270-field_39\">Preferred Contact Method<\/label><select id=\"wpforms-28270-field_39\" class=\"wpforms-field-medium choicesjs-select\" data-size-class=\"wpforms-field-row wpforms-field-medium\" data-search-enabled=\"\" name=\"wpforms[fields][39]\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'>Please select your preferred method of contact<\/option><option value=\"WhatsApp\"  class=\"choice-1 depth-1\"  >WhatsApp<\/option><option value=\"Email\"  class=\"choice-2 depth-1\"  >Email<\/option><option value=\"Call only\"  class=\"choice-3 depth-1\"  >Call only<\/option><\/select><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-50\" ><div id=\"wpforms-28270-field_11-container\" class=\"wpforms-field wpforms-field-phone\" data-field-type=\"phone\" data-field-id=\"11\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-28270-field_11\" aria-hidden=\"false\">Phone <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"tel\" id=\"wpforms-28270-field_11\" class=\"wpforms-field-medium wpforms-field-required wpforms-smart-phone-field\" data-rule-smart-phone-field=\"true\" name=\"wpforms[fields][11]\" placeholder=\"Phone\" aria-label=\"Phone\" aria-errormessage=\"wpforms-28270-field_11-error\" required><\/div><div id=\"wpforms-28270-field_13-container\" class=\"wpforms-field wpforms-field-text\" data-field-type=\"text\" data-field-id=\"13\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-28270-field_13\" aria-hidden=\"false\">Company or brand name \/ website<\/label><input type=\"text\" id=\"wpforms-28270-field_13\" class=\"wpforms-field-medium\" name=\"wpforms[fields][13]\" placeholder=\"Company or brand name \/ website\" aria-errormessage=\"wpforms-28270-field_13-error\" ><\/div><\/div><\/div><\/div><div id=\"wpforms-28270-field_27-container\" class=\"wpforms-field wpforms-field-html\" data-field-type=\"html\" data-field-id=\"27\"><div id=\"wpforms-28270-field_27\" aria-errormessage=\"wpforms-28270-field_27-error\"><center>PROJECT INFORMATION<\/center><\/div><\/div><div id=\"wpforms-28270-field_35-container\" class=\"wpforms-field wpforms-field-checkbox wpforms-list-2-columns\" data-field-type=\"checkbox\" data-field-id=\"35\"><fieldset><legend class=\"wpforms-field-label\">Which cosmetics category interests you most? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><ul id=\"wpforms-28270-field_35\" class=\"wpforms-field-required\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_1\" name=\"wpforms[fields][35][]\" value=\"Face care Products\" aria-errormessage=\"wpforms-28270-field_35_1-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_1\">Face care Products<\/label><\/li><li class=\"choice-2 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_2\" name=\"wpforms[fields][35][]\" value=\"Haircare Products\" aria-errormessage=\"wpforms-28270-field_35_2-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_2\">Haircare Products<\/label><\/li><li class=\"choice-3 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_3\" name=\"wpforms[fields][35][]\" value=\"Bodycare Products\" aria-errormessage=\"wpforms-28270-field_35_3-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_3\">Bodycare Products<\/label><\/li><li class=\"choice-4 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_4\" name=\"wpforms[fields][35][]\" value=\"Lipcare Products\" aria-errormessage=\"wpforms-28270-field_35_4-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_4\">Lipcare Products<\/label><\/li><li class=\"choice-5 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_5\" name=\"wpforms[fields][35][]\" value=\"Men&#039;s grooming Products\" aria-errormessage=\"wpforms-28270-field_35_5-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_5\">Men's grooming Products<\/label><\/li><li class=\"choice-6 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_6\" name=\"wpforms[fields][35][]\" value=\"Niche Products\" aria-errormessage=\"wpforms-28270-field_35_6-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_6\">Niche Products<\/label><\/li><li class=\"choice-7 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_7\" name=\"wpforms[fields][35][]\" value=\"Intimate Products\" aria-errormessage=\"wpforms-28270-field_35_7-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_7\">Intimate Products<\/label><\/li><li class=\"choice-8 depth-1\"><input type=\"checkbox\" id=\"wpforms-28270-field_35_8\" name=\"wpforms[fields][35][]\" value=\"Others\" aria-errormessage=\"wpforms-28270-field_35_8-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-28270-field_35_8\">Others<\/label><\/li><\/ul><\/fieldset><\/div><div id=\"wpforms-28270-field_30-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-modern\" data-field-type=\"select\" data-field-id=\"30\"><label class=\"wpforms-field-label\" for=\"wpforms-28270-field_30\">What would be the quantity of your order per product? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-28270-field_30\" class=\"wpforms-field-large wpforms-field-required choicesjs-select\" data-size-class=\"wpforms-field-row wpforms-field-large\" data-search-enabled=\"\" name=\"wpforms[fields][30]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'><\/option><option value=\"less than 1000 units\"  class=\"choice-1 depth-1\"  >less than 1000 units<\/option><option value=\"1000 - 5000 units\"  class=\"choice-3 depth-1\"  >1000 - 5000 units<\/option><option value=\"5000 - 10000 units\"  class=\"choice-6 depth-1\"  >5000 - 10000 units<\/option><option value=\"10000 - 50000 units\"  class=\"choice-7 depth-1\"  >10000 - 50000 units<\/option><option value=\"more than 50000 units\"  class=\"choice-4 depth-1\"  >more than 50000 units<\/option><option value=\"Not sure yet\"  class=\"choice-8 depth-1\"  >Not sure yet<\/option><\/select><\/div><div id=\"wpforms-28270-field_22-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-type=\"textarea\" data-field-id=\"22\"><label class=\"wpforms-field-label\" for=\"wpforms-28270-field_22\">Please describe your project?<\/label><textarea id=\"wpforms-28270-field_22\" class=\"wpforms-field-medium\" name=\"wpforms[fields][22]\" placeholder=\"Your products and objectives? Detailed cosmetic product specifications? A link to download your reference files or images? Or anything else that might help us better understand your project.\" aria-errormessage=\"wpforms-28270-field_22-error\" ><\/textarea><\/div><div id=\"wpforms-28270-field_24-container\" class=\"wpforms-field wpforms-field-content\" data-field-type=\"content\" data-field-id=\"24\"><div id=\"wpforms-28270-field_24\" class=\"wpforms-field-large wpforms-field-row\" aria-errormessage=\"wpforms-28270-field_24-error\"><p>By submitting this form, you agree to our terms of service and privacy policy.<\/p>\n<div class=\"wpforms-field-content-display-frontend-clear\"><\/div><\/div><\/div><div id=\"wpforms-28270-field_52-container\" class=\"wpforms-field wpforms-field-hidden ccl-utm_source\" data-field-type=\"hidden\" data-field-id=\"52\"><input type=\"hidden\" id=\"wpforms-28270-field_52\" name=\"wpforms[fields][52]\"><\/div><div id=\"wpforms-28270-field_53-container\" class=\"wpforms-field wpforms-field-hidden ccl-utm_medium\" data-field-type=\"hidden\" data-field-id=\"53\"><input type=\"hidden\" id=\"wpforms-28270-field_53\" name=\"wpforms[fields][53]\"><\/div><div id=\"wpforms-28270-field_54-container\" class=\"wpforms-field wpforms-field-hidden ccl-utm_campaign\" data-field-type=\"hidden\" data-field-id=\"54\"><input type=\"hidden\" id=\"wpforms-28270-field_54\" name=\"wpforms[fields][54]\"><\/div><div id=\"wpforms-28270-field_55-container\" class=\"wpforms-field wpforms-field-hidden ccl-utm_term\" data-field-type=\"hidden\" data-field-id=\"55\"><input type=\"hidden\" id=\"wpforms-28270-field_55\" name=\"wpforms[fields][55]\"><\/div><div id=\"wpforms-28270-field_56-container\" class=\"wpforms-field wpforms-field-hidden ccl-utm_content\" data-field-type=\"hidden\" data-field-id=\"56\"><input type=\"hidden\" id=\"wpforms-28270-field_56\" name=\"wpforms[fields][56]\"><\/div><div id=\"wpforms-28270-field_57-container\" class=\"wpforms-field wpforms-field-hidden ccl-gclid\" data-field-type=\"hidden\" data-field-id=\"57\"><input type=\"hidden\" id=\"wpforms-28270-field_57\" name=\"wpforms[fields][57]\"><\/div><div id=\"wpforms-28270-field_58-container\" class=\"wpforms-field wpforms-field-hidden ccl-gbraid\" data-field-type=\"hidden\" data-field-id=\"58\"><input type=\"hidden\" id=\"wpforms-28270-field_58\" name=\"wpforms[fields][58]\"><\/div><div id=\"wpforms-28270-field_59-container\" class=\"wpforms-field wpforms-field-hidden ccl-wbraid\" data-field-type=\"hidden\" data-field-id=\"59\"><input type=\"hidden\" id=\"wpforms-28270-field_59\" name=\"wpforms[fields][59]\"><\/div><div id=\"wpforms-28270-field_60-container\" class=\"wpforms-field wpforms-field-hidden ccl-fbclid\" data-field-type=\"hidden\" data-field-id=\"60\"><input type=\"hidden\" id=\"wpforms-28270-field_60\" name=\"wpforms[fields][60]\"><\/div><div id=\"wpforms-28270-field_61-container\" class=\"wpforms-field wpforms-field-hidden ccl-landing\" data-field-type=\"hidden\" data-field-id=\"61\"><input type=\"hidden\" id=\"wpforms-28270-field_61\" name=\"wpforms[fields][61]\"><\/div><div id=\"wpforms-28270-field_62-container\" class=\"wpforms-field wpforms-field-hidden ccl-referrer\" data-field-type=\"hidden\" data-field-id=\"62\"><input type=\"hidden\" id=\"wpforms-28270-field_62\" name=\"wpforms[fields][62]\"><\/div><div id=\"wpforms-28270-field_63-container\" class=\"wpforms-field wpforms-field-hidden ccl-first_touch\" data-field-type=\"hidden\" data-field-id=\"63\"><input type=\"hidden\" id=\"wpforms-28270-field_63\" name=\"wpforms[fields][63]\"><\/div><div id=\"wpforms-28270-field_64-container\" class=\"wpforms-field wpforms-field-hidden ccl-canal\" data-field-type=\"hidden\" data-field-id=\"64\"><input type=\"hidden\" id=\"wpforms-28270-field_64\" name=\"wpforms[fields][64]\"><\/div><div id=\"wpforms-28270-field_65-container\" class=\"wpforms-field wpforms-field-hidden ccl-campagne\" data-field-type=\"hidden\" data-field-id=\"65\"><input type=\"hidden\" id=\"wpforms-28270-field_65\" name=\"wpforms[fields][65]\"><\/div><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"28270\"><input type=\"hidden\" name=\"wpforms[time_token]\" value=\"1793780698.4569ae03655bfcd0790d39e3fbfca744f0dd6241d7543e78eb10e8e88cd4bcdd\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/pages\/56068\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-28270\" class=\"wpforms-submit\" data-alt-text=\"Sending...\" data-submit-text=\"Get my free consultation\" aria-live=\"assertive\" value=\"wpforms-submit\">Get my free consultation<\/button><img decoding=\"async\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/plugins\/wpforms\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Loading\" title=\"| Carmel Cosmetics Labs\"><\/div><\/form><\/div>  <!-- .wpforms-container -->            <\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b37a5ff elementor-widget elementor-widget-html\" data-id=\"b37a5ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div lang=\"en\"><p class=\"lock\"><svg class=\"ico\"><use href=\"#i-lock\"\/><\/svg>No obligation. Your information stays confidential.<\/p><script>(function(){function f(){document.querySelectorAll('#consultation button.wpforms-submit').forEach(function(b){b.textContent='Free consultation';b.setAttribute('data-alt-text','Sending\u2026');});}f();document.addEventListener('DOMContentLoaded',f);setTimeout(f,1500);})();<\/script><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad78329 elementor-widget elementor-widget-html\" data-id=\"ad78329\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n<div lang=\"en\"><section class=\"sx-note\"><div class=\"wrap\"><div class=\"letter\"><span class=\"kick\">A note from the founder<\/span><h2>Why we manufacture for your brand<\/h2><div class=\"body\"><p>In the beauty and personal care aisle, customers compare your product with the brand beside it in seconds. A retailer's store brand cannot leave things to chance: it needs the right texture, fragrance and purchase price, and quality documentation ready for the buying group's review.<\/p><p>That is why we work from your specifications, not from our catalog. Our A\u00eft Melloul factory, certified to ISO 22716 and ISO 9001, already manufactures for more than 500 brands in more than 35 countries. Your retailer can have its entire range produced there, from shower gel to toothpaste, under its own name.<\/p><p>Audit the factory by appointment, send us your tender or start with a free consultation.<\/p><\/div>\n<div class=\"sig\"><span class=\"mk\" aria-hidden=\"true\">ME<\/span><div><b>Mohamed El Hjouji<\/b><small>Founder, Carmel Cosmetics Labs \u00b7 A\u00eft Melloul, Greater Agadir<\/small><\/div><\/div><\/div><\/div><\/section>\n<nav class=\"sx-others\" aria-label=\"Other sectors\"><div class=\"wrap\"><div class=\"box\"><div><h2>Do you work in another sector?<\/h2><p>Each profession has its own page, sizes and products.<\/p><\/div><ul><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/private-label-spa-products\/\">Spas and hammams <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/private-label-skincare-estheticians\/\">Beauty salons <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/private-label-hair-care-salons\/\">Hair salons <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/dermocosmetics-manufacturer\/\">Dermocosmetics <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/custom-hotel-amenities\/\">Hotels and riads <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/how-to-start-a-cosmetics-brand\/\">Brand founders <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/en\/cosmetics-by-industry\/\">All sectors <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><\/li><\/ul><\/div><\/div><\/nav>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"WebPage\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/#webpage\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/\", \"name\": \"Retailer private label cosmetics (store brand) | Carmel\", \"description\": \"Retailer private label cosmetics manufacturer: face, body, hair, sun care and hygiene. ISO 22716 factory, EU compliance handled. Free consultation.\", \"inLanguage\": \"en\", \"dateModified\": \"2026-10-05\", \"mainEntity\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/#service\"}}, {\"@type\": \"Service\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/#service\", \"name\": \"Retailer private label cosmetics: target national-brand quality, built to your specifications\", \"serviceType\": \"retailer private label cosmetics\", \"description\": \"Carmel Cosmetics Labs manufactures retailers' private label beauty and personal care ranges (face, body, hair, sun care, hygiene and oral care) in one ISO 22716-certified factory in Morocco, with European compliance handled.\", \"provider\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/home\/#organization\"}, \"areaServed\": [{\"@type\": \"Country\", \"name\": \"Morocco\"}, {\"@type\": \"Country\", \"name\": \"France\"}, {\"@type\": \"Place\", \"name\": \"European Union\"}], \"audience\": {\"@type\": \"BusinessAudience\", \"audienceType\": \"Retail\"}}, {\"@type\": \"FAQPage\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/private-label-beauty-products-retailers\/#faq\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What are retailer private label cosmetics?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Retailer private label cosmetics are beauty or personal care products sold under a retailer's name and made for it by a manufacturer to its specifications. The retailer defines the positioning, specifications and price; the manufacturer formulates, produces and prepares the regulatory documentation. Carmel manufactures these ranges for retail chains.\"}}, {\"@type\": \"Question\", \"name\": \"What is the difference between retailer private label, white label and private label?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Retailer private label products are defined by the retailer through its specifications. White label starts with an existing manufacturer's formula, branded under the client's name. Private label is the English term covering both approaches. At Carmel, a store-brand range can start with one of our 1,000+ formulas or custom development.\"}}, {\"@type\": \"Question\", \"name\": \"Which product categories can you manufacture for a retailer?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"The full beauty and personal care range: facial skincare, body care, shower gels and soaps, shampoos and hair care, sun protection, toothpaste and oral care, as well as men's, baby and maternity ranges. Everything is produced in one ISO 22716-certified factory, allowing retailers to approve one manufacturer for several categories.\"}}, {\"@type\": \"Question\", \"name\": \"Can you develop quality comparable to a national brand?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes, that is the purpose of your specifications. You describe the expected level (texture, fragrance, lather, ingredient list and target purchase price), and our formulators develop an original formula unique to your retailer and send free samples for comparison. We do not copy any brand: you own the final formula.\"}}, {\"@type\": \"Question\", \"name\": \"What documents do you provide to a buying group?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"The ISO 22716 and ISO 9001 certificates issued by Bureau Veritas and each product's Product Information File (PIF) are available on request. Carmel handles EAN barcodes and welcomes supplier audits. Other items on your checklist (technical data sheets, batch traceability) are agreed during your consultation.\"}}, {\"@type\": \"Question\", \"name\": \"Do you handle European compliance for a store-brand range sold in France?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. For each product sold in the European Union, Carmel prepares the PIF and files the CPNP notification; your retailer (or its appointed representative) remains the Responsible Person. The factory follows ISO 22716, the reference for good manufacturing practices under Regulation (EC) No. 1223\/2009. Your store-brand range reaches the shelf with complete regulatory documentation.\"}}, {\"@type\": \"Question\", \"name\": \"Does the retailer own the formula?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. Your retailer owns the formula developed for its store-brand range, as well as the brand. Products are sold only under your name, and your project's confidentiality is respected. This is a key difference from stocking a national brand, whose formula remains the supplier's property.\"}}, {\"@type\": \"Question\", \"name\": \"Which sizes do you offer for retail shelves?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Consumer bottles and tubes selected with our packaging service, refills, 1 L sizes, and bulk 5 L and 20 L formats for professional channels or cash-and-carry. The container and graphic design are adapted to your category; EAN barcodes and logistics are handled by Carmel.\"}}, {\"@type\": \"Question\", \"name\": \"Do you work with retail chains in Morocco?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. Carmel works with retail chains and manufactures in Morocco, in A\u00eft Melloul (Greater Agadir), with ONSSA and AMMPS authorizations. Moroccan retailers can launch locally manufactured store-brand cosmetics with the same ISO 22716 and ISO 9001 standards as our products for the European Union.\"}}, {\"@type\": \"Question\", \"name\": \"Do you respond to tenders and accept supplier audits?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes to both. Your tenders are welcome: we respond to your specifications point by point. Your quality team can audit our A\u00eft Melloul factory by appointment. For an initial discussion without a tender, start with a free consultation: proposed formulas and free samples, with no commitment before approval.\"}}]}, {\"@type\": \"Organization\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/home\/#organization\", \"name\": \"Carmel Cosmetics Labs\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/home\/\"}]}<\/script>\n\n<div class=\"tray\" id=\"tray\" data-mode=\"default\" role=\"region\" aria-label=\"Contact\"><a class=\"wa-dock\" href=\"https:\/\/wa.me\/212761511711?text=Hello%2C%20I%20would%20like%20a%20free%20consultation%20for%20my%20cosmetics%20project.\" target=\"_blank\" rel=\"noopener\" aria-label=\"Speak to an advisor on WhatsApp\"><svg class=\"ico\"><use href=\"#i-chat\"\/><\/svg><\/a><a class=\"btn\" id=\"tray-cta\" href=\"#consultation\"><span id=\"tray-label\">Free consultation<\/span> <span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><\/div>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\"><\/script><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/ScrollTrigger.min.js\"><\/script><script>\/* Carmel \u00b7 pages secteurs : sommaire actif + progression, barre mobile, FAQ, puis animations GSAP (une fois, repli statique). *\/\n(function(){\n  var hx=document.querySelector('.sx-hero'),root=(hx&&hx.closest('.sx'))||document;\n  var mq=window.matchMedia('(max-width:640px)'),mqTray=window.matchMedia('(max-width:1020px)');\n  \/* sommaire : chapitre actif + barre de progression *\/\n  var rail=root.querySelector('.sx-rail'),links=rail?[].slice.call(rail.querySelectorAll('ol a')):[],bar=rail&&rail.querySelector('.bar');\n  var chs=links.map(function(a){return document.getElementById(a.getAttribute('href').slice(1));}).filter(Boolean);\n  var doc=root.querySelector('.sx-doc');\n  function spy(){\n    if(!chs.length)return;\n    var y=130,cur=0;\n    chs.forEach(function(c,i){if(c.getBoundingClientRect().top-y<=0)cur=i;});\n    links.forEach(function(a,i){if(i===cur)a.setAttribute('aria-current','location');else a.removeAttribute('aria-current');});\n    if(bar){var r=chs[cur].getBoundingClientRect(),inCh=Math.min(1,Math.max(0,(y-r.top)\/Math.max(1,r.height))),p=(cur+inCh)\/chs.length;\n      if(chs[0].getBoundingClientRect().top>y)p=0;bar.style.setProperty('--p',p.toFixed(3));}\n  }\n  var tick=false;window.addEventListener('scroll',function(){if(!tick){tick=true;requestAnimationFrame(function(){spy();tick=false;});}},{passive:true});spy();\n  \/* liens #consultation : d\u00e9filement doux + focus du 1er champ *\/\n  document.addEventListener('click',function(e){\n    var a=e.target.closest&&e.target.closest('a[href^=\"#\"]');if(!a)return;\n    var t=document.getElementById(a.getAttribute('href').slice(1));if(!t)return;\n    e.preventDefault();var sm=!matchMedia('(prefers-reduced-motion: reduce)').matches;\n    t.scrollIntoView({behavior:sm?'smooth':'auto',block:'start'});\n    var toc=a.closest('.sx-toc');if(toc)toc.open=false;\n    if(t.id==='consultation'){var f=t.querySelector('form input:not([type=hidden]),form select,form textarea');if(f)setTimeout(function(){try{f.focus({preventScroll:true})}catch(_){}},700);}\n  });\n  \/* barre mobile : visible apr\u00e8s le hero, cach\u00e9e sur le formulaire *\/\n  var tray=document.getElementById('tray'),past=false,atForm=false;\n  function sync(){if(tray)tray.classList.toggle('open',mqTray.matches&&past&&!atForm);}\n  if('IntersectionObserver' in window&&tray){\n    new IntersectionObserver(function(e){past=!e[0].isIntersecting;sync();}).observe(root.querySelector('.hero-cta'));\n    new IntersectionObserver(function(e){atForm=e[0].isIntersecting;sync();},{threshold:.15}).observe(document.getElementById('consultation'));\n  }\n  if(mqTray.addEventListener)mqTray.addEventListener('change',sync);\n  \/* FAQ : tout ouvert sur ordinateur, la 1re seulement sur mobile *\/\n  function faqMode(){[].forEach.call(root.querySelectorAll('details.qa'),function(d,i){d.open=!mq.matches?i<3:i===0;});}\n  faqMode();\n\n  if(!window.gsap||!window.ScrollTrigger||matchMedia('(prefers-reduced-motion: reduce)').matches)return;\n  gsap.registerPlugin(ScrollTrigger);\n  \/* chiffres de la barre de preuve *\/\n  [].forEach.call(root.querySelectorAll('.sx-proof [data-count]'),function(el){\n    if(el.getBoundingClientRect().top<innerHeight)return;\n    var end=parseFloat(el.getAttribute('data-count').replace(',','.')),dec=el.getAttribute('data-count').indexOf(',')>-1?1:0,suf=el.getAttribute('data-suf')||'',o={v:0};\n    gsap.to(o,{v:end,duration:1.4,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 92%',once:true},onUpdate:function(){el.firstChild.nodeValue=(dec?o.v.toFixed(1).replace('.',','):Math.round(o.v).toLocaleString('fr-FR'))+suf;}});\n  });\n  \/* titres de chapitre *\/\n  ScrollTrigger.batch(root.querySelectorAll('.sx-ch>.num,.sx-ch>h2'),{start:'top 88%',once:true,onEnter:function(els){gsap.from(els,{y:18,opacity:0,duration:.6,ease:'power3.out',stagger:.06});}});\n  \/* photos : l\u00e9ger d\u00e9zoom au d\u00e9filement *\/\n  [].forEach.call(root.querySelectorAll('.sx-fig img'),function(img){gsap.fromTo(img,{scale:1.12},{scale:1,ease:'none',scrollTrigger:{trigger:img.parentNode,start:'top bottom',end:'bottom 40%',scrub:.6}});});\n  \/* avis *\/\n  ScrollTrigger.batch(root.querySelectorAll('.rv'),{start:'top 88%',once:true,onEnter:function(els){gsap.from(els,{y:24,opacity:0,duration:.6,ease:'power3.out',stagger:.1});}});\n  \/* consultation *\/\n  var fcard=root.querySelector('.fcard');\n  if(fcard)gsap.from(fcard,{y:40,opacity:0,duration:.8,ease:'power3.out',scrollTrigger:{trigger:fcard,start:'top 85%',once:true}});\n  window.addEventListener('load',function(){ScrollTrigger.refresh();});\n})();\n<\/script><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-56068","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/pages\/56068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/comments?post=56068"}],"version-history":[{"count":2,"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/pages\/56068\/revisions"}],"predecessor-version":[{"id":56070,"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/pages\/56068\/revisions\/56070"}],"wp:attachment":[{"href":"https:\/\/carmelcosmeticslabs.com\/en\/wp-json\/wp\/v2\/media?parent=56068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}