/*
 * Big Moca brand layer: "The Colour Index" (rebrand Sept 2026).
 *
 * ONE stylesheet that every page loads in <head>. It holds:
 *   1. Fonts. Archivo, Instrument Sans and IBM Plex Mono, self-hosted.
 *   2. Brand tokens (--bm-*).
 *   3. The site header (#bmh, rendered by /js/site-nav.js).
 *   4. The site footer (#bmf, rendered by /js/site-footer.js).
 *   5. The base layer that pulls the ~190 older pages into the new look
 *      without touching each page: font aliases, token remaps, buttons.
 *
 * This file replaced /fonts/fonts.css in page heads (the old Space Grotesk /
 * Inter / Space Mono files were removed in fase 7; the aliases below keep old
 * page CSS that still names those families on the new faces).
 */

/* ==========================================================================
   1. Fonts
   ========================================================================== */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-100-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-100-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrument-sans-400-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrument-sans-400-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/*
 * Font aliases. The older pages ask for 'Space Grotesk', 'Inter' and
 * 'Space Mono' by name (via --font-* variables and in ~100 literal rules,
 * some of them in JS-injected CSS). These faces answer those names with the
 * new brand files, so every page switches font without editing it. The old
 * font files are no longer requested because nothing defines them anymore.
 */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-100-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-100-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/instrument-sans-400-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/instrument-sans-400-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ==========================================================================
   2. Brand tokens
   ========================================================================== */
:root{
  --bm-bone:#EFEBE3;
  --bm-paper:#FBFAF7;
  --bm-ink:#141214;
  --bm-stone:#6B655F;
  --bm-hair:#E0DBD1;
  --bm-ube:#5B2E86;
  --bm-ube-deep:#2A1640;
  --bm-matcha:#4E7A2B;
  --bm-pandan:#7FA356;
  --bm-hojicha:#8A5530;
  --bm-wide:"Archivo","Arial Black",system-ui,sans-serif;
  --bm-sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bm-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --bm-gut:clamp(16px,4vw,56px);
  --bm-hh:72px;
}

/* ==========================================================================
   3. Header (#bmh). Markup comes from /js/site-nav.js.
   Everything is scoped under the #bmh id, so page rules for bare
   a / button / ul / img / nav cannot leak in.
   ========================================================================== */
#bmh{position:static;display:block;margin:0;padding:0;font-family:var(--bm-sans);font-size:16px;line-height:1.5;color:var(--bm-ink);text-align:left;letter-spacing:normal;text-transform:none;-webkit-font-smoothing:antialiased}
#bmh *,#bmh *::before,#bmh *::after{box-sizing:border-box}
#bmh ul{list-style:none;margin:0;padding:0}
#bmh li{margin:0;padding:0;list-style:none}
#bmh li::before,#bmh li::marker{content:none}
#bmh a{color:inherit;text-decoration:none;background:none;border:0;margin:0;padding:0;font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none}
#bmh button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0;margin:0;letter-spacing:normal;text-transform:none;box-shadow:none;min-width:0;min-height:0;width:auto;height:auto;border-radius:0;line-height:inherit;transform:none}
#bmh p,#bmh b{margin:0}
#bmh img{display:block;max-width:100%;border:0;border-radius:0;box-shadow:none;margin:0}
#bmh input{font:inherit;margin:0;box-shadow:none}
#bmh svg{display:inline-block;flex:none}
#bmh [hidden]{display:none!important}
#bmh :focus-visible{outline:2px solid var(--bm-pandan);outline-offset:3px}
.bmh-lock{overflow:hidden!important}

#bmh .bmh-head{position:fixed;inset:0 0 auto 0;z-index:1100;background:var(--bm-paper);color:var(--bm-ink);border-bottom:1px solid var(--bm-hair);padding-top:env(safe-area-inset-top,0px);transition:background .3s,color .3s,border-color .3s}
#bmh.bmh--overlay .bmh-head{background:transparent;color:#fff;border-bottom-color:transparent}
#bmh.bmh--overlay.is-solid .bmh-head{background:var(--bm-paper);color:var(--bm-ink);border-bottom-color:var(--bm-hair)}
#bmh .bmh-bar{height:var(--bm-hh);display:flex;align-items:center;gap:36px;padding:0 var(--bm-gut)}
#bmh .bmh-wm{font-family:var(--bm-wide);font-stretch:125%;font-weight:850;letter-spacing:.04em;font-size:18px;line-height:1;white-space:nowrap}
#bmh .bmh-primary ul{display:flex;gap:4px}
#bmh .bmh-top{position:relative;display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;font-size:15px;font-weight:500;line-height:1.2}
#bmh .bmh-top svg{width:10px;height:10px;transition:transform .25s}
#bmh .bmh-top[aria-expanded="true"] svg{transform:rotate(180deg)}
#bmh .bmh-top:hover,#bmh .bmh-top[aria-expanded="true"]{background:color-mix(in srgb,currentColor 12%,transparent)}
#bmh .bmh-top.is-active::after{content:"";position:absolute;left:12px;right:28px;bottom:4px;height:2px;border-radius:2px;background:currentColor}
#bmh a.bmh-top{color:inherit;text-decoration:none}
#bmh .bmh-top-link.is-active::after{right:12px}
#bmh .bmh-sheet-link{display:block;padding:18px 0;border-bottom:1px solid var(--bm-hair);font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:24px;line-height:1.2;color:inherit;text-decoration:none}
#bmh .bmh-tools{margin-left:auto;display:flex;align-items:center;gap:4px}
#bmh .bmh-ic{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 10px;border-radius:999px;font-size:14px;font-weight:500;line-height:1}
#bmh .bmh-ic:hover,#bmh .bmh-ic[aria-expanded="true"]{background:color-mix(in srgb,currentColor 12%,transparent)}
#bmh .bmh-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#bmh .bmh-ic .bm-cart-badge{display:none;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bm-ink);color:#fff;font-size:11px;font-weight:700;line-height:20px}
#bmh.bmh--overlay:not(.is-solid) .bmh-ic .bm-cart-badge{background:#fff;color:var(--bm-ink)}
#bmh .bmh-burger{display:none}
@media (max-width:980px){
  #bmh .bmh-primary,#bmh .bmh-tools .bmh-lang-btn,#bmh .bmh-tools .bmh-acc-btn{display:none}
  #bmh .bmh-burger{display:inline-flex}
  #bmh .bmh-bar{gap:8px}
  #bmh .bmh-wm{margin-left:4px}
}

/* mega panels */
#bmh .bmh-scrim{position:fixed;inset:0;z-index:1090;background:rgba(20,18,20,.38);opacity:0;pointer-events:none;transition:opacity .25s}
#bmh .bmh-scrim.is-on{opacity:1;pointer-events:auto}
#bmh .bmh-panel{position:absolute;left:0;right:0;top:100%;background:var(--bm-paper);color:var(--bm-ink);border-top:1px solid var(--bm-hair);box-shadow:0 30px 60px -30px rgba(20,18,20,.35);animation:bmh-drop .22s ease}
@keyframes bmh-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
#bmh .bmh-inner{max-width:1320px;margin:0 auto;padding:32px var(--bm-gut) 36px;display:grid;gap:40px}
#bmh .bmh-h{margin:0 0 12px;font-family:var(--bm-mono);font-size:11px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--bm-stone);font-weight:500}
#bmh .bmh-list{display:grid;gap:2px}
#bmh .bmh-list a{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-family:var(--bm-wide);font-stretch:112%;font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.01em;border-bottom:1px solid transparent}
#bmh .bmh-list a:hover{border-bottom-color:var(--bm-ink)}
#bmh .bmh-list a[aria-current="page"]{color:var(--bm-ube)}
#bmh .bmh-all{display:inline-block;margin-top:14px;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:4px}
#bmh .bmh-bizacc{margin-top:22px;padding:16px;border-radius:14px;background:var(--bm-bone);display:grid;gap:8px}
#bmh .bmh-bizacc .bmh-h{margin:0}
#bmh .bmh-bizacc p:not(.bmh-h){margin:0 0 6px;font-size:14px;line-height:1.45;color:var(--bm-stone)}
#bmh .bmh-bizacc .bmh-btn{padding:12px 18px;font-size:14px}
#bmh .bmh-cols3{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch}
#bmh .bmh-feat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;border-radius:14px;overflow:hidden;color:#fff;padding:20px;background:var(--bm-ink)}
#bmh .bmh-feat img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .6s}
#bmh .bmh-feat:hover img{transform:scale(1.04)}
#bmh .bmh-feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.72))}
#bmh .bmh-feat>b,#bmh .bmh-feat>span{position:relative;z-index:1}
#bmh .bmh-feat b{font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:20px;line-height:1.1}
#bmh .bmh-feat span{font-size:14px;opacity:.9;margin-top:4px}
#bmh .bmh-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#bmh .bmh-sw{display:flex;flex-direction:column;gap:10px}
#bmh .bmh-sw .bmh-ph{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--c)}
#bmh .bmh-sw .bmh-ph img{width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .6s}
#bmh .bmh-sw .bmh-ph::after{content:"";position:absolute;inset:0;background:var(--c);mix-blend-mode:multiply;opacity:.35}
#bmh .bmh-sw:hover .bmh-ph img{transform:scale(1.06)}
#bmh .bmh-sw b{font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:18px;line-height:1.2}
#bmh .bmh-sw span{font-size:14px;color:var(--bm-stone);margin-top:-6px}
#bmh .bmh-pop{position:absolute;top:calc(100% + 8px);right:var(--bm-gut);width:260px;background:var(--bm-paper);color:var(--bm-ink);border:1px solid var(--bm-hair);border-radius:14px;box-shadow:0 24px 50px -24px rgba(20,18,20,.4);padding:10px;animation:bmh-drop .2s ease}
#bmh .bmh-pop a{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;border-radius:8px;font-size:15px;line-height:1.3}
#bmh .bmh-pop a:hover{background:var(--bm-bone)}
#bmh .bmh-pop a[aria-current="true"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--bm-ube)}
#bmh .bmh-pop small{font-family:var(--bm-mono);font-size:11px;color:var(--bm-stone)}
#bmh .bmh-pop p{margin:4px 12px 8px;font-size:13px;color:var(--bm-stone)}
#bmh .bmh-pop hr{border:0;border-top:1px solid var(--bm-hair);margin:6px 0}
#bmh .bmh-pop .bmh-btn{margin:6px 4px 8px;width:calc(100% - 8px);justify-content:center}
#bmh .bmh-pop .bmh-btn:hover{background:var(--bm-ink)}
#bmh .bmh-p-search .bmh-inner{grid-template-columns:1fr;gap:20px;max-width:900px}
#bmh .bmh-sbox{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--bm-ink);padding-bottom:10px}
#bmh .bmh-sbox svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}
#bmh .bmh-sbox input{flex:1;border:0;border-radius:0;background:transparent;padding:0;height:auto;font-family:var(--bm-wide);font-stretch:112%;font-weight:700;font-size:clamp(22px,3vw,34px);line-height:1.2;color:var(--bm-ink);outline:0;min-width:0;-webkit-appearance:none;appearance:none}
#bmh .bmh-sbox input::placeholder{color:#B5AFA6;opacity:1}
#bmh .bmh-chips{display:flex;flex-wrap:wrap;gap:8px}
#bmh .bmh-chips button{padding:8px 14px;border-radius:999px;border:1px solid var(--bm-hair);font-size:14px;line-height:1.2}
#bmh .bmh-chips button:hover{border-color:var(--bm-ink)}
#bmh .bmh-results{display:grid;gap:4px}
#bmh .bmh-results a{display:flex;align-items:center;gap:14px;padding:8px;border-radius:10px}
#bmh .bmh-results a:hover{background:var(--bm-bone)}
#bmh .bmh-results img,#bmh .bmh-results .bmh-dot{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--c,var(--bm-bone));flex:none}
#bmh .bmh-results b{display:block;font-weight:600;line-height:1.3}
#bmh .bmh-results span{display:block;font-size:13px;color:var(--bm-stone)}
#bmh .bmh-results .bmh-none{color:var(--bm-stone);padding:8px}
@media (max-width:980px){
  #bmh .bmh-panel:not(.bmh-p-search),#bmh .bmh-pop{display:none!important}
  #bmh .bmh-p-search{max-height:calc(100dvh - var(--bm-hh));overflow-y:auto}
  #bmh .bmh-p-search .bmh-inner{padding:20px var(--bm-gut) 24px;gap:16px}
}

/* mobile sheet */
#bmh .bmh-sheet{position:fixed;inset:0;z-index:1200;background:var(--bm-paper);color:var(--bm-ink);display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s;padding-top:env(safe-area-inset-top,0px)}
#bmh .bmh-sheet.is-on{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
#bmh .bmh-sheet-hd{height:var(--bm-hh);flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 var(--bm-gut);border-bottom:1px solid var(--bm-hair)}
#bmh .bmh-sheet-bd{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px var(--bm-gut) 32px}
#bmh .bmh-sheet details{border-bottom:1px solid var(--bm-hair);margin:0;padding:0}
#bmh .bmh-sheet summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:24px;line-height:1.2;cursor:pointer}
#bmh .bmh-sheet summary::-webkit-details-marker{display:none}
#bmh .bmh-sheet summary::after{content:"";width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s}
#bmh .bmh-sheet details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
#bmh .bmh-sheet details ul{margin:0 0 16px}
#bmh .bmh-sheet details a{display:flex;justify-content:space-between;padding:10px 0;font-size:17px;line-height:1.4}
#bmh .bmh-sheet details a small{font-family:var(--bm-mono);font-size:12px;color:var(--bm-stone)}
#bmh .bmh-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
#bmh .bmh-langs a{padding:8px 12px;border:1px solid var(--bm-hair);border-radius:999px;font-family:var(--bm-mono);font-size:12px;line-height:1.2}
#bmh .bmh-langs a[aria-current="true"]{background:var(--bm-ink);color:var(--bm-paper);border-color:var(--bm-ink)}
#bmh .bmh-acc{display:grid;gap:10px;margin-top:24px}

#bmh .bmh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:999px;background:var(--bm-ink);color:#fff;font-weight:600;font-size:15px;line-height:1.2;text-align:center}
#bmh .bmh-btn.bmh-line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
#bmh .bmh-btn.bmh-full{display:flex;width:100%}

/* reserved space under the fixed header on pages that do not reserve it */
.bm-site-spacer{height:calc(var(--bm-hh) + env(safe-area-inset-top,0px))}

/* ==========================================================================
   4. Footer (#bmf). Markup comes from /js/site-footer.js, which takes over
   whatever <footer> the page shipped with.
   ========================================================================== */
#bmf{display:block;position:relative;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--bm-bone);color:var(--bm-ink);padding:clamp(56px,7vw,96px) 0 0!important;text-align:left!important;font-family:var(--bm-sans);font-size:16px;line-height:1.5;letter-spacing:normal;text-transform:none;-webkit-font-smoothing:antialiased;max-width:none;width:auto}
#bmf *,#bmf *::before,#bmf *::after{box-sizing:border-box}
#bmf ul,#bmf li{margin:0;padding:0;list-style:none;text-indent:0;font-size:inherit;line-height:inherit}
#bmf li::before,#bmf li::marker{content:none}
#bmf a{color:inherit;text-decoration:none;margin:0;padding:0;background:none;border:0;font:inherit;letter-spacing:normal;text-transform:none}
#bmf p,#bmf h2,#bmf h3,#bmf h4{margin:0;padding:0;font:inherit;text-transform:none;letter-spacing:normal;color:inherit}
#bmf svg{display:inline-block;flex:none}
#bmf .bmf-wrap{max-width:1320px;margin:0 auto;padding:0 var(--bm-gut)}
#bmf .bmf-cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(5,minmax(0,1fr));gap:32px}
#bmf .bmf-wm{display:block;margin-bottom:14px;font-family:var(--bm-wide);font-stretch:125%;font-weight:850;letter-spacing:.04em;font-size:18px;line-height:1}
#bmf .bmf-about p{color:var(--bm-stone);max-width:34ch;font-size:15px}
#bmf .bmf-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px}
#bmf .bmf-contact a{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
#bmf .bmf-contact svg{width:17px;height:17px}
#bmf .bmf-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;padding:0;list-style:none;font-family:var(--bm-mono);font-size:11px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--bm-stone);font-weight:500;cursor:default}
#bmf .bmf-h::-webkit-details-marker{display:none}
#bmf .bmf-caret{display:none;width:12px;height:12px;transition:transform .2s ease}
#bmf .bmf-col ul{display:grid;gap:8px}
#bmf .bmf-col a{font-size:15px;line-height:1.35}
#bmf .bmf-col a:hover,#bmf .bmf-legal a:hover{text-decoration:underline;text-underline-offset:4px}
#bmf .bmf-bigwrap{margin:clamp(40px,6vw,80px) 0 0;overflow:hidden}
#bmf .bmf-big{display:inline-block;margin:0;padding-bottom:.04em;font-family:var(--bm-wide);font-stretch:125%;font-weight:850;letter-spacing:-.04em;line-height:.8;font-size:min(11.2vw,158px);white-space:nowrap;background:linear-gradient(90deg,var(--bm-ube) 0 24%,var(--bm-matcha) 24% 49%,var(--bm-pandan) 49% 66%,var(--bm-hojicha) 66%);-webkit-background-clip:text;background-clip:text;color:transparent}
#bmf .bmf-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:22px 0;border-top:1px solid var(--bm-hair);font-size:13px;line-height:1.6;color:var(--bm-stone)}
#bmf .bmf-legal strong{color:var(--bm-ink);font-weight:600}
#bmf .bmf-legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}
@media (max-width:1100px){
  #bmf .bmf-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  #bmf .bmf-about{grid-column:1/-1}
}
@media (max-width:720px){
  #bmf .bmf-cols{grid-template-columns:minmax(0,1fr);gap:0}
  #bmf .bmf-about{padding-bottom:28px}
  #bmf .bmf-col{border-top:1px solid var(--bm-hair)}
  #bmf .bmf-h{margin:0;padding:18px 0;cursor:pointer;font-size:12px;color:var(--bm-ink)}
  #bmf .bmf-caret{display:block}
  #bmf .bmf-col[open] .bmf-caret{transform:rotate(45deg)}
  #bmf .bmf-col ul{padding:0 0 18px;gap:12px}
  #bmf .bmf-legal{flex-direction:column}
}

/* ==========================================================================
   5. Base layer for the older pages (fase 2).
   `html:root` outranks the `:root` blocks the pages define themselves, so the
   remaps win no matter where this file sits in <head>.
   ========================================================================== */
html:root{
  --font-main:var(--bm-sans);
  --font-display:var(--bm-wide);
  --font-mono:var(--bm-mono);
  --ube-pop:var(--bm-ube);
  --ube:var(--bm-ube);
  --ube-soft:color-mix(in srgb,var(--bm-ube) 8%,#fff);
  --accent-light:color-mix(in srgb,var(--bm-ube) 8%,#fff);
  --ink:var(--bm-ink);
  --text-main:var(--bm-ink);
  --text-muted:var(--bm-stone);
  --muted:var(--bm-stone);
  --bg-body:var(--bm-paper);
  /* flavour accents: the old bright greens become the brand swatches */
  --matcha-pop:var(--bm-matcha);
  --matcha-soft:color-mix(in srgb,var(--bm-matcha) 8%,#fff);
  --pandan-pop:color-mix(in srgb,var(--bm-pandan) 72%,var(--bm-ink));
  --hojicha-pop:var(--bm-hojicha);
}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:color-mix(in srgb,var(--bm-ube) 24%,transparent)}

/* Display type: Archivo, a little wider, like the homepage. :where() keeps
   the specificity at zero, so a page that sets its own stretch still wins. */
:where(h1,h2){font-stretch:118%}
:where(h3){font-stretch:108%}
/* Archivo is wider than the old Space Grotesk. On phones a long word in a big
   heading ("GROOTHANDEL", "MACHINEPARK") would no longer fit and pushed the
   whole column past the screen edge. Hyphenate by the page language instead. */
@media (max-width:760px){
  :where(h1,h2,h3){-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}
}

/* Buttons: pill shape and sentence case, as on the homepage. */
html body :is(.btn,.btn-primary,.btn-ghost,.btn-buy,.btn-add,.add-btn,.recipe-btn,.hero-cta){border-radius:999px;text-transform:none;letter-spacing:0;font-family:var(--bm-sans);font-weight:600}

/* ==========================================================================
   6. Shop pages (fase 3): product pages, /products, the buy landings.
   Opt-in with <body class="bm-skin bm-shop">. These pages were built in the old
   brutalist style (2px black borders, hard offset shadows, uppercase
   everything, purple marquees). This section pulls them onto the homepage
   language: bone and paper surfaces, hairlines, rounded cards, sentence-case
   Archivo headings, mono labels, ink tickers and pill buttons.
   ========================================================================== */
body.bm-skin{
  --border-color:var(--bm-hair);
  --border-thick:1px solid var(--bm-hair);
  --border-thin:1px solid var(--bm-hair);
  --border:1px solid var(--bm-hair);
  --raw-latte:var(--bm-bone);
  --latte:var(--bm-bone);
  --soft:var(--bm-bone);
  --gray-light:var(--bm-bone);
  --bg:var(--bm-paper);
  --bg-body:var(--bm-paper);
  --text:var(--bm-ink);
  --card:#fff;
  background:var(--bm-paper);
  color:var(--bm-ink);
}

/* Headings: sentence case, as written in the source. */
body.bm-skin :is(h1,h2,h3,.display-font,.product-title,.hero-title,.pf-title,.usp-title,.rs2-text h3,.cat-title,.pm-title,.pm-card-title,.ig2-info h2,.v3-title,.ube-dd-title,.product-info h3,.card h2,.article-section h2,.highlight-box h3,.priceRow,.b2b-final-section h4){
  text-transform:none;letter-spacing:-.025em;font-weight:800;font-stretch:118%
}
body.bm-skin :is(h1,.product-title,.hero-title){line-height:.98}
body.bm-skin :is(h2,h3){line-height:1.05}

/* Small labels, kickers and meta lines: IBM Plex Mono, like the homepage. */
body.bm-skin :is(.label,.kicker,.product-cat,.control-label,.pm-kicker,.ig2-info h3,.product-num,.v-shipping-note,.receipt-price-note,.photo-caption,.trust-signals,.product-note,.cat-desc,.back-link,.v3-spec-item strong,.product-kicker){
  font-family:var(--bm-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12px
}
body.bm-skin .label{color:var(--bm-stone);border:0;background:none;padding:0;border-radius:0}
body.bm-skin :is(.product-cat,.product-kicker){color:var(--bm-ube)}

/* Buttons and pills */
body.bm-skin :is(.btn,.btn-primary,.btn-ghost,.btn--ghost,.btn-plain,.add-btn,.btn-add,.nav-btn){
  font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0;border-radius:999px;box-shadow:none
}
body.bm-skin :is(.btn-primary,.add-btn,.btn-add){background:var(--bm-ink);color:#fff;border-color:var(--bm-ink)}
body.bm-skin :is(.btn-primary,.add-btn,.btn-add):hover{background:var(--bm-ube);border-color:var(--bm-ube);color:#fff;box-shadow:none}
body.bm-skin :is(.btn-ghost,.btn--ghost,.btn-plain){background:transparent;color:var(--bm-ink);border:0;box-shadow:inset 0 0 0 1.5px var(--bm-ink)}
body.bm-skin :is(.btn-ghost,.btn--ghost,.btn-plain):hover{background:var(--bm-ink);color:#fff;transform:none}
body.bm-skin .navlinks a,body.bm-skin .btn:hover{transform:none}
body.bm-skin :is(.add-btn,.btn-add)[disabled]{background:#B5AFA6;color:#fff}
body.bm-skin :is(.hero-proof-pill,.hero-howto-step,.hero-shipping-note,.pill,.product-pill,.variant-chip,.tab-btn,.pm-release,.r-badge){
  font-family:var(--bm-sans);font-weight:500;text-transform:none;letter-spacing:0;border:1px solid var(--bm-hair);background:#fff;color:var(--bm-ink)
}
body.bm-skin .hero-howto-step span{background:var(--bm-ube)}
body.bm-skin .hero-shipping-note{background:color-mix(in srgb,var(--bm-ube) 7%,#fff);border-color:color-mix(in srgb,var(--bm-ube) 22%,#fff)}
body.bm-skin .tab-btn[aria-selected="true"]{background:var(--bm-ink);border-color:var(--bm-ink);color:#fff}
body.bm-skin .hero-trust-item{font-family:var(--bm-sans);font-weight:500;text-transform:none;letter-spacing:0}

/* No hard offset shadows, no tilted images, no grayscale tricks. */
body.bm-skin :is(.hard-shadow,.img-full,.productImg,.hero-card,.pf-img-wrapper,.v3-badge,.controls-wrapper){box-shadow:none}
body.bm-skin :is(.hero-img,.img-hero){filter:none}
body.bm-skin :is(.hero-card){transform:none;border:1px solid var(--bm-hair)}
body.bm-skin :is(.productImg,.img-full){border:1px solid var(--bm-hair);border-radius:18px}
body.bm-skin .hard-shadow{border-radius:18px;border:1px solid var(--bm-hair)}
body.bm-skin :is(.rs2-img){transform:none;filter:none}
body.bm-skin .rs2-item:hover .rs2-img{transform:scale(1.03)}
body.bm-skin .rs2-visual{background:none}
body.bm-skin .v3-img{filter:none}
body.bm-skin :is(.product-visuals:hover .product-img,.product-card:hover .product-img){transform:scale(1.03)}

/* Sections and surfaces */
body.bm-skin :is(.section,.hero,.collections,.category-section,.usp-section,.reviews-section,.ingredient-section,.ube-dd-section,.pm-shell,.rs2-container,.ig2-container){border-color:var(--bm-hair)}
body.bm-skin .hero{background:var(--bm-paper)}
body.bm-skin :is(.bg-latte,.pf-section,.section-latte){background:var(--bm-bone)}
body.bm-skin .pf-img-wrapper{border:0;border-radius:18px}
body.bm-skin .pf-img-wrapper img{border-radius:18px}
body.bm-skin :is(.photo-card,.card,.highlight-box,.pm-card,.pm-fact,.launch-panel,.b2b-proof-card,.b2b-sample-card,.rs2-item,.faq details,details.pm-faq,.pm-faq details){
  border:1px solid var(--bm-hair);border-radius:18px;background:#fff;box-shadow:none
}
body.bm-skin .photo-caption{background:#fff;border-top:1px solid var(--bm-hair);color:var(--bm-stone)}
body.bm-skin .faq-item details summary,body.bm-skin .faq summary,body.bm-skin .pm-faq summary,body.bm-skin .acc-header,body.bm-skin summary{
  font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0;font-size:18px
}
body.bm-skin .final-cta{background:var(--bm-ink)}
body.bm-skin .final-cta .btn{box-shadow:none;background:#fff;color:var(--bm-ink)}

/* Tickers: the old purple / black uppercase marquees become the homepage's
   ink ticker (bone text, sentence case). */
body.bm-skin :is(.marquee,.rs2-marquee,.reviews-marquee){
  background:var(--bm-ink)!important;color:var(--bm-bone);border:0!important;
  font-family:var(--bm-sans);text-transform:none;letter-spacing:0
}
body.bm-skin :is(.marquee,.rs2-marquee,.reviews-marquee) *{
  font-family:var(--bm-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:500!important;color:var(--bm-bone)!important
}
body.bm-skin :is(.marquee,.rs2-marquee,.reviews-marquee){padding-top:4px;padding-bottom:4px}

/* Receipt ("Big Moca logistics") stays, on hairlines and in Plex Mono. */
body.bm-skin .receipt-container{font-family:var(--bm-mono);border-color:var(--bm-hair);box-shadow:none;border-radius:14px 14px 0 0}
body.bm-skin .receipt-row{border-bottom-color:var(--bm-hair)}
body.bm-skin .receipt-total{border-top:1px solid var(--bm-ink)}

/* --- product page (product.html in nl/en/de) ----------------------------- */
body.bm-skin .product-visuals{background:var(--bm-bone);border-radius:18px}
body.bm-skin .product-img{filter:drop-shadow(0 20px 30px rgba(20,18,20,.12))}
body.bm-skin .gallery-item{background:var(--bm-bone);border:1px solid transparent;border-radius:12px}
body.bm-skin :is(.gallery-item:hover,.gallery-item.active){border-color:var(--bm-ink);background:#fff}
body.bm-skin .product-price-large{font-family:var(--bm-wide);font-stretch:112%;font-weight:700;letter-spacing:-.01em}
body.bm-skin .price-badge{background:var(--bm-ink);font-family:var(--bm-mono);font-weight:500;letter-spacing:.06em;border-radius:999px;padding:4px 10px}
body.bm-skin .product-desc-long{color:var(--bm-stone)}
body.bm-skin .controls-wrapper{background:#fff;border:1px solid var(--bm-hair);border-radius:20px}
body.bm-skin .variant-btn{border:1px solid var(--bm-hair);border-radius:14px;background:#fff}
body.bm-skin .variant-btn:hover{border-color:var(--bm-stone)}
body.bm-skin :is(.variant-btn.active,.variant-btn[aria-pressed="true"]){border-color:var(--bm-ube);background:color-mix(in srgb,var(--bm-ube) 6%,#fff);color:var(--bm-ink);box-shadow:inset 0 0 0 1px var(--bm-ube)}
body.bm-skin .v-size{font-family:var(--bm-wide);font-stretch:112%;font-weight:700;text-transform:none}
body.bm-skin :is(.v-discount-badge,.v-value-badge){font-family:var(--bm-mono);font-weight:500;letter-spacing:.06em;border-radius:999px;padding-left:8px;padding-right:8px}
body.bm-skin .v-discount-badge{background:var(--bm-ink)}
body.bm-skin .v-value-badge{background:var(--bm-ube)}
body.bm-skin .qty-wrapper{border:1px solid var(--bm-hair);background:#fff}
body.bm-skin .qty-btn{background:transparent}
body.bm-skin .qty-btn:hover{background:var(--bm-bone)}
body.bm-skin .qty-input{font-family:var(--bm-sans);font-weight:600}
body.bm-skin .add-btn{font-size:15px}
body.bm-skin .delivery-promise strong,body.bm-skin .shipping-helper strong{font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0}
body.bm-skin .shipping-helper{border:0;background:var(--bm-bone);border-radius:14px}
body.bm-skin .shipping-helper-progress{background:rgba(20,18,20,.08)}
body.bm-skin .trust-signals{color:var(--bm-stone)}
body.bm-skin .toast{font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0;background:var(--bm-ink)}
body.bm-skin .ig2-container{background:var(--bm-paper)}
body.bm-skin .ig2-blob{opacity:.35}
body.bm-skin .ig2-card{background:rgba(255,255,255,.7);border-color:var(--bm-hair);border-radius:24px;box-shadow:none}
body.bm-skin .ig2-circle-frame{border-color:var(--bm-hair)}
body.bm-skin .rs2-recipe-list{font-family:var(--bm-mono);color:var(--bm-stone)}
body.bm-skin .rs2-text h3{font-size:26px}
body.bm-skin .v3-content{border:1px solid var(--bm-hair);border-radius:20px;overflow:hidden}
body.bm-skin .v3-left{border-color:var(--bm-hair)}
body.bm-skin .v3-right{background:var(--bm-bone)}
body.bm-skin .v3-badge{font-family:var(--bm-mono);border:1px solid var(--bm-hair);border-radius:999px}
body.bm-skin .v3-specs{font-family:var(--bm-mono)}
body.bm-skin .ube-dd-img{border-radius:18px}
body.bm-skin .usp-item:hover{background:var(--bm-ube)}
body.bm-skin .usp-num{font-family:var(--bm-mono);font-weight:500;color:var(--bm-hair)}
body.bm-skin .review-item:hover{background:color-mix(in srgb,var(--bm-ube) 5%,#fff)}
body.bm-skin .r-text{font-family:var(--bm-wide);font-stretch:112%;font-weight:700;text-transform:none;letter-spacing:-.01em}
body.bm-skin .r-meta{border-top:1px solid var(--bm-hair);font-family:var(--bm-mono);font-weight:500;letter-spacing:.06em}
body.bm-skin .r-stars{color:var(--bm-ube)}
body.bm-skin :is(#bm-cross-sell .bm-xs-card,.bm-xs-card){border:1px solid var(--bm-hair);border-radius:18px;box-shadow:none}
body.bm-skin :is(#bm-cross-sell .bm-xs-img,.bm-xs-img){background:var(--bm-bone)}
body.bm-skin :is(#bm-cross-sell .bm-xs-name,.bm-xs-name){font-family:var(--bm-wide);font-stretch:112%;font-weight:700;text-transform:none;letter-spacing:-.01em}
body.bm-skin :is(#bm-cross-sell .bm-xs-price,.bm-xs-price){font-family:var(--bm-mono)}
body.bm-skin .bm-xs-section{background:var(--bm-paper)}

/* --- /products (collection grid) ------------------------------------------ */
body.bm-skin .product-card{background:#fff;border-color:var(--bm-hair)}
body.bm-skin .product-card:hover{box-shadow:inset 0 0 0 2px var(--bm-ube)}
body.bm-skin .product-num{border-bottom:1px solid var(--bm-ink);color:var(--bm-stone)}
body.bm-skin .product-desc{color:var(--bm-stone)}
body.bm-skin .price{font-family:var(--bm-wide);font-stretch:112%;font-weight:700;letter-spacing:-.01em}
body.bm-skin .category-header{background:var(--bm-ink)}
body.bm-skin .product-card--b2b:hover{box-shadow:inset 0 0 0 2px var(--matcha-pop,var(--bm-matcha))}
body.bm-skin .variant-btn[aria-pressed]{border-radius:999px}
body.bm-skin .variant-btn[aria-pressed="true"]{background:var(--bm-ink);border-color:var(--bm-ink);color:#fff;box-shadow:none}
body.bm-skin :is(.marquee,.rs2-marquee,.reviews-marquee){padding-top:12px;padding-bottom:12px}
body.bm-skin .img-full{box-shadow:none!important}
body.bm-skin :is(.reviews-section,.usp-section){border-top:1px solid var(--bm-hair)!important;border-bottom:1px solid var(--bm-hair)!important}
body.bm-skin .variant-btn{font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0}

/* ==========================================================================
   7. Content + B2B pages (fase 4 and 5).
   Same opt-in skin (`bm-skin`) with `bm-content` (recipes, FAQ, legal, learn)
   or `bm-b2b` (B2B landings, portal, vending). Section 6 already handles the
   shared vocabulary (tokens, headings, labels, buttons, tickers, receipts);
   this adds the components that only live on these pages.
   ========================================================================== */
/* Hard offset shadows and tilted photos, wherever they still sit. */
body.bm-skin :is(.b2b-grid,.b2b-visual-overlay,.offer-card,.offer-card:hover,.btn-full,.btn-full:hover,.photo-card,.hero-card,.bbk-order-grid,.bbk-table-wrap,.bbk-purity-card,.bbk-sample,.bbk-big-card,.bbk-shadow-soft,.navlinks a,.navlinks a:hover){box-shadow:none}
body.bm-skin :is(.b2b-grid,.offer-card,.bbk-order-grid,.bbk-table-wrap,.bbk-purity-card,.bbk-sample,.bbk-big-card){border:1px solid var(--bm-hair)}
body.bm-skin :is(.iced-image-wrapper .productImg,.receipt-container,.hero-card){transform:none}
body.bm-skin .offer-card:hover{transform:none;border-color:var(--bm-ink)}
body.bm-skin hr{border:0;border-top:1px solid var(--bm-hair)}

/* Headings and small print that the section 6 list doesn't name. */
body.bm-skin :is(.section-title,.page-title,.legal-title,.faq-title,.offer-content h3,.auth-title,.b2b-form-title,.bbk-title,.bbk-h2,.bbk-h3,.recipe-title){
  text-transform:none;letter-spacing:-.025em;font-weight:800;font-stretch:118%
}
body.bm-skin :is(.section-label,.eyebrow,.offer-tag,.field label,.form-label,.auth-tab,.meta-line,.bbk-kicker,.bbk-eyebrow,.step-num,.recipe-meta,.tag){
  font-family:var(--bm-mono);font-weight:500;letter-spacing:.08em
}
body.bm-skin :is(.offer-link,.link-btn,.more-link,.card-link,.text-link){
  font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0
}
body.bm-skin .auth-tab.active{color:var(--bm-ube);border-color:var(--bm-ube)}

/* Legal pages: the related-policy pills. */
body.bm-content .toc a{font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0;border:1px solid var(--bm-hair);background:#fff}
body.bm-content .toc a:hover{border-color:var(--bm-ink)}

/* Forms: hairline inputs with an ube focus ring. */
body.bm-skin :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea){
  border-color:var(--bm-hair);border-radius:12px;font-family:var(--bm-sans)
}
body.bm-skin :is(input,select,textarea):focus-visible{outline:2px solid var(--bm-ube);outline-offset:1px;border-color:var(--bm-ube)}

/* Inline WhatsApp button (whatsapp-business-button.js): a brand pill instead
   of the bright green block; the floating round button keeps WhatsApp green. */
body.bm-skin .bm-whatsapp-inline-button{background:var(--bm-ink);box-shadow:none;font:600 .85rem/1 var(--bm-sans);text-transform:none}
body.bm-skin .bm-whatsapp-inline-button:hover{background:var(--bm-matcha);transform:none;box-shadow:none}
body.bm-skin .bm-whatsapp-business-tooltip{font-family:var(--bm-sans)}
/* Grid columns may shrink below their content on phones (Archivo is wider
   than the old face, which pushed a few B2B columns past the screen edge). */
@media (max-width:900px){body.bm-skin :is(.grid-2,.grid-3,.grid-4) > *{min-width:0}}

/* B2B product template (b2b-product, b2b-vending-matcha): same calm PDP as
   the retail product page. */
body.bm-b2b :is(.title,#b2bProductMount .title){text-transform:none;letter-spacing:-.025em;font-weight:800;font-stretch:118%;line-height:.98}
body.bm-b2b :is(.cat,#b2bProductMount .cat,.loading h2){font-family:var(--bm-mono);font-weight:500;letter-spacing:.08em;font-size:12px}
body.bm-b2b .loading h2{text-transform:none;font-family:var(--bm-sans);font-weight:600;letter-spacing:0;font-size:18px}
body.bm-b2b :is(.controls,#b2bProductMount .controls){border:1px solid var(--bm-hair);border-radius:20px;box-shadow:none}
body.bm-b2b :is(.label,#b2bProductMount .label){font-family:var(--bm-mono);font-weight:500;letter-spacing:.08em;font-size:12px;color:var(--bm-stone)}
body.bm-b2b :is(.variant-btn,#b2bProductMount .variant-btn){border:1px solid var(--bm-hair);border-radius:14px}
body.bm-b2b :is(.variant-btn.active,.variant-btn[aria-pressed="true"],#b2bProductMount .variant-btn.active,#b2bProductMount .variant-btn[aria-pressed="true"]){border-color:var(--bm-ink);box-shadow:inset 0 0 0 1px var(--bm-ink)}
body.bm-b2b :is(.v-title,#b2bProductMount .v-title){text-transform:none;font-family:var(--bm-wide);font-stretch:112%;font-weight:700}
body.bm-b2b :is(.v-discount-badge,#b2bProductMount .v-discount-badge){background:var(--bm-ink);font-family:var(--bm-mono);font-weight:500;letter-spacing:.04em;border-radius:999px}
body.bm-b2b :is(.badge,#b2bProductMount .badge){background:var(--bm-ink);font-family:var(--bm-mono);font-weight:500;border-radius:999px}
body.bm-b2b :is(.qty,#b2bProductMount .qty){border:1px solid var(--bm-hair)}
body.bm-b2b :is(.cta,#b2bProductMount .cta){background:var(--bm-ink);font-family:var(--bm-sans);font-weight:600;text-transform:none;letter-spacing:0}
body.bm-b2b :is(.cta,#b2bProductMount .cta):hover{background:var(--bm-ube)}
body.bm-b2b :is(.thumb,#b2bProductMount .thumb){border-width:1px}
body.bm-b2b :is(.thumb.active,#b2bProductMount .thumb.active){border-color:var(--bm-ink)}
body.bm-b2b :is(.notice strong,.header-logo){text-transform:none}
body.bm-b2b :is(.b2b-ube-discover img,.pf-img-wrapper){box-shadow:none}
body.bm-b2b .pf-img-wrapper{border:1px solid var(--bm-hair)}
body.bm-b2b .photo-card{box-shadow:none}
body.bm-b2b :is(.ig2-info h2,.rs2-text h3){text-transform:none}
body.bm-b2b .nav-btn{text-transform:none;letter-spacing:0;font-family:var(--bm-sans);font-weight:600}

/* ==========================================================================
   8. Shop product page in the homepage style (Sept 2026)
   Section 1 (gallery + buy box) and the recipe block of /product?handle=…
   in all seven languages. The page's own <style> still holds the layout
   basics; these rules sit on top of it. Everything is scoped to .bm-shop, so
   the B2B product template (which reuses some class names) is untouched.
   The flavour colour comes from body[data-pdp-theme], set by renderProduct().
   ========================================================================== */
body.bm-shop:has(.product-page){--pdp-c:var(--bm-ube);background:var(--bm-bone)}
body.bm-shop[data-pdp-theme="matcha"]{--pdp-c:var(--bm-matcha)}
body.bm-shop[data-pdp-theme="pandan"]{--pdp-c:var(--bm-pandan)}

/* --- section 1: layout and gallery ---------------------------------------- */
body.bm-skin.bm-shop .product-page{max-width:1320px;padding:calc(72px + clamp(20px,3vw,36px)) var(--bm-gut) clamp(56px,7vw,96px)}
body.bm-skin.bm-shop:has(.bm-site-spacer) .product-page{padding-top:clamp(20px,3vw,36px)}
body.bm-skin.bm-shop .back-link{margin-bottom:20px;font-family:var(--bm-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bm-stone);opacity:1}
body.bm-skin.bm-shop .back-link:hover{color:var(--bm-ink)}
body.bm-skin.bm-shop .product-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4.5vw,72px)}
body.bm-skin.bm-shop .product-visuals{margin-bottom:10px;border-radius:24px;background:radial-gradient(120% 85% at 50% 100%,color-mix(in srgb,var(--pdp-c) 16%,var(--bm-paper)) 0%,var(--bm-paper) 64%)}
body.bm-skin.bm-shop .product-img{filter:drop-shadow(0 24px 30px rgba(20,18,20,.14))}
body.bm-skin.bm-shop .product-gallery{gap:10px}
body.bm-skin.bm-shop .gallery-item{border:0;border-radius:14px;background:var(--bm-paper);box-shadow:inset 0 0 0 1px var(--bm-hair)}
body.bm-skin.bm-shop :is(.gallery-item:hover,.gallery-item.active){background:var(--bm-paper);box-shadow:inset 0 0 0 2px var(--bm-ink)}
body.bm-skin.bm-shop .gallery-img{border-radius:12px}

/* --- section 1: title, price, intro ---------------------------------------- */
body.bm-skin.bm-shop .product-details{padding-top:4px}
body.bm-skin.bm-shop .product-cat{display:inline-flex;align-items:center;gap:8px;margin:0;font-family:var(--bm-mono);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--bm-stone)}
body.bm-skin.bm-shop .product-cat::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--pdp-c)}
body.bm-skin.bm-shop .product-title{margin:14px 0 20px;font-family:var(--bm-wide);font-stretch:125%;font-weight:850;font-size:clamp(40px,5vw,76px);line-height:.95;letter-spacing:-.03em;text-transform:none;text-wrap:balance}
body.bm-skin.bm-shop .product-price-large{gap:12px;margin-bottom:18px;font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:30px}
body.bm-skin.bm-shop .price-compare{font-size:20px;color:var(--bm-stone);text-decoration-color:var(--bm-stone)}
body.bm-skin.bm-shop .price-badge{padding:6px 12px;border-radius:999px;background:var(--bm-paper);color:var(--bm-ink);box-shadow:inset 0 0 0 1px var(--bm-hair);font-family:var(--bm-mono);font-size:11px;font-weight:500;letter-spacing:.06em}
body.bm-skin.bm-shop .product-desc-long{max-width:54ch;margin-bottom:22px;font-size:17px;line-height:1.6;color:var(--bm-stone)}
body.bm-skin.bm-shop .features-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
body.bm-skin.bm-shop .feature-item{min-height:32px;padding:0 12px;gap:8px;border-radius:999px;background:var(--bm-paper);box-shadow:inset 0 0 0 1px var(--bm-hair);font-family:var(--bm-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
body.bm-skin.bm-shop .feature-icon{flex:none;width:8px;height:8px;border-radius:50%;background:var(--pdp-c);font-size:0}

/* --- section 1: buy box ---------------------------------------------------- */
body.bm-skin.bm-shop .controls-wrapper{margin-bottom:20px;padding:clamp(18px,2.4vw,28px);border:0;border-radius:22px;background:var(--bm-paper);box-shadow:none}
body.bm-skin.bm-shop .control-label{margin-bottom:10px;font-family:var(--bm-mono);font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--bm-stone)}
body.bm-skin.bm-shop .variant-grid{gap:10px;margin-bottom:22px}
body.bm-skin.bm-shop .variant-btn{border:0;border-radius:16px;background:#fff;color:var(--bm-ink);box-shadow:inset 0 0 0 1px var(--bm-hair)}
body.bm-skin.bm-shop .variant-btn:hover{box-shadow:inset 0 0 0 1px var(--bm-stone)}
body.bm-skin.bm-shop .variant-btn.active{background:#fff;box-shadow:inset 0 0 0 2px var(--bm-ink)}
body.bm-skin.bm-shop .variant-btn.active::after{content:"\2713";display:grid;place-items:center;width:22px;height:22px;right:10px;bottom:10px;top:auto;border-radius:50%;background:var(--bm-ink);color:#fff;font-size:12px;font-weight:700}
body.bm-skin.bm-shop :is(.v-value-badge,.v-discount-badge){padding:3px 8px;border-radius:999px;background:var(--pdp-c);color:#fff;font-family:var(--bm-mono);font-size:10px;font-weight:500;letter-spacing:.06em}
body.bm-skin.bm-shop .v-size{font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:18px;text-transform:none}
body.bm-skin.bm-shop .v-sub{font-size:12px;color:var(--bm-stone)}
body.bm-skin.bm-shop .v-shipping-note{font-family:var(--bm-mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;color:var(--pdp-c)}
body.bm-skin.bm-shop .v-savings-detail{font-size:11.5px;font-weight:600;color:var(--bm-stone)}
body.bm-skin.bm-shop .v-price{font-family:var(--bm-sans);font-size:16px;font-weight:700}
body.bm-skin.bm-shop .v-compare{color:var(--bm-stone);text-decoration-color:var(--bm-stone)}
body.bm-skin.bm-shop .v-unit{font-family:var(--bm-mono);font-size:11px;font-weight:500;color:var(--bm-stone)}
body.bm-skin.bm-shop .actions-row{gap:10px}
body.bm-skin.bm-shop .qty-wrapper{min-height:56px;padding:6px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--bm-hair)}
body.bm-skin.bm-shop .qty-btn{width:40px;height:40px;background:var(--bm-bone);color:var(--bm-ink)}
body.bm-skin.bm-shop .qty-btn:hover{background:var(--bm-hair)}
body.bm-skin.bm-shop .qty-input{background:transparent;font-size:17px}
body.bm-skin.bm-shop .add-btn{min-height:56px;padding:0 18px;border-radius:999px;background:var(--bm-ink);color:#fff;box-shadow:none;font:600 15px/1.2 var(--bm-sans);text-transform:none;letter-spacing:0}
body.bm-skin.bm-shop .add-btn:not([disabled]):hover{transform:none;background:var(--pdp-c);box-shadow:none}
body.bm-skin.bm-shop .delivery-promise{margin-top:14px;font-size:14px;font-weight:500}
body.bm-skin.bm-shop .delivery-promise::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--bm-matcha);vertical-align:1px}
body.bm-skin.bm-shop .shipping-helper{margin-top:14px;padding:14px 16px;border:0;border-radius:16px;background:var(--bm-bone);font-size:14px}
body.bm-skin.bm-shop .shipping-helper span{color:var(--bm-stone);font-weight:500}
body.bm-skin.bm-shop .shipping-helper-progress{height:6px;background:rgba(20,18,20,.08)}
body.bm-skin.bm-shop .shipping-helper-progress i{background:var(--pdp-c)}
body.bm-skin.bm-shop .trust-signals{justify-content:flex-start!important;gap:8px 18px!important;opacity:1;font-family:var(--bm-mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--bm-stone)}
body.bm-skin.bm-shop .trust-item span{display:none}
body.bm-skin.bm-shop .trust-item::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--pdp-c)}

/* --- section 1: benefits list and product information ---------------------- */
body.bm-skin.bm-shop .checkmark-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:24px!important}
body.bm-skin.bm-shop .checkmark-list li{align-items:flex-start!important;gap:10px!important;margin:0!important;padding:12px 0;border-top:1px solid var(--bm-hair);font-size:15px;line-height:1.45}
body.bm-skin.bm-shop .checkmark-list li>span:first-child{flex:none;width:8px;height:8px;border-radius:50%;background:var(--pdp-c);font-size:0;margin-top:7px}
body.bm-skin.bm-shop.bm-product-ube-powder .checkmark-list{position:static;left:auto;width:auto;column-count:auto}
body.bm-skin.bm-shop .bm-food-info{margin-top:20px;border-radius:18px;background:var(--bm-paper)}
body.bm-skin.bm-shop .bm-food-info-heading{font-family:var(--bm-sans);font-size:16px;font-weight:600;letter-spacing:0;text-transform:none}
body.bm-skin.bm-shop .bm-food-info-teaser{color:var(--bm-stone)}
@media (min-width:901px){
  body.bm-skin.bm-shop .product-media-wrapper{position:sticky;top:96px}
  body.bm-skin.bm-shop .variant-btn{min-height:140px;padding:14px}
}
@media (max-width:900px){
  body.bm-skin.bm-shop .product-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  body.bm-skin.bm-shop .product-media-wrapper{max-width:none;margin:0 0 16px}
  body.bm-skin.bm-shop .product-visuals{min-height:0;padding:0;border-radius:20px}
  body.bm-skin.bm-shop .product-img{object-fit:cover}
  body.bm-skin.bm-shop .product-gallery{gap:8px}
  body.bm-skin.bm-shop .variant-btn{padding:12px 14px}
  body.bm-skin.bm-shop .variant-btn.active::after{top:12px;bottom:auto}
}
@media (max-width:520px){
  body.bm-skin.bm-shop .checkmark-list{grid-template-columns:minmax(0,1fr)}
  body.bm-skin.bm-shop .product-price-large{font-size:26px}
}

/* --- section 3: recipes, a dark block like "Wat maak je ermee?" ------------ */
body.bm-skin.bm-shop .rs2-container{margin:0;padding:clamp(64px,8vw,112px) 0;border:0;background:var(--bm-ink);color:#fff;overflow:hidden}
body.bm-skin.bm-shop .rs2-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 40px;max-width:1320px;margin:0 auto 32px;padding:0 var(--bm-gut)}
body.bm-skin.bm-shop .rs2-eyebrow{display:block;margin-bottom:14px;font-family:var(--bm-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
body.bm-skin.bm-shop .rs2-title{margin:0;color:#fff;font-family:var(--bm-wide);font-stretch:125%;font-weight:850;font-size:clamp(34px,4.6vw,68px);line-height:.95;letter-spacing:-.03em;text-transform:none}
body.bm-skin.bm-shop .rs2-all{color:#fff;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
body.bm-skin.bm-shop .rs2-scroll-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1320px;margin:0 auto;padding:0 var(--bm-gut);overflow:visible}
body.bm-skin.bm-shop .rs2-container .rs2-item{display:flex;flex-direction:column;gap:0;min-width:0;padding:0;border:0;border-radius:18px;background:#221F22;color:#fff;text-align:left;overflow:hidden;box-shadow:none}
body.bm-skin.bm-shop .rs2-container .rs2-visual{width:100%;height:auto;margin:0;aspect-ratio:4/3;border-radius:0;background:#2C282C;overflow:hidden}
body.bm-skin.bm-shop .rs2-container .rs2-img{width:100%;height:100%;object-fit:cover;border-radius:0;transform:none;filter:none;transition:transform .8s ease}
body.bm-skin.bm-shop .rs2-container .rs2-item:hover .rs2-img{transform:scale(1.04)}
body.bm-skin.bm-shop .rs2-text{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px}
body.bm-skin.bm-shop .rs2-text h3{margin:0;color:#fff;font-family:var(--bm-wide);font-stretch:118%;font-weight:800;font-size:clamp(22px,1.8vw,28px);line-height:1.05;letter-spacing:-.015em;text-transform:none}
body.bm-skin.bm-shop .rs2-label{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-family:var(--bm-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
body.bm-skin.bm-shop .rs2-label::before{content:"";width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--pdp-c) 55%,#fff)}
body.bm-skin.bm-shop .rs2-ing{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
body.bm-skin.bm-shop .rs2-ing li{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.85)}
body.bm-skin.bm-shop .rs2-method{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.7)}
@media (max-width:900px){
  body.bm-skin.bm-shop .rs2-scroll-area{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--bm-gut);padding-bottom:4px}
  body.bm-skin.bm-shop .rs2-container .rs2-item{flex:0 0 min(82%,360px);scroll-snap-align:start}
}
