1<!doctype html> 2<html 3 4 lang="en" 5> 6 <head><link 7 rel="icon" 8 type="image/png" 9 href="//chalespirulina.com/cdn/shop/files/Chale_04_button-groen.png?crop=center&height=32&v=1785848333&width=32" 10 > 11 12 13 14<meta charset="utf-8"> 15<meta 16 http-equiv="X-UA-Compatible" 17 content="IE=edge" 18> 19<meta 20 name="viewport" 21 content="width=device-width,initial-scale=1" 22> 23<meta 24 name="view-transition" 25 content="same-origin" 26> 27<meta 28 name="theme-color" 29 content="" 30> 31 32<meta 33 property="og:site_name" 34 content="Chalé Spirulina" 35> 36<meta 37 property="og:url" 38 content="https://chalespirulina.com/products/spirulina-powder-30-days" 39> 40<meta 41 property="og:title" 42 content="Spirulina Powder" 43> 44<meta 45 property="og:type" 46 content="product" 47> 48<meta 49 property="og:description" 50 content="100% pure spirulina powder from Ghana. Rich in protein, iron & minerals. No additives, no fillers. Traceable from farm to product. Shop Chalé Spirulina." 51><meta 52 property="og:image" 53 content="http://chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126" 54 > 55 <meta 56 property="og:image:secure_url" 57 content="https://chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126" 58 > 59 <meta 60 property="og:image:width" 61 content="1084" 62 > 63 <meta 64 property="og:image:height" 65 content="1451" 66 ><meta 67 property="og:price:amount" 68 content="19,99" 69 > 70 <meta 71 property="og:price:currency" 72 content="EUR" 73 ><meta 74 name="twitter:card" 75 content="summary_large_image" 76> 77<meta 78 name="twitter:title" 79 content="Spirulina Powder" 80> 81<meta 82 name="twitter:description" 83 content="100% pure spirulina powder from Ghana. Rich in protein, iron & minerals. No additives, no fillers. Traceable from farm to product. Shop Chalé Spirulina." 84> 85 86<title>Spirulina Powder 87 | Chalé Spirulina</title> 88 89<link 90 rel="canonical" 91 href="https://chalespirulina.com/products/spirulina-powder-30-days" 92> 93 94 95 <meta 96 name="description" 97 content="100% pure spirulina powder from Ghana. Rich in protein, iron & minerals. No additives, no fillers. Traceable from farm to product. Shop Chalé Spirulina." 98 > 99 100<link href="//chalespirulina.com/cdn/shop/t/4/assets/overflow-list.css?v=16727044177065489451782452301" as="style" rel="preload"> 101<link href="//chalespirulina.com/cdn/shop/t/4/assets/base.css?v=14320065099553879401782452301" rel="stylesheet" type="text/css" media="all" /> 102<link href="//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload"> 103<link href="//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload"> 104<link href="//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload"> 105<link href="//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload"> 106<link rel="preconnect" href="https://fonts.googleapis.com"> 107 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 108 <link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,[email protected],400;9..144,500;9..144,600&family=DM+Sans:wght@400;500;600;700&display=swap" rel="stylesheet"> 109 <link href="//chalespirulina.com/cdn/shop/t/4/assets/chale.css?v=62406856102449223441784711105" rel="stylesheet" type="text/css" media="all" /> 110
110<script src="//chalespirulina.com/cdn/shop/t/4/assets/chale.js?v=8515694520107016011782555351" defer="defer"></script>
110 111
112<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 112
112
113<script type="importmap"> 114 { 115 "imports": { 116 "@theme/overflow-list": "//chalespirulina.com/cdn/shop/t/4/assets/overflow-list.js?v=46858356770684902511782452301", 117 "@theme/component": "//chalespirulina.com/cdn/shop/t/4/assets/component.js?v=175690430936884589731782452301", 118 "@theme/dialog": "//chalespirulina.com/cdn/shop/t/4/assets/dialog.js?v=144816527575655702281782452301", 119 "@theme/events": "//chalespirulina.com/cdn/shop/t/4/assets/events.js?v=99399773727497444581782452301", 120 "@shopify/events": "https://cdn.shopify.com/storefront/standard-events.js", 121 "@theme/view-event-elements": "//chalespirulina.com/cdn/shop/t/4/assets/view-event-elements.js?v=34258756885466567141782452301", 122 "@theme/focus": "//chalespirulina.com/cdn/shop/t/4/assets/focus.js?v=60436577539430446401782452301", 123 "@theme/morph": "//chalespirulina.com/cdn/shop/t/4/assets/morph.js?v=182601902166245204061782452301", 124 "@theme/paginated-list": "//chalespirulina.com/cdn/shop/t/4/assets/paginated-list.js?v=71290058904108491691782452301", 125 "@theme/performance": "//chalespirulina.com/cdn/shop/t/4/assets/performance.js?v=171015751390534793081782452301", 126 "@theme/product-form": "//chalespirulina.com/cdn/shop/t/4/assets/product-form.js?v=75424241456978697291782452301", 127 "@theme/recently-viewed-products": "//chalespirulina.com/cdn/shop/t/4/assets/recently-viewed-products.js?v=94729125001750262651782452301", 128 "@theme/scrolling": "//chalespirulina.com/cdn/shop/t/4/assets/scrolling.js?v=162288454571026455011782452301", 129 "@theme/section-renderer": "//chalespirulina.com/cdn/shop/t/4/assets/section-renderer.js?v=44511745960026958271782452301", 130 "@theme/section-hydration": "//chalespirulina.com/cdn/shop/t/4/assets/section-hydration.js?v=108434990705342316311782452301", 131 "@theme/money-formatting": "//chalespirulina.com/cdn/shop/t/4/assets/money-formatting.js?v=160151249720534550011782452301", 132 "@theme/utilities": "//chalespirulina.com/cdn/shop/t/4/assets/utilities.js?v=86469562398914351581782452301", 133 "@theme/variant-picker": "//chalespirulina.com/cdn/shop/t/4/assets/variant-picker.js?v=21977969907998071131782452301", 134 "@theme/media-gallery": "//chalespirulina.com/cdn/shop/t/4/assets/media-gallery.js?v=154207211298275592001782452301", 135 "@theme/quick-add": "//chalespirulina.com/cdn/shop/t/4/assets/quick-add.js?v=43065342542833269571782452301", 136 "@theme/paginated-list-aspect-ratio": "//chalespirulina.com/cdn/shop/t/4/assets/paginated-list-aspect-ratio.js?v=25254270272143792451782452301", 137 "@theme/popover-polyfill": "//chalespirulina.com/cdn/shop/t/4/assets/popover-polyfill.js?v=119029313658895111201782452301", 138 "@theme/component-quantity-selector": "//chalespirulina.com/cdn/shop/t/4/assets/component-quantity-selector.js?v=67906657287482036641782452301", 139 "@theme/comparison-slider": "//chalespirulina.com/cdn/shop/t/4/assets/comparison-slider.js?v=106705562947035711941782452301", 140 "@theme/sticky-add-to-cart": "//chalespirulina.com/cdn/shop/t/4/assets/sticky-add-to-cart.js?v=130489688094345781431782452301", 141 "@theme/fly-to-cart": "//chalespirulina.com/cdn/shop/t/4/assets/fly-to-cart.js?v=48483246440248933081782452301", 142 "@theme/scroll-container": "//chalespirulina.com/cdn/shop/t/4/assets/scroll-container.js?v=127018149358875384221782452301", 143 "@theme/theme-drawer": "//chalespirulina.com/cdn/shop/t/4/assets/theme-drawer.js?v=155110645205299884131782452301" 144 } 145 } 146</script>
146<script 147 src="//chalespirulina.com/cdn/shop/t/4/assets/standard-actions-override.js?v=171683365447094389611782452301" 148 type="module" 149></script>
149 150
151<script 152 src="//chalespirulina.com/cdn/shop/t/4/assets/page-view-event.js?v=12823247316348680231782452301" 153 type="module" 154 defer 155></script>
155 156
157<script 158 src="//chalespirulina.com/cdn/shop/t/4/assets/view-transitions.js?v=5297208939214537721782452301" 159 async 160 161></script>
161 162 163<link 164 rel="modulepreload" 165 href="//chalespirulina.com/cdn/shop/t/4/assets/utilities.js?v=86469562398914351581782452301" 166 fetchpriority="low" 167> 168<link 169 rel="modulepreload" 170 href="//chalespirulina.com/cdn/shop/t/4/assets/component.js?v=175690430936884589731782452301" 171 fetchpriority="low" 172> 173<link 174 rel="modulepreload" 175 href="//chalespirulina.com/cdn/shop/t/4/assets/section-renderer.js?v=44511745960026958271782452301" 176 fetchpriority="low" 177> 178<link 179 rel="modulepreload" 180 href="//chalespirulina.com/cdn/shop/t/4/assets/section-hydration.js?v=108434990705342316311782452301" 181 fetchpriority="low" 182> 183<link 184 rel="modulepreload" 185 href="//chalespirulina.com/cdn/shop/t/4/assets/morph.js?v=182601902166245204061782452301" 186 fetchpriority="low" 187> 188 189 190 191<link 192 rel="modulepreload" 193 href="//chalespirulina.com/cdn/shop/t/4/assets/focus.js?v=60436577539430446401782452301" 194 fetchpriority="low" 195> 196<link 197 rel="modulepreload" 198 href="//chalespirulina.com/cdn/shop/t/4/assets/recently-viewed-products.js?v=94729125001750262651782452301" 199 fetchpriority="low" 200> 201<link 202 rel="modulepreload" 203 href="//chalespirulina.com/cdn/shop/t/4/assets/scrolling.js?v=162288454571026455011782452301" 204 fetchpriority="low" 205> 206<link 207 rel="modulepreload" 208 href="//chalespirulina.com/cdn/shop/t/4/assets/events.js?v=99399773727497444581782452301" 209 fetchpriority="low" 210>
211<script 212 src="//chalespirulina.com/cdn/shop/t/4/assets/popover-polyfill.js?v=119029313658895111201782452301" 213 type="module" 214 fetchpriority="low" 215></script>
vendor: 1 bytes, line 215
215
216<script 217 src="//chalespirulina.com/cdn/shop/t/4/assets/overflow-list.js?v=46858356770684902511782452301" 218 type="module" 219 fetchpriority="low" 220></script>
vendor: 1 bytes, line 220
220
221<script 222 src="//chalespirulina.com/cdn/shop/t/4/assets/quick-add.js?v=43065342542833269571782452301" 223 type="module" 224 fetchpriority="low" 225></script>
225 226 227
227<script 228 src="//chalespirulina.com/cdn/shop/t/4/assets/cart-discount.js?v=138990160074728809221782452301" 229 type="module" 230 fetchpriority="low" 231 ></script>
231 232 233
234<script 235 src="//chalespirulina.com/cdn/shop/t/4/assets/dialog.js?v=144816527575655702281782452301" 236 type="module" 237 fetchpriority="low" 238></script>
vendor: 1 bytes, line 238
238
239<script 240 src="//chalespirulina.com/cdn/shop/t/4/assets/variant-picker.js?v=21977969907998071131782452301" 241 type="module" 242 fetchpriority="low" 243></script>
vendor: 1 bytes, line 243
243
244<script 245 src="//chalespirulina.com/cdn/shop/t/4/assets/product-card.js?v=37238785082130356571782452301" 246 type="module" 247 fetchpriority="low" 248></script>
vendor: 1 bytes, line 248
248
249<script 250 src="//chalespirulina.com/cdn/shop/t/4/assets/product-form.js?v=75424241456978697291782452301" 251 type="module" 252 fetchpriority="low" 253></script>
vendor: 1 bytes, line 253
253
254<script 255 src="//chalespirulina.com/cdn/shop/t/4/assets/fly-to-cart.js?v=48483246440248933081782452301" 256 type="module" 257 fetchpriority="low" 258></script>
vendor: 1 bytes, line 258
258
259<script 260 src="//chalespirulina.com/cdn/shop/t/4/assets/accordion-custom.js?v=105323356731531709191782452301" 261 type="module" 262 fetchpriority="low" 263></script>
vendor: 1 bytes, line 263
263
264<script 265 src="//chalespirulina.com/cdn/shop/t/4/assets/media.js?v=37825095869491791421782452301" 266 type="module" 267 fetchpriority="low" 268></script>
vendor: 1 bytes, line 268
268
269<script 270 src="//chalespirulina.com/cdn/shop/t/4/assets/product-price.js?v=179333985604099329921782452301" 271 type="module" 272 fetchpriority="low" 273></script>
vendor: 1 bytes, line 273
273
274<script 275 src="//chalespirulina.com/cdn/shop/t/4/assets/product-sku.js?v=28741104639155857071782452301" 276 type="module" 277 fetchpriority="low" 278></script>
vendor: 1 bytes, line 278
278
279<script 280 src="//chalespirulina.com/cdn/shop/t/4/assets/product-inventory.js?v=7173209571153411411782452301" 281 type="module" 282 fetchpriority="low" 283></script>
vendor: 1 bytes, line 283
283
284<script 285 src="//chalespirulina.com/cdn/shop/t/4/assets/show-more.js?v=94563802205717136101782452301" 286 type="module" 287 fetchpriority="low" 288></script>
vendor: 1 bytes, line 288
288
289<script 290 src="//chalespirulina.com/cdn/shop/t/4/assets/slideshow.js?v=28306258147874261831782452301" 291 type="module" 292 fetchpriority="low" 293></script>
vendor: 1 bytes, line 293
293
294<script 295 src="//chalespirulina.com/cdn/shop/t/4/assets/layered-slideshow.js?v=30135417790894624731782452301" 296 type="module" 297 fetchpriority="low" 298></script>
vendor: 1 bytes, line 298
298
299<script 300 src="//chalespirulina.com/cdn/shop/t/4/assets/anchored-popover.js?v=143987075196095667371782452301" 301 type="module" 302 fetchpriority="low" 303></script>
vendor: 1 bytes, line 303
303
304<script 305 src="//chalespirulina.com/cdn/shop/t/4/assets/floating-panel.js?v=151277338116891310371782452301" 306 type="module" 307 fetchpriority="low" 308></script>
vendor: 1 bytes, line 308
308
309<script 310 src="//chalespirulina.com/cdn/shop/t/4/assets/video-background.js?v=25237992823806706551782452301" 311 type="module" 312 fetchpriority="low" 313></script>
vendor: 1 bytes, line 313
313
314<script 315 src="//chalespirulina.com/cdn/shop/t/4/assets/component-quantity-selector.js?v=67906657287482036641782452301" 316 type="module" 317 fetchpriority="low" 318></script>
vendor: 1 bytes, line 318
318
319<script 320 src="//chalespirulina.com/cdn/shop/t/4/assets/media-gallery.js?v=154207211298275592001782452301" 321 type="module" 322 fetchpriority="low" 323></script>
vendor: 1 bytes, line 323
323
324<script 325 src="//chalespirulina.com/cdn/shop/t/4/assets/rte-formatter.js?v=40306132146590816021782452301" 326 type="module" 327 fetchpriority="low" 328></script>
vendor: 1 bytes, line 328
328
329<script 330 src="//chalespirulina.com/cdn/shop/t/4/assets/volume-pricing.js?v=15442793518842484731782452301" 331 type="module" 332 fetchpriority="low" 333></script>
vendor: 1 bytes, line 333
333
334<script 335 src="//chalespirulina.com/cdn/shop/t/4/assets/price-per-item.js?v=115937180292451397851782452301" 336 type="module" 337 fetchpriority="low" 338></script>
vendor: 1 bytes, line 338
338
339<script 340 src="//chalespirulina.com/cdn/shop/t/4/assets/volume-pricing-info.js?v=94479640769665442661782452301" 341 type="module" 342 fetchpriority="low" 343></script>
343 344 345 346
346<script 347 src="//chalespirulina.com/cdn/shop/t/4/assets/localization.js?v=15585934801240115691782452301" 348 type="module" 349 fetchpriority="low" 350 ></script>
350 351 352 353 354
354<script 355 src="//chalespirulina.com/cdn/shop/t/4/assets/sticky-add-to-cart.js?v=130489688094345781431782452301" 356 type="module" 357 fetchpriority="low" 358 ></script>
358 359
359<script type="module"> 360 import { RecentlyViewed } from '@theme/recently-viewed-products'; 361 RecentlyViewed.addProduct('10891861033298'); 362 </script>
362 363 364
365<script 366 src="//chalespirulina.com/cdn/shop/t/4/assets/auto-close-details.js?v=58350291535404441581782452301" 367 defer="defer" 368></script>
368 369
370<script> 371 const Theme = { 372 translations: { 373 placeholder_image: `Placeholder image`, 374 added: `Added`, 375 recipient_form_fields_visible: `Recipient form fields are now visible`, 376 recipient_form_fields_hidden: `Recipient form fields are now hidden`, 377 recipient_form_error: `There was an error with the form submission`, 378 items_added_to_cart_one: `1 item added to cart`, 379 items_added_to_cart_other: `{{ count }} items added to cart`, 380 cart_count: `Total items in cart`, 381 }, 382 routes: { 383 cart_add_url: '/cart/add.js', 384 cart_change_url: '/cart/change', 385 cart_update_url: '/cart/update', 386 cart_url: '/cart', 387 predictive_search_url: '/search/suggest', 388 search_url: '/search', 389 }, 390 template: { 391 name: 'product', 392 }, 393 }; 394</script>
394 395<style data-shopify> 396@font-face { 397 font-family: "DM Sans"; 398 font-weight: 400; 399 font-style: normal; 400 font-display: swap; 401 src: url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 402 url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 403} 404@font-face { 405 font-family: "DM Sans"; 406 font-weight: 700; 407 font-style: normal; 408 font-display: swap; 409 src: url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n7.97e21d81502002291ea1de8aefb79170c6946ce5.woff2") format("woff2"), 410 url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_n7.af5c214f5116410ca1d53a2090665620e78e2e1b.woff") format("woff"); 411} 412@font-face { 413 font-family: "DM Sans"; 414 font-weight: 400; 415 font-style: italic; 416 font-display: swap; 417 src: url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_i4.b8fe05e69ee95d5a53155c346957d8cbf5081c1a.woff2") format("woff2"), 418 url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_i4.403fe28ee2ea63e142575c0aa47684d65f8c23a0.woff") format("woff"); 419} 420@font-face { 421 font-family: "DM Sans"; 422 font-weight: 700; 423 font-style: italic; 424 font-display: swap; 425 src: url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_i7.52b57f7d7342eb7255084623d98ab83fd96e7f9b.woff2") format("woff2"), 426 url("//chalespirulina.com/cdn/fonts/dm_sans/dmsans_i7.d5e14ef18a1d4a8ce78a4187580b4eb1759c2eda.woff") format("woff"); 427} 428@font-face { 429 font-family: "Playfair Display"; 430 font-weight: 400; 431 font-style: normal; 432 font-display: swap; 433 src: url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2") format("woff2"), 434 url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n4.c562b7c8e5637886a811d2a017f9e023166064ee.woff") format("woff"); 435} 436@font-face { 437 font-family: "Playfair Display"; 438 font-weight: 700; 439 font-style: normal; 440 font-display: swap; 441 src: url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n7.592b3435e0fff3f50b26d410c73ae7ec893f6910.woff2") format("woff2"), 442 url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_n7.998b1417dec711058cce2abb61a0b8c59066498f.woff") format("woff"); 443} 444@font-face { 445 font-family: "Playfair Display"; 446 font-weight: 400; 447 font-style: italic; 448 font-display: swap; 449 src: url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_i4.804ea8da9192aaed0368534aa085b3c1f3411619.woff2") format("woff2"), 450 url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_i4.5538cb7a825d13d8a2333cd8a94065a93a95c710.woff") format("woff"); 451} 452@font-face { 453 font-family: "Playfair Display"; 454 font-weight: 700; 455 font-style: italic; 456 font-display: swap; 457 src: url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_i7.ba833b400bcd9c858b439c75a4a7c6eddc4c7de0.woff2") format("woff2"), 458 url("//chalespirulina.com/cdn/fonts/playfair_display/playfairdisplay_i7.4872c65919810cd2f622f4ba52cd2e9e595f11d5.woff") format("woff"); 459} 460 461 462 :root { 463 /* Page Layout */ 464 --sidebar-width: 25rem; 465 --theme-drawer-width: 30rem; 466 --narrow-content-width: 36rem; 467 --normal-content-width: 42rem; 468 --wide-content-width: 46rem; 469 --narrow-page-width: 90rem; 470 --normal-page-width: 120rem; 471 --wide-page-width: 150rem; 472 473 /* Section Heights */ 474 --section-height-small: 15rem; 475 --section-height-medium: 25rem; 476 --section-height-large: 35rem; 477 478 @media screen and (min-width: 40em) { 479 --section-height-small: 40svh; 480 --section-height-medium: 55svh; 481 --section-height-large: 70svh; 482 } 483 484 @media screen and (min-width: 60em) { 485 --section-height-small: 50svh; 486 --section-height-medium: 65svh; 487 --section-height-large: 80svh; 488 } 489 490 /* Letter spacing */ 491 --letter-spacing-sm: 0.06em; 492 --letter-spacing-md: 0.13em; 493 494 /* Font families */ 495 --font-body--family: "DM Sans", sans-serif; 496 --font-body--style: normal; 497 --font-body--weight: 400; 498 --font-subheading--family: "DM Sans", sans-serif; 499 --font-subheading--style: normal; 500 --font-subheading--weight: 400; 501 --font-heading--family: "Playfair Display", serif; 502 --font-heading--style: normal; 503 --font-heading--weight: 400; 504 --font-accent--family: "Playfair Display", serif; 505 --font-accent--style: normal; 506 --font-accent--weight: 400; 507 508 /* Margin sizes */ 509 --font-heading--spacing: 0.25em; 510 --font-h1--spacing: var(--font-heading--spacing); 511 --font-h2--spacing: var(--font-heading--spacing); 512 --font-h3--spacing: var(--font-heading--spacing); 513 --font-h4--spacing: var(--font-heading--spacing); 514 --font-h5--spacing: var(--font-heading--spacing); 515 --font-h6--spacing: var(--font-heading--spacing); 516 --font-paragraph--spacing: 0.5em; 517 518 /** Z-Index / Layering */ 519 --layer-section-background: -2; 520 --layer-lowest: -1; 521 --layer-base: 0; 522 --layer-flat: 1; 523 --layer-raised: 2; 524 --layer-heightened: 4; 525 --layer-sticky: 8; 526 --layer-window-overlay: 10; 527 --layer-header-menu: 12; 528 --layer-overlay: 16; 529 --layer-menu-drawer: 18; 530 --layer-temporary: 20; 531 532 /* Max-width / Measure */ 533 --max-width--body-normal: 32.5em; 534 --max-width--body-narrow: 22.75em; 535 536 --max-width--heading-normal: 32.5em; 537 --max-width--heading-narrow: 19.5em; 538 539 --max-width--display-normal: 13em; 540 --max-width--display-narrow: 9.75em; 541 --max-width--display-tight: 3.25em; 542 543 /* Letter-spacing / Tracking */ 544 --letter-spacing--display-tight: -0.03em; 545 --letter-spacing--display-normal: 0em; 546 --letter-spacing--display-loose: 0.03em; 547 548 --letter-spacing--heading-tight: -0.03em; 549 --letter-spacing--heading-normal: 0em; 550 --letter-spacing--heading-loose: 0.03em; 551 552 --letter-spacing--body-tight: -0.03em; 553 --letter-spacing--body-normal: 0em; 554 --letter-spacing--body-loose: 0.03em; 555 556 /* Line height / Leading */ 557 --line-height: 1; 558 559 --line-height--display-tight: 1; 560 --line-height--display-normal: 1.1; 561 --line-height--display-loose: 1.2; 562 563 --line-height--heading-tight: 1.15; 564 --line-height--heading-normal: 1.25; 565 --line-height--heading-loose: 1.35; 566 567 --line-height--body-tight: 1.2; 568 --line-height--body-normal: 1.4; 569 --line-height--body-loose: 1.6; 570 571 /* Typography presets */ 572 --font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 573 574 /* Hardcoded font sizes */ 575 --font-size--3xs: 0.625rem; 576 --font-size--2xs: 0.75rem; 577 --font-size--xs: 0.8125rem; 578 --font-size--sm: 0.875rem; 579 --font-size--md: 1rem; 580 --font-size--lg: 1.125rem; 581 --font-size--xl: 1.25rem; 582 --font-size--2xl: 1.5rem; 583 --font-size--3xl: 2rem; 584 --font-size--4xl: 2.5rem; 585 --font-size--5xl: 3rem; 586 --font-size--6xl: 3.5rem; 587 588 /* Menu font sizes */ 589 --menu-font-sm--size: 0.875rem; 590 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 591 --menu-font-md--size: 1rem; 592 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 593 --menu-font-lg--size: 1.125rem; 594 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 595 --menu-font-xl--size: 1.25rem; 596 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 597 --menu-font-2xl--size: 1.75rem; 598 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 599 600 /* Colors */ 601 --color-error: #8B0000; 602 --color-success: #006400; 603 --color-white: #FFFFFF; 604 --color-white-rgb: 255 255 255; 605 --color-black: #000000; 606 --color-instock: #3ED660; 607 --color-lowstock: #EE9441; 608 --color-outofstock: #C8C8C8; 609 610 /* Opacity */ 611 --opacity-5: 0.05; 612 --opacity-8: 0.08; 613 --opacity-10: 0.1; 614 --opacity-15: 0.15; 615 --opacity-20: 0.2;
616 --opacity-25: 0.25; 617 --opacity-30: 0.3; 618 --opacity-40: 0.4; 619 --opacity-50: 0.5; 620 --opacity-60: 0.6; 621 --opacity-70: 0.7; 622 --opacity-80: 0.8; 623 --opacity-85: 0.85; 624 --opacity-90: 0.9; 625 --opacity-subdued-text: 0.8; 626 --opacity-muted-text: 0.6; 627 628 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 629 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 630 631 /* Spacing */ 632 --margin-3xs: 0.125rem; 633 --margin-2xs: 0.3rem; 634 --margin-xs: 0.5rem; 635 --margin-sm: 0.7rem; 636 --margin-md: 0.8rem; 637 --margin-lg: 1rem; 638 --margin-xl: 1.25rem; 639 --margin-2xl: 1.5rem; 640 --margin-3xl: 1.75rem; 641 --margin-4xl: 2rem; 642 --margin-5xl: 3rem; 643 --margin-6xl: 5rem; 644 645 --scroll-margin: 50px; 646 647 --padding-3xs: 0.125rem; 648 --padding-2xs: 0.25rem; 649 --padding-xs: 0.5rem; 650 --padding-sm: 0.7rem; 651 --padding-md: 0.8rem; 652 --padding-lg: 1rem; 653 --padding-xl: 1.25rem; 654 --padding-2xl: 1.5rem; 655 --padding-3xl: 1.75rem; 656 --padding-4xl: 2rem; 657 --padding-5xl: 3rem; 658 --padding-6xl: 4rem; 659 660 --gap-3xs: 0.125rem; 661 --gap-2xs: 0.3rem; 662 --gap-xs: 0.5rem; 663 --gap-sm: 0.7rem; 664 --gap-md: 0.9rem; 665 --gap-lg: 1rem; 666 --gap-xl: 1.25rem; 667 --gap-2xl: 2rem; 668 --gap-3xl: 3rem; 669 670 --spacing-scale-sm: 0.6; 671 --spacing-scale-md: 0.7; 672 --spacing-scale-default: 1.0; 673 674 /* Checkout buttons gap */ 675 --checkout-button-gap: 10px; 676 677 /* Borders */ 678 --style-border-width: 1px; 679 --style-border-radius-xs: 0.2rem; 680 --style-border-radius-sm: 0.6rem; 681 --style-border-radius-md: 0.8rem; 682 --style-border-radius-50: 50%; 683 --style-border-radius-lg: 1rem; 684 --style-border-radius-pills: 40px; 685 --style-border-radius-inputs: 4px; 686 --style-border-radius-buttons-primary: 14px; 687 --style-border-radius-buttons-secondary: 14px; 688 --style-border-width-primary: 0px; 689 --style-border-width-secondary: 1px; 690 --style-border-width-inputs: 1px; 691 --style-border-radius-popover: 14px; 692 --style-border-popover: 1px solid ; 693 --style-border-drawer: 1px solid ; 694 --style-border-swatch-opacity: 10%; 695 --style-border-swatch-width: 1px; 696 --style-border-swatch-style: solid; 697 698 /* Animation */ 699 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 700 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 701 --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955); 702 --animation-speed-fast: 0.0625s; 703 --animation-speed: 0.125s; 704 --animation-speed-slow: 0.2s; 705 --animation-speed-medium: 0.15s; 706 --animation-easing: ease-in-out; 707 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 708 --drawer-animation-speed: 0.2s; 709 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 710 --animation-values: var(--animation-speed) var(--animation-easing); 711 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 712 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 713 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 714 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 715 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 716 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 717 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 718 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 719 /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/ 720 --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%); 721 --spring-d300-b0-duration: 0.4980s; 722 --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%); 723 --spring-d280-b0-duration: 0.4648s; 724 --spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%); 725 --spring-d260-b0-duration: 0.4316s; 726 --spring-d220-b0-easing: linear( 727 0, 728 0.0093 1.37%, 729 0.0696 4.12%, 730 0.4667 15.09%, 731 0.6322 20.58%, 732 0.6986 23.32%, 733 0.7793 27.44%, 734 0.8219 30.18%, 735 0.8721, 736 0.9089 38.42%, 737 0.9427, 738 0.9644, 739 0.978 54.88%, 740 0.9881 61.74%, 741 0.9944 69.97%, 742 0.998 80.95%, 743 0.9996 98.78% 744 ); 745 --spring-d220-b0-duration: 0.3818s; 746 --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%); 747 --spring-d180-b0-duration: 0.2988s; 748 749 /* View transitions */ 750 /* View transition old */ 751 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 752 753 /* View transition new */ 754 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 755 756 /* Focus */ 757 --focus-outline-width: 0.09375rem; 758 --focus-outline-offset: 0.2em; 759 760 /* Badges */ 761 --badge-blob-padding-block: 1px; 762 --badge-blob-padding-inline: 12px 8px; 763 --badge-rectangle-padding-block: 1px; 764 --badge-rectangle-padding-inline: 6px; 765 @media screen and (min-width: 750px) { 766 --badge-blob-padding-block: 4px; 767 --badge-blob-padding-inline: 16px 12px; 768 --badge-rectangle-padding-block: 4px; 769 --badge-rectangle-padding-inline: 10px; 770 } 771 772 /* Icons */ 773 --icon-size-2xs: 0.6rem; 774 --icon-size-xs: 0.85rem; 775 --icon-size-sm: 1.25rem; 776 --icon-size-md: 1.375rem; 777 --icon-size-lg: 1.5rem; 778 --icon-stroke-width: 1.5px; 779 780 /* Input */ 781 --input-email-min-width: 200px; 782 --input-search-max-width: 650px; 783 --input-padding-y: 0.8rem; 784 --input-padding-x: 0.8rem; 785 --input-padding: var(--input-padding-y) var(--input-padding-x); 786 --input-box-shadow-width: var(--style-border-width-inputs); 787 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 788 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 789 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 790 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 791 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
792 --input-textarea-min-height: 55px; 793 794 /* Checkbox */ 795 --checkbox-size: 22px; 796 --checkbox-border-radius: 7px; 797 --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55)); 798 --checkbox-label-padding: 8px; 799 800 @media screen and (min-width: 750px) { 801 --checkbox-size: 16px; 802 --checkbox-border-radius: 5px; 803 --checkbox-label-padding: 6px; 804 } 805 806 /* Button size */ 807 --button-size-sm: 30px; 808 --button-size-md: 36px; 809 --button-size: var(--minimum-touch-target); 810 --button-padding-inline: 24px; 811 --button-padding-block: 16px; 812 813 /* Button font-family */ 814 --button-font-family-primary: var(--font-body--family); 815 --button-font-family-secondary: var(--font-body--family); 816 817 /* Button text case */ 818 --button-text-case: ; 819 --button-text-case-primary: default; 820 --button-text-case-secondary: default; 821 822 /* Borders */ 823 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 824 --border-width-sm: 1px; 825 --border-width-md: 2px; 826 --border-width-lg: 5px; 827 --border-radius-sm: 0.25rem; 828 829 /* Drawers */ 830 --drawer-inline-padding: 25px; 831 --drawer-menu-inline-padding: 2.5rem; 832 --drawer-header-block-padding: 20px; 833 --drawer-content-block-padding: 10px; 834 --drawer-header-desktop-top: 0rem; 835 --drawer-padding: calc(var(--padding-sm) + 7px); 836 --drawer-height: 100dvh; 837 --drawer-width: 95vw; 838 --drawer-max-width: 500px; 839 840 /* Variant Picker Swatches */ 841 --variant-picker-swatch-width-unitless: 34; 842 --variant-picker-swatch-height-unitless: 34; 843 --variant-picker-swatch-width: 34px; 844 --variant-picker-swatch-height: 34px; 845 --variant-picker-swatch-radius: 32px; 846 --variant-picker-border-width: 1px; 847 --variant-picker-border-style: solid; 848 --variant-picker-border-opacity: 10%; 849 850 /* Variant Picker Buttons */ 851 --variant-picker-button-radius: 14px; 852 --variant-picker-button-border-width: 1px; 853 --variant-option-label-color: var(--color, var(--color-foreground)); 854 855 /* Slideshow */ 856 --slideshow-controls-size: 3.5rem; 857 --slideshow-controls-icon: 2rem; 858 --peek-next-slide-size: 3rem; 859 860 /* Utilities */ 861 --backdrop-opacity: 0.15; 862 --backdrop-color-rgb: var(--color-shadow-rgb); 863 --minimum-touch-target: 44px; 864 --disabled-opacity: 0.5; 865 --skeleton-opacity: 0.025; 866 867 /* Shapes */ 868 --shape--circle: circle(50% at center); 869 --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%); 870 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 871 --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
871% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%); 872 873 /* Buy buttons */ 874 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 875 876 /* Card image width and height variables */ 877 --card-width-small: 10rem; 878 879 --height-small: 10rem; 880 --height-medium: 11.5rem; 881 --height-large: 13rem; 882 --height-full: 100vh; 883 884 @media screen and (min-width: 750px) { 885 --height-small: 17.5rem; 886 --height-medium: 21.25rem; 887 --height-large: 25rem; 888 } 889 890 /* Modal */ 891 --modal-max-height: 65dvh; 892 --quick-add-modal-height: min(38.5rem, 96vh); 893 --quick-add-modal-width: min(54rem, 96vw); 894 --quick-add-modal-gallery-width: 24rem; 895 896 /* Card styles for search */ 897 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 898 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 899 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 900 901 /* Cart */ 902 --cart-primary-font-family: var(--font-body--family); 903 --cart-primary-font-style: var(--font-body--style); 904 --cart-primary-font-weight: var(--font-body--weight); 905 --cart-secondary-font-family: var(--font-secondary--family); 906 --cart-secondary-font-style: var(--font-secondary--style); 907 --cart-secondary-font-weight: var(--font-secondary--weight); 908 } 909</style> 910 911 912 913 914 915 916 <style data-shopify> 917 .color-custom-popover, 918 .color-custom-popover .text-block { 919 /* Background */ 920 --color-background: #ffffff; 921 --color-background-rgb: 255 255 255; 922 923 /* Opacity values adjusted for background brightness */ 924 925--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 9260.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 927 928 929 930 /* Foreground / text â explicit or smart-contrasted */ 931 --color: #0e2c09; 932 --color-rgb: 14 44 9; 933 --color-foreground: #0e2c09; 934 --color-foreground-rgb: 14 44 9; 935 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 936 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 937 --color-border: #0e2c09; 938 --color-border-rgb: 14 44 9; 939 940 } 941 942 943 .color-custom-popover { 944 /* Form-related tokens stay on .color-custom only â .text-block is a prose 945 container (text/announcement/inline-text/blog-post-description/ 946 collection-link/price/sku) and never holds form inputs. */ 947 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 948 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 949 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 950 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 951 } 952 953 954 .color-custom-popover { 955 color: var(--color, var(--color-foreground)); 956 background-color: var(--color-background); 957 } 958 </style> 959 960 961 962 963 964 965 966 967 <style data-shopify> 968 .color-custom-drawer, 969 .color-custom-drawer .text-block { 970 /* Background */ 971 --color-background: #ffffff; 972 --color-background-rgb: 255 255 255; 973 974 /* Opacity values adjusted for background brightness */ 975 976--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 9770.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 978 979 980 981 /* Foreground / text â explicit or smart-contrasted */ 982 --color: #0e2c09; 983 --color-rgb: 14 44 9; 984 --color-foreground: #0e2c09; 985 --color-foreground-rgb: 14 44 9; 986 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 987 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 988 --color-border: #0e2c09; 989 --color-border-rgb: 14 44 9; 990 991 } 992 993 994 .color-custom-drawer { 995 /* Form-related tokens stay on .color-custom only â .text-block is a prose 996 container (text/announcement/inline-text/blog-post-description/ 997 collection-link/price/sku) and never holds form inputs. */ 998 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 999 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 1000 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 1001 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 1002 } 1003 1004 1005 .color-custom-drawer { 1006 color: var(--color, var(--color-foreground)); 1007 background-color: var(--color-background); 1008 } 1009 </style> 1010 1011 1012 1013 1014 1015 1016 1017 1018 <style data-shopify> 1019 .color-custom-badge-sale, 1020 .color-custom-badge-sale .text-block {
1021 /* Background */ 1022 --color-background: #ffffff; 1023 --color-background-rgb: 255 255 255; 1024 1025 /* Opacity values adjusted for background brightness */ 1026 1027--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 10280.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 1029 1030 1031 1032 /* Foreground / text â explicit or smart-contrasted */ 1033 --color: #0e2c09; 1034 --color-rgb: 14 44 9; 1035 --color-foreground: #0e2c09; 1036 --color-foreground-rgb: 14 44 9; 1037 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 1038 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 1039 --color-border: #0e2c09; 1040 --color-border-rgb: 14 44 9; 1041 1042 } 1043 1044 1045 .color-custom-badge-sale { 1046 /* Form-related tokens stay on .color-custom only â .text-block is a prose 1047 container (text/announcement/inline-text/blog-post-description/ 1048 collection-link/price/sku) and never holds form inputs. */ 1049 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 1050 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 1051 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 1052 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 1053 } 1054 1055 1056 .color-custom-badge-sale { 1057 color: var(--color, var(--color-foreground)); 1058 background-color: var(--color-background); 1059 } 1060 </style> 1061 1062 1063 1064 1065 1066 1067 1068 1069 <style data-shopify> 1070 .color-custom-badge-sold-out, 1071 .color-custom-badge-sold-out .text-block { 1072 /* Background */ 1073 --color-background: #eef1ea; 1074 --color-background-rgb: 238 241 234; 1075 1076 /* Opacity values adjusted for background brightness */ 1077 1078--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 10790.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 1080 1081 1082 1083 /* Foreground / text â explicit or smart-contrasted */ 1084 --color: #0e2c09; 1085 --color-rgb: 14 44 9; 1086 --color-foreground: #0e2c09; 1087 --color-foreground-rgb: 14 44 9; 1088 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 1089 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 1090 --color-border: #0e2c09; 1091 --color-border-rgb: 14 44 9; 1092 1093 } 1094 1095 1096 .color-custom-badge-sold-out { 1097 /* Form-related tokens stay on .color-custom only â .text-block is a prose 1098 container (text/announcement/inline-text/blog-post-description/ 1099 collection-link/price/sku) and never holds form inputs. */ 1100 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 1101 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 1102 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 1103 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 1104 } 1105 1106 1107 .color-custom-badge-sold-out { 1108 color: var(--color, var(--color-foreground)); 1109 background-color: var(--color-background); 1110 } 1111 </style> 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130<style data-shopify> 1131 /* Palette colors */ 1132 :root { 1133 --color-background: #ffffff; 1134 --color-background-rgb: 255 255 255; 1135 --color-foreground: #0e2c09; 1136 --color-foreground-rgb: 14 44 9; 1137 --color-border: #0e2c09; 1138 --color-border-rgb: 14 44 9; 1139 --palette-lightest: #ffffff; 1140 --palette-lightest-rgb: 255 255 255; 1141 --palette-darkest: #0e2c09; 1142 --palette-darkest-rgb: 14 44 9; 1143 1144--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 11450.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 1146 1147 1148 --color-primary-button-text: rgb(255 255 255 / 1.0); 1149 --color-primary-button-background: rgb(5 107 3 / 1.0); 1150 --color-primary-button-border: rgb(5 107 3 / 1.0); 1151 --color-primary-button-focus-outline: rgb(5 107 3); 1152 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1153 --color-primary-button-hover-background: #068404; 1154 --color-primary-button-hover-border: #068404; 1155 1156 --color-secondary-button-text: rgb(14 44 9 / 1.0); 1157 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1158 --color-secondary-button-border: rgb(14 44 9 / 1.0); 1159 --color-secondary-button-hover-text: rgb(14 44 9 / 1.0); 1160 --color-secondary-button-hover-background: rgba(0, 0, 0, 0.15); 1161 --color-secondary-button-hover-border: #226c16; 1162 1163 --color-input-background: rgb(255 255 255 / 1.0); 1164 --color-input-text: rgb(); 1165 --color-input-text-rgb: ; 1166 --color-input-border: rgb(); 1167 1168 --color-variant-background: rgb(255 255 255 / 1.0); 1169 --color-variant-border: rgb(); 1170 --color-variant-text: rgb(14 44 9 / 1.0); 1171 --color-variant-text-rgb: 14 44 9; 1172 --color-variant-hover-background: #f2f2f2; 1173 --color-variant-hover-text: rgb(14 44 9 / 1.0); 1174 --color-variant-hover-border: ; 1175 1176 --color-selected-variant-background: rgb(14 44 9 / 1.0); 1177 --color-selected-variant-border: rgb(14 44 9 / 1.0); 1178 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1179 --color-selected-variant-hover-background: #226c16; 1180 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1181 --color-selected-variant-hover-border: #226c16; 1182 1183 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1184 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1185 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1186 --color-foreground-muted: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-muted-text)); 1187 --color-foreground-subdued: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text)); 1188 --color-drawer-shadow-rgb: ; 1189 --color-popover-shadow-rgb: 14 44 9; 1190 1191 /* Shadows */ 1192 1193 1194 --shadow-blur: 20px; 1195 --shadow-popover: 0px 4px 20px rgb(var(--color-popover-shadow-rgb) / var(--opacity-15)); 1196 1197 } 1198 1199 body { 1200 color: var(--color-foreground); 1201 background-color: var(--color-background); 1202 } 1203</style> 1204 1205 1206
1206<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1206<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/108671566162/digital_wallets/dialog"> 1207<meta id="in-context-paypal-metadata" data-shop-id="108671566162" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="EUR"> 1208<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/53828582408530:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://chalespirulina.com/products/spirulina-powder-30-days.oembed">
1209<script async="async" src="/checkouts/internal/preloads.js?locale=en-NL"></script>
1209 1210<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1211<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-NL&shop_id=108671566162" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1211
1211
1212<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":108671566162,"countryCode":"NL","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/108671566162","merchantName":"Chalé Spirulina","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Chalé Spirulina","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1212
1212
1213<script id="shopify-features" type="application/json">{"accessToken":"ca121699a9d5c856bf3b6a907ac56a2a","betas":["rich-media-storefront-analytics"],"domain":"chalespirulina.com","predictiveSearch":true,"shopId":108671566162,"locale":"en"}</script>
vendor: 1 bytes, line 1213
1213
1214<script>var Shopify = Shopify || {}; 1215Shopify.shop = "cc5ii1-qg.myshopify.com"; 1216Shopify.locale = "en"; 1217Shopify.currency = {"active":"EUR","rate":"1.0"}; 1218Shopify.country = "NL"; 1219Shopify.theme = {"name":"Copy of Horizon","id":202851483986,"schema_name":"Horizon","schema_version":"4.1.0","theme_store_id":2481,"role":"main"}; 1220Shopify.theme.handle = "null"; 1221Shopify.theme.style = {"id":null,"handle":null}; 1222Shopify.cdnHost = "chalespirulina.com/cdn"; 1223Shopify.routes = Shopify.routes || {}; 1224Shopify.routes.root = "/"; 1225Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 1226Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 1227Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 1228Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1228
1228
1229<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1229
1229
1230<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 1230
1230
1231<script> 1232 window.ShopifyPay = window.ShopifyPay || {}; 1233 window.ShopifyPay.apiHost = "shop.app\/pay"; 1234 window.ShopifyPay.redirectState = null; 1235</script>
vendor: 1 bytes, line 1235
1235
1236<script> 1237 window.Shopify = window.Shopify || {}; 1238 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 1239 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 1240 window.Shopify.SignInWithShop.eligible = true; 1241</script>
vendor: 1 bytes, line 1241
1241
1242<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 1242
1242
1243<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 1243
1243
1244<script type="module"> 1245 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 1246 1247 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 1248 1249</script>
vendor: 1 bytes, line 1249
1249
1250<script> 1251 window.Shopify = window.Shopify || {}; 1252 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 1253 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 1254</script>
vendor: 1 bytes, line 1254
1254
1255<script>(function() { 1256 var isLoaded = false; 1257 function asyncLoad() { 1258 if (isLoaded) return; 1259 isLoaded = true; 1260 var urls = ["https:\/\/cdn.nfcube.com\/instafeed-5e181e5f63ed4756451c4ae5c4bf86fe.js?shop=cc5ii1-qg.myshopify.com"]; 1261 for (var i = 0; i < urls.length; i++) { 1262 var s = document.createElement('script'); 1263 s.type = 'text/javascript'; 1264 s.async = true; 1265 s.src = urls[i]; 1266 var x = document.getElementsByTagName('script')[0]; 1267 x.parentNode.insertBefore(s, x); 1268 } 1269 }; 1270 if(window.attachEvent) { 1271 window.attachEvent('onload', asyncLoad); 1272 } else { 1273 window.addEventListener('load', asyncLoad, false); 1274 } 1275})();</script>
vendor: 1 bytes, line 1275
1275
1276<script id="__st">var __st={"a":108671566162,"offset":7200,"reqid":"80059c37-6cef-4197-8c2d-24187fedbd39-1791349658","pageurl":"chalespirulina.com\/products\/spirulina-powder-30-days","u":"4cd0d1ce484a","p":"product","rtyp":"product","rid":10891861033298};</script>
vendor: 1 bytes, line 1276
1276
1277<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1277
1277
1278<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 1278
1278
1279<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//chalespirulina.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1279
1279
1280<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//chalespirulina.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
1280<script crossorigin="anonymous" defer="defer" src="//chalespirulina.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 1280
1280
1281<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 1281
1281
1282<script> 1283 window.Shopify = window.Shopify || {}; 1284 window.Shopify.MCP = window.Shopify.MCP || {}; 1285 window.Shopify.MCP.enabled = true; 1286 window.Shopify.MCP.shop = "cc5ii1-qg.myshopify.com"; 1287 window.Shopify.MCP.mcpEndpoint = "https:\/\/chalespirulina.com\/api\/mcp"; 1288 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 1289</script>
vendor: 1 bytes, line 1289
1289
1290<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/chalespirulina.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 1291</script>
vendor: 1 bytes, line 1291
1291
1292<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://chalespirulina.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 1293</script>
vendor: 1 bytes, line 1293
1293
1294<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 1295 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 1296</script>
vendor: 1 bytes, line 1296
1296
1297<script> 1298 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 1299</script>
1299 1300
1301<script type="module" src="https://chalespirulina.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1301
1301
1302<script nomodule> 1303 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 1304</script>
1304 1305
1306<script id='scb4127' type='text/javascript' async='' src='https://chalespirulina.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
1306<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://chalespirulina.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 1307<style id="shopify-accelerated-checkout-cart"> 1308 #shopify-buyer-consent { 1309 margin-top: 1em; 1310 display: inline-block; 1311 width: 100%; 1312} 1313 1314#shopify-buyer-consent.hidden { 1315 display: none; 1316} 1317 1318#shopify-subscription-policy-button { 1319 background: none; 1320 border: none; 1321 padding: 0; 1322 text-decoration: underline; 1323 font-size: inherit; 1324 cursor: pointer; 1325} 1326 1327#shopify-subscription-policy-button::before { 1328 box-shadow: none; 1329} 1330 1331 </style> 1332<link rel="compression-dictionary" href="//chalespirulina.com/cdn/shop/t/4/compiled_assets/styles.css?v=33663690291351161431784633656" crossorigin="anonymous"> 1333<link rel="stylesheet" media="screen" href="//chalespirulina.com/cdn/shop/t/4/compiled_assets/styles.css?v=33663690291351161431784633656&subset=AAAAAAAAAEAAAAAAAAAEgA0EAAAAUCCOEAABAADJL6GCAAoAAQ" crossorigin="anonymous">
1334<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1334 1335 <!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348
1348<script async src="https://static.klaviyo.com/onsite/js/VVxc3n/klaviyo.js?company_id=VVxc3n"></script>
1348 1349
1349<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1349 1350 1351 1352
1352<script id="viewed_product"> 1353 if (item == null) { 1354 var _learnq = _learnq || []; 1355 1356 var MetafieldReviews = null 1357 var MetafieldYotpoRating = null 1358 var MetafieldYotpoCount = null 1359 var MetafieldLooxRating = null 1360 var MetafieldLooxCount = null 1361 var okendoProduct = null 1362 var okendoProductReviewCount = null 1363 var okendoProductReviewAverageValue = null 1364 try { 1365 // The following fields are used for Customer Hub recently viewed in order to add reviews. 1366 // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items 1367 MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"5.0"},"rating_count":3}; 1368 MetafieldYotpoRating = null 1369 MetafieldYotpoCount = null 1370 MetafieldLooxRating = null 1371 MetafieldLooxCount = null 1372 1373 okendoProduct = null 1374 // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data 1375 if (okendoProduct && 'error' in okendoProduct) { 1376 okendoProduct = null 1377 } 1378 okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null 1379 okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null 1380 } catch (error) { 1381 console.error('Error in Klaviyo onsite reviews tracking:', error); 1382 } 1383 1384 var item = { 1385 Name: "Spirulina Powder", 1386 ProductID: 10891861033298, 1387 Categories: ["Homepage"], 1388 ImageURL: "https://chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53_grande.png?v=1784019126", 1389 URL: "https://chalespirulina.com/products/spirulina-powder-30-days", 1390 Brand: "Mijn winkel", 1391 Price: "â¬19,99", 1392 Value: "19,99", 1393 CompareAtPrice: "â¬0,00" 1394 }; 1395 _learnq.push(['track', 'Viewed Product', item]); 1396 _learnq.push(['trackViewedItem', { 1397 Title: item.Name, 1398 ItemId: item.ProductID, 1399 Categories: item.Categories, 1400 ImageUrl: item.ImageURL, 1401 Url: item.URL, 1402 Metadata: { 1403 Brand: item.Brand, 1404 Price: item.Price, 1405 Value: item.Value, 1406 CompareAtPrice: item.CompareAtPrice 1407 }, 1408 metafields:{ 1409 reviews: MetafieldReviews, 1410 yotpo:{ 1411 rating: MetafieldYotpoRating, 1412 count: MetafieldYotpoCount, 1413 }, 1414 loox:{ 1415 rating: MetafieldLooxRating, 1416 count: MetafieldLooxCount, 1417 }, 1418 okendo: { 1419 rating: okendoProductReviewAverageValue, 1420 count: okendoProductReviewCount, 1421 } 1422 } 1423 }]); 1424 } 1425 </script>
1425 1426 1427 1428 1429 1430 1431
1431<script> 1432 window.klaviyoReviewsProductDesignMode = false 1433 </script>
1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 1444 1445 1446 1447 1448 1449 1450 1451<link rel="dns-prefetch" href="https://cdn.judge.me"> 1452<link rel="dns-prefetch" href="https://cdn1.judge.me"> 1453<link rel="dns-prefetch" href="https://api.judge.me"> 1454
1455<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"Geen beoordelingen","badge_n_reviews_text":"{{ n }} beoordeling/beoordelingen","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Client Experiences","widget_open_form_text":"Tell us about your experience with Chalé","widget_close_form_text":"Beoordeling annuleren","widget_refresh_page_text":"Pagina vernieuwen","widget_summary_text":"Gebaseerd op {{ number_of_reviews }} beoordeling/beoordelingen","widget_no_review_text":"Wees de eerste om een beoordeling te schrijven","widget_name_field_text":"Weergavenaam","widget_verified_name_field_text":"Geverifieerde naam (openbaar)","widget_name_placeholder_text":"Weergavenaam","widget_required_field_error_text":"Dit veld is verplicht.","widget_email_field_text":"E-mailadres","widget_verified_email_field_text":"Geverifieerde e-mail (privé, kan niet worden bewerkt)","widget_email_placeholder_text":"Je e-mailadres","widget_email_field_error_text":"Voer een geldig e-mailadres in.","widget_rating_field_text":"Beoordeling","widget_review_title_field_text":"Titel beoordeling","widget_review_title_placeholder_text":"Geef je beoordeling een titel","widget_review_body_field_text":"Beoordeling inhoud","widget_review_body_placeholder_text":"Begin hier met schrijven...","widget_pictures_field_text":"Foto/Video (optioneel)","widget_submit_review_text":"Beoordeling indienen","widget_submit_verified_review_text":"Geverifieerde beoordeling indienen","widget_submit_success_msg_with_auto_publish":"Dank je wel! Vernieuw de pagina over een paar momenten om je beoordeling te zien. Je kunt je beoordeling verwijderen of bewerken door in te loggen bij \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Dank je wel! Je beoordeling wordt gepubliceerd zodra deze is goedgekeurd door de winkelbeheerder. Je kunt je beoordeling verwijderen of bewerken door in te loggen bij \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"{{ n_reviews_shown }} van de {{ n_reviews }} beoordelingen worden getoond.","widget_show_all_link_text":"Toon alles","widget_show_less_link_text":"Toon minder","widget_author_said_text":"{{ reviewer_name }} zei:","widget_days_text":"{{ n }} dagen geleden","widget_weeks_text":"{{ n }} week/weken geleden","widget_months_text":"{{ n }} maand/maanden geleden","widget_years_text":"{{ n }} jaar/jaren geleden","widget_yesterday_text":"Gisteren","widget_today_text":"Vandaag","widget_replied_text":"\u003e\u003e {{ shop_name }} antwoordde:","widget_read_more_text":"Lees meer","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"Bekijk alle beoordelingen","widget_sorting_most_recent_text":"Meest recent","widget_sorting_highest_rating_text":"Hoogste beoordeling","widget_sorting_lowest_rating_text":"Laagste beoordeling","widget_sorting_with_pictures_text":"Alleen foto's","widget_sorting_most_helpful_text":"Meest nuttig","widget_open_question_form_text":"Stel een vraag","widget_reviews_subtab_text":"Beoordelingen","widget_questions_subtab_text":"Vragen","widget_question_label_text":"Vraag","widget_answer_label_text":"Antwoord","widget_question_placeholder_text":"Schrijf hier je vraag","widget_submit_question_text":"Vraag indienen","widget_question_submit_success_text":"Bedankt voor je vraag! We zullen je op de hoogte stellen zodra deze is beantwoord.","verified_badge_text":"Geverifieerd","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(buiten de winkel)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"over","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Productbeoordelingen","widget_shop_reviews_subtab_text":"Winkelbeoordelingen","widget_other_products_reviews_text":"Beoordelingen voor andere producten","widget_store_reviews_subtab_text":"Winkelbeoordelingen","widget_product_variant_reference_text":"Beoordeling voor","widget_no_store_reviews_text":"Deze winkel heeft nog geen beoordelingen","widget_web_restriction_product_reviews_text":"Dit product heeft nog geen beoordelingen","widget_no_items_text":"Geen items gevonden","widget_show_more_text":"Toon meer","widget_write_a_store_review_text":"Schrijf een winkelbeoordeling","widget_product_and_store_reviews_text":"Product- en winkelbeoordelingen","widget_reviews_in_collection_text":"Beoordelingen in deze collectie","widget_other_languages_heading":"Beoordelingen in andere talen","widget_translate_review_text":"Vertaal beoordeling naar {{ language }}","widget_translating_review_text":"Bezig met vertalen...","widget_show_original_translation_text":"Toon origineel ({{ language }}
1455)","widget_translate_review_failed_text":"Beoordeling kon niet worden vertaald.","widget_translate_review_retry_text":"Opnieuw proberen","widget_translate_review_try_again_later_text":"Probeer het later opnieuw","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Foto's eerst","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Beoordelingen","floating_tab_title":"Laat klanten voor ons spreken","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Klanten beoordelen ons met {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 op basis van {{ shop.metafields.judgeme.all_reviews_count }} beoordelingen.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} van de 5 sterren op basis van {{ shop.metafields.judgeme.all_reviews_count }} beoordelingen","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Laat klanten voor ons spreken","testimonials_carousel_title":"Klanten beoordelen ons","videos_carousel_title":"Echte klantervaringen","cards_carousel_title":"Klanten beoordelen ons","featured_carousel_count_text":"uit {{ n }} beoordelingen","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Video's eerst","widget_review_pending_text":"In afwachting","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"Geen vragen","preview_badge_n_question_text":"{{ number_of_questions }} vraag/vragen","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Zoeken","widget_sorting_verified_only_text":"Alleen geverifieerd","widget_sorting_most_relevant_text":"Meest relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Meer beoordelingen lezen","featured_carousel_view_product_button_text":"Product bekijken","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Meer beoordelingen laden","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"openbaar weergegeven als","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anoniem","medals_widget_title":"Judge.me Beoordelingsmedailles","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Geen YouTube video URL","widget_max_length_field_error_text":"Voer niet meer dan {0} tekens in.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Geverifieerd door winkel","widget_show_photo_gallery":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Door ons gemaakt, door jou gedeeld","widget_ugc_subt
1455itle":"Tag ons om je afbeelding op onze pagina te zien","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Nu kopen","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Meer laden","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"Beoordelingen bekijken","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#108474","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} van de 5","widget_media_grid_title":"Klantfoto's \u0026 -video's","widget_media_grid_see_more_text":"Meer bekijken","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Geverifieerd door Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Geverifieerd door Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we kunnen slechts {{ max_media }} voor één beoordeling accepteren.","widget_media_field_exceed_limit_message":"{{ file_name }} is te groot, selecteer een {{ media_type }} kleiner dan {{ size_limit }}MB.","widget_review_submitted_text":"Beoordeling ingediend!","widget_question_submitted_text":"Vraag ingediend!","widget_close_form_text_question":"Annuleren","widget_write_your_answer_here_text":"Schrijf je antwoord hier","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"verzameld door Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Meer laden","widget_load_more_color":"#108474","widget_full_review_text":"Volledige beoordeling","widget_read_more_reviews_text":"Meer beoordelingen lezen","widget_read_questions_text":"Vragen lezen","widget_questions_and_answers_text":"Vragen \u0026 antwoorden","widget_verified_by_text":"Geverifieerd door","widget_verified_text":"Geverifieerd","widget_number_of_reviews_text":"{{ number_of_reviews }} beoordelingen","widget_back_button_text":"Terug","widget_next_button_text":"Volgende","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"Hoe worden beoordelingen verzameld?","widget_show_review_keywords":false,"widget_gdpr_statement":"Hoe we je gegevens gebruiken: We nemen alleen contact met je op over de beoordeling die je hebt achtergelaten, en alleen indien nodig. Door je beoordeling in te dienen, ga je akkoord met Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003evoorwaarden\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e en \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003einhoud\u003c/a\u003e beleid.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"popup_widget_source_mode":"auto","popup_widget_page_product":"current_product","popup_widget_page_collection":"current_collection","popup_widget_page_cart":"cart_mode","popup_widget_page_home":"all","popup_widget_star_rating":"all","popup_widget_review_type":"all","popup_widget_top_up_thin_pages":true,"popup_widget_corner_styling":"soft","review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Klanten zeggen","widget_ai_summary_disclaimer":"Samengevat en geselecteerd door AI uit recente klantbeoordelingen","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Klanten beoordelen deze winkel","store_summary_widget_button_text":"Bekijk klantbeoordelingen","store_summary_widget_button_theme_text":"Bekijk AI-beoordelingsoverzicht","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#108474","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#108474","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"Hoe zou je dit product beoordelen?","review_content_introduction_text":"We zouden het op prijs stellen als je iets over je ervaring zou willen delen.","store_review_form_title_text":"Hoe zou je deze winkel beoordelen?","store_review_form_introduction_text":"We zouden het op prijs stellen als je iets over je ervaring zou willen delen.","show_review_guidance_text":true,"one_star_review_guidance_text":"Slecht","five_star_review_guidance_text":"Goed","customer_information_screen_title_text":"Over jou","customer_information_introduction_text":"Vertel ons meer over jezelf.","custom_questions_screen_title_text":"Uw ervaring in meer detail","custom_questions_introduction_text":"Hier zijn enkele vragen om ons te helpen uw ervaring beter te begrijpen.","review_submitted_screen_title_text":"Bedankt voor je beoordeling!","review_submitted_screen_thank_you_text":"We verwerken deze en hij zal binnenkort in de winkel verschijnen.","review_submitted_screen_email_verification_text":"Bevestig je e-mail door op de link te klikken die we je net hebben gestuurd. Dit helpt ons om beoordelingen authentiek te houden.","confirm_email_screen_title_text":"Bevestig je e-mail","confirm_email_screen_message_text":"Om beoordelingen authentiek te houden, sturen we je een beveiligde link om je beoordeling te voltooien. Het duurt maar even.","check_email_screen_title_text":"Controleer je e-mail","check_email_screen_message_text":"We hebben je een e-mail gestuurd naar {{ email }}. Klik op de knop in de e-mail om door te gaan.","check_email_screen_resend_message_text":"E-mail opnieuw verzonden!","check_email_resend_hint_text":"Geen e-mail ontvangen? Controleer je spammap of [verstuur de e-mail opnieuw].","verification_email_rate_limit_error_text":"Je hebt de limiet voor beoordelingspogingen voor dit product bereikt. Controleer je inbox of probeer het later opnieuw.","review_submitted_request_store_review_text":"Wilt u uw winkelervaring met ons delen?","review_submitted_review_other_products_text":"Wilt u deze producten beoordelen?","store_review_screen_title_text":"Wil je je ervaring met ons delen?","store_review_introduction_text":"We wa
1455arden je feedback en gebruiken het om te verbeteren. Deel alstublieft enige gedachten of suggesties die je hebt.","reviewer_media_screen_title_picture_text":"Deel een foto","reviewer_media_introduction_picture_text":"Upload een foto om uw recensie te ondersteunen.","reviewer_media_screen_title_video_text":"Deel een video","reviewer_media_introduction_video_text":"Upload een video om uw recensie te ondersteunen.","reviewer_media_screen_title_picture_or_video_text":"Deel een foto of video","reviewer_media_introduction_picture_or_video_text":"Upload een foto of video om uw recensie te ondersteunen.","reviewer_media_youtube_url_text":"Plak hier uw Youtube URL","advanced_settings_next_step_button_text":"Volgende","advanced_settings_close_review_button_text":"Sluiten","modal_write_review_flow":true,"write_review_flow_required_text":"Verplicht","write_review_flow_privacy_message_text":"We respecteren uw privacy.","write_review_flow_anonymous_text":"Anonieme beoordeling","write_review_flow_visibility_text":"Dit zal niet zichtbaar zijn voor andere klanten.","write_review_flow_multiple_selection_help_text":"Selecteer zoveel als je wilt","write_review_flow_single_selection_help_text":"Selecteer één optie","write_review_flow_required_field_error_text":"Dit veld is verplicht","write_review_flow_invalid_email_error_text":"Voer een geldig e-mailadres in","write_review_flow_max_length_error_text":"Max. {{ max_length }} tekens.","write_review_flow_media_upload_text":"\u003cb\u003eKlik om te uploaden\u003c/b\u003e of sleep en zet neer","write_review_flow_gdpr_statement":"We nemen alleen contact met u op over uw beoordeling indien nodig. Door uw beoordeling in te dienen, gaat u akkoord met onze \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003ealgemene voorwaarden\u003c/a\u003e en \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacybeleid\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Vertel ons meer","negative_review_resolution_text":"Je ervaring is belangrijk voor ons. Als er problemen waren met je aankoop, staan we klaar om te helpen. Aarzel niet om contact met ons op te nemen, we zouden graag de gelegenheid hebben om dingen recht te zetten.","negative_review_resolution_button_text":"Neem contact op","negative_review_resolution_proceed_with_review_text":"Laat een beoordeling achter","negative_review_resolution_subject":"Probleem met aankoop van {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Schrijf een beoordeling en ontvang een kortingsbon van {{ amount }} op uw volgende aankoop","coupon_promo_intro_with_photo_text":"Schrijf een beoordeling en voeg een foto of video toe om een kortingsbon van {{ amount }} op uw volgende aankoop te ontvangen","coupon_promo_intro_with_video_text":"Schrijf een beoordeling en voeg een video toe om een kortingsbon van {{ amount }} op uw volgende aankoop te ontvangen","coupon_promo_intro_up_to_any_review_text":"Schrijf een beoordeling en ontvang een kortingsbon tot {{ amount }} op uw volgende aankoop","coupon_promo_intro_up_to_with_photo_text":"Schrijf een beoordeling en voeg een foto of video toe om een kortingsbon tot {{ amount }} op uw volgende aankoop te ontvangen","coupon_promo_intro_external_text":"Schrijf een beoordeling en ontvang een beloning voor uw volgende aankoop","coupon_promo_intro_external_with_photo_text":"Schrijf een beoordeling en voeg een foto of video toe om een beloning voor uw volgende aankoop te ontvangen","coupon_promo_intro_external_with_video_text":"Schrijf een beoordeling en voeg een video toe om een beloning voor uw volgende aankoop te ontvangen","coupon_promo_media_photo_text":"Voeg een foto of video toe en ontvang een kortingsbon van {{ amount }} op uw volgende aankoop","coupon_promo_media_photo_only_text":"Voeg een foto toe en ontvang een kortingsbon van {{ amount }} op uw volgende aankoop","coupon_promo_media_video_text":"Voeg een video toe en ontvang een kortingsbon van {{ amount }} op uw volgende aankoop","coupon_promo_media_external_photo_text":"Voeg een foto of video toe en ontvang een beloning voor uw volgende aankoop","coupon_promo_media_external_photo_only_text":"Voeg een foto toe en ontvang een beloning voor uw volgende aankoop","coupon_promo_media_external_video_text":"Voeg een video toe en ontvang een beloning voor uw volgende aankoop","coupon_promo_success_text":"U heeft een kortingsbon ontvangen voor uw volgende aankoop bij {{ shop_name }}!","coupon_promo_success_subtext":"U ontvangt uw kortingsbon per e-mail binnen een uur.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Beoordelingen verzameld via winkelinvitatie","transparency_badges_from_another_provider_text":"Beoordelingen verzameld van een andere dienst","transparency_badges_collected_from_store_visitor_text":"Beoordelingen verzameld van een winkelbezoeker","transparency_badges_written_in_google_text":"Beoordeling geschreven in Google","transparency_badges_written_in_etsy_text":"Beoordeling geschreven in Etsy","transparency_badges_written_in_shop_app_text":"Beoordeling geschreven in Shop App","transparency_badges_earned_reward_text":"Beoordeling heeft een beloning voor een toekomstige bestelling gewonnen","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Winkelbeoordeling","widget_cart_mode_aggregate_heading_text":"Klanten beoordelen deze winkel","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-07-11T11:58:33.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"Testimonials","review_widget_review_word_plural"
1455:"Testimonials","review_widget_voting_label":"Nuttig?","review_widget_shop_reply_label":"Antwoord van {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Beoordeling","review_widget_filter_keyword_title":"Trefwoord","review_widget_clear_filters_text":"Filters wissen","review_widget_expand_more_text":"Meer","review_widget_review_highlights_title":"Hoogtepunten van beoordelingen","qna_widget_question_word_singular":"Vraag","qna_widget_question_word_plural":"Vragen","qna_widget_answer_reply_label":"Antwoord van {{ answerer_name }}:","qna_content_screen_title_text":"Vraag over dit product","qna_widget_question_required_field_error_text":"Vraag een vraag in.","qna_widget_flow_gdpr_statement":"We zullen je alleen contacteren over je vraag als dat nodig is. Door je vraag in te dienen, ga je akkoord met onze \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003evoorwaarden\u003c/a\u003e en \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacybeleid\u003c/a\u003e.","qna_widget_question_submitted_text":"Bedankt voor je vraag!","qna_widget_close_form_text_question":"Sluiten","qna_widget_question_submit_success_text":"We zullen je informeren via e-mail wanneer we je vraag beantwoorden.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Klantbeoordelingen","all_reviews_widget_v2025_ai_summary_title":"Klanten zeggen over deze winkel","all_reviews_widget_v2025_no_review_text":"Wees de eerste om een beoordeling te schrijven","all_reviews_widget_v2025_review_highlights_title":"Hoogtepunten van beoordelingen","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"Van onze klanten","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Aangedreven door Judge.me","locale":"en","reply_name":"Chalé Spirulina","shop_currency":"EUR","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"nl","enable_multi_locales_translations":false,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
1455shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":false,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Chalé Spirulina"};</script>
1455 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #108474;--jdgm-secondary-color: rgba(16,132,116,0.1);--jdgm-star-color: #108474;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #108474;--jdgm-paginate-color: #108474;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #108474}.jdgm-histogram__bar-content{background-color:#108474}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#108474}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"Meer bekijken"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"Meer bekijken"}}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'over'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(buiten de winkel)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #108474;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#108474}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Chalé Spirulina'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 1456</style> <style class='jdgm-settings-style'></style> 1457 1458 1459 1460 1461 <style class='jdgm-miracle-styles'> 1462 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
1462/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 1463 1464</style> 1465 1466 1467 1468 1469 1470 1471 1472 1473
1474<script data-cfasync='false' class='jdgm-script'> 1475!function(e){window.jdgm=window.jdgm||{}; 1476/* INF-1976 */ 1477var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 1478if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 1479jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 1480jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 1481setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 1482!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 1483(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 1484a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 1485jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 1486t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 1487t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 1488".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 1489parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 1490jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 1491)}))}(document); 1492</script>
1492 1493<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/shopify_v2.css"></noscript> 1494 1495<!-- BEGIN app snippet: theme_fix_tags -->
1495<script> 1496 (function() { 1497 var jdgmThemeFixes = null; 1498 if (!jdgmThemeFixes) return; 1499 1500 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 1501 // before the per-theme fix so the theme-specific CSS wins the cascade. 1502 // HTML is never applied globally (too risky). 1503 var allThemesFix = jdgmThemeFixes['all']; 1504 if (allThemesFix && allThemesFix.css) { 1505 var allStyleTag = document.createElement('style'); 1506 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 1507 allStyleTag.innerHTML = allThemesFix.css; 1508 document.head.append(allStyleTag); 1509 }; 1510 1511 if (allThemesFix && allThemesFix.js) { 1512 var allScriptTag = document.createElement('script'); 1513 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 1514 allScriptTag.innerHTML = allThemesFix.js; 1515 document.head.append(allScriptTag); 1516 }; 1517 1518 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 1519 if (!thisThemeFix) return; 1520 1521 if (thisThemeFix.html) { 1522 document.addEventListener("DOMContentLoaded", function() { 1523 var htmlDiv = document.createElement('div'); 1524 htmlDiv.classList.add('jdgm-theme-fix-html'); 1525 htmlDiv.innerHTML = thisThemeFix.html; 1526 document.body.append(htmlDiv); 1527 }); 1528 }; 1529 1530 if (thisThemeFix.css) { 1531 var styleTag = document.createElement('style'); 1532 styleTag.classList.add('jdgm-theme-fix-style'); 1533 styleTag.innerHTML = thisThemeFix.css; 1534 document.head.append(styleTag); 1535 }; 1536 1537 if (thisThemeFix.js) { 1538 var scriptTag = document.createElement('script'); 1539 scriptTag.classList.add('jdgm-theme-fix-script'); 1540 scriptTag.innerHTML = thisThemeFix.js; 1541 document.head.append(scriptTag); 1542 }; 1543 })(); 1544</script>
1544 1545<!-- END app snippet --> 1546<!-- End of Judge.me Core --> 1547 1548 1549 1550<!-- END app block --><!-- BEGIN app block: shopify://apps/instafeed/blocks/head-block/c447db20-095d-4a10-9725-b5977662c9d5 --><!-- BEGIN app snippet: storefront-script --> 1551 1552 1553 1554
1554<script src="https://cdn.nfcube.com/instafeed-5e181e5f63ed4756451c4ae5c4bf86fe.js" defer></script>
1554 1555 1556 1557<!-- END app snippet --> 1558 1559 1560 1561 1562<!-- END app block -->
1562<script src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1562
1562
1563<script src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/carousels.js" type="text/javascript" defer="defer"></script>
1563 1564<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1565<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 108671566162,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1565
1565
1566<script> 1567 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1568</script>
vendor: 1 bytes, line 1568
1568
1569<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1569).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 108671566162,storefrontBaseUrl: "https://chalespirulina.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://chalespirulina.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"5382963538","configuration":"{\"accountID\":\"VVxc3n\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"5201002834","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1569,"dataSharingState":"unrestricted"},{"id":"5200904530","configuration":"{\"endpoint\":\"https:\\\/\\\/api.parcelwill.com\",\"debugMode\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"97b5be1756c17e4819e71893a005b595","type":"APP","apiClientId":2681387,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Chalé Spirulina","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"cc5ii1-qg.myshopify.com","countryCode":"NL","storefrontUrl":"https:\/\/chalespirulina.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":19.99,"currencyCode":"EUR"},"product":{"title":"Spirulina Powder","vendor":"Mijn winkel","id":"10891861033298","untranslatedTitle":"Spirulina Powder","url":"\/products\/spirulina-powder-30-days","type":""},"id":"53828582408530","image":{"src":"\/\/chalespirulina.com\/cdn\/shop\/files\/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"10891861033298","handle":"spirulina-powder-30-days","isCollective":null,"title":"Spirulina Powder","type":null,"untranslatedTitle":"Spirulina Powder","url":"\/products\/spirulina-powder-30-days","vendor":"Mijn winkel","remoteShopId":null,"variants":[{"id":"53828582408530","image":{"src":"\/\/chalespirulina.com\/cdn\/shop\/files\/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126"},"price":{"amount":19.99,"currencyCode":"EUR"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"11023260057938","handle":"spirulina-powder-1-5kg-bulk","isCollective":null,"title":"Spirulina powder 1.5kg BULK","type":null,"untranslatedTitle":"Spirulina powder 1.5kg BULK","url":"\/products\/spirulina-powder-1-5kg-bulk","vendor":"Chalé Spirulina","remoteShopId":null,"variants":[{"id":"54244082680146","image":null,"price":{"amount":0.0,"currencyCode":"EUR"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10891863556434","handle":"spirulina-sprinkles-30-days","isCollective":null,"title":"Spirulina Sprinkles","type":null,"untranslatedTitle":"Spirulina Sprinkles","url":"\/products\/spirulina-sprinkles-30-days","vendor":"Mijn winkel","remoteShopId":null,"variants":[{"id":"53828589715794","image":{"src":"\/\/chalespirulina.com\/cdn\/shop\/files\/hf_20260714_084110_f032e4ff-ea78-49b8-b522-6201aa03bfaf_1.png?v=1784019127"},"price":{"amount":19.99,"currencyCode":"EUR"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"11023259828562","handle":"spirulina-sprinkles-1-5kg-bulk","isCollective":null,"title":"Spirulina sprinkles 1.5kg BULK","type":null,"untranslatedTitle":"Spirulina sprinkles 1.5kg BULK","url":"\/products\/spirulina-sprinkles-1-5kg-bulk","vendor":"Chalé Spirulina","remoteShopId":null,"variants":[{"id":"54244081959250","image":null,"price":{"amount":0.0,"currencyCode":"EUR"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://chalespirulina.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"202851483986","themeStoreId":"2481","themePublished":"true","eventMetadataId":"cea13ac6-2de6-4823-b6c6-b70987f81731","pageType":"product","resourceId":"10891861033298","shopId":"108671566162","storefrontBaseUrl":"https:\/\/chalespirulina.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":19.99,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Spirulina Powder\",\"vendor\":\"Mijn winkel\",\"id\":\"10891861033298\",\"untranslatedTitle\":\"Spirulina Powder\",\"url\":\"\/products\/spirulina-powder-30-days\",\"type\":\"\"},\"id\":\"53828582408530\",\"image\":{\"src\":\"\/\/chalespirulina.com\/cdn\/shop\/files\/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126\"},\"sku\":null,\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
1569<script> 1570 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1571 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1572 window.ShopifyAnalytics.meta.currency = 'EUR'; 1573 var meta = {"product":{"id":10891861033298,"gid":"gid:\/\/shopify\/Product\/10891861033298","vendor":"Mijn winkel","type":"","handle":"spirulina-powder-30-days","variants":[{"id":53828582408530,"price":1999,"name":"Spirulina Powder","public_title":null,"sku":null}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10891861033298,"requestId":"80059c37-6cef-4197-8c2d-24187fedbd39-1791349658"}}; 1574 for (var attr in meta) { 1575 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1576 } 1577</script>
vendor: 1 bytes, line 1577
1577
1578<script class="analytics"> 1579 (function () { 1580 var customDocumentWrite = function(content) { 1581 var jquery = null; 1582 1583 if (window.jQuery) { 1584 jquery = window.jQuery; 1585 } else if (window.Checkout && window.Checkout.$) { 1586 jquery = window.Checkout.$; 1587 } 1588 1589 if (jquery) { 1590 jquery('body').append(content); 1591 } 1592 }; 1593 1594 var hasLoggedConversion = function(token) { 1595 if (token) { 1596 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1597 } 1598 return false; 1599 } 1600 1601 var setCookieIfConversion = function(token) { 1602 if (token) { 1603 var twoMonthsFromNow = new Date(Date.now()); 1604 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1605 1606 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1607 } 1608 } 1609 1610 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1611 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1612 if (trekkie.integrations) { 1613 return; 1614 } 1615 trekkie.methods = [ 1616 'identify', 1617 'page', 1618 'ready', 1619 'track', 1620 'trackForm', 1621 'trackLink' 1622 ]; 1623 trekkie.factory = function(method) { 1624 return function() { 1625 var args = Array.prototype.slice.call(arguments); 1626 args.unshift(method); 1627 trekkie.push(args); 1628 if (method == 'track' || method == 'page') { 1629 var pageUrl; 1630 try { 1631 pageUrl = window.location.href; 1632 } catch (e) {} 1633 var pageReferrer; 1634 try { 1635 pageReferrer = document.referrer; 1636 } catch (e) {} 1637 try { 1638 if (window.__TREKKIE_SHIM_QUEUE == null) { 1639 window.__TREKKIE_SHIM_QUEUE = []; 1640 } 1641 window.__TREKKIE_SHIM_QUEUE.push({ 1642 from: 'trekkie-stub', 1643 method: method, 1644 args: args.slice(1), 1645 pageContext: { 1646 url: pageUrl, 1647 referrer: pageReferrer 1648 } 1649 }); 1650 } catch (e) { 1651 // no-op 1652 } 1653 } 1654 return trekkie; 1655 }; 1656 }; 1657 for (var i = 0; i < trekkie.methods.length; i++) { 1658 var key = trekkie.methods[i]; 1659 trekkie[key] = trekkie.factory(key); 1660 } 1661 trekkie.load = function(config) { 1662 trekkie.config = config || {}; 1663 trekkie.config.initialDocumentCookie = document.cookie; 1664 var first = document.getElementsByTagName('script')[0]; 1665var script = document.createElement('script'); 1666script.type = 'text/javascript'; 1667script.onerror = function(e) { 1668 var scriptFallback = document.createElement('script'); 1669 scriptFallback.type = 'text/javascript'; 1670 scriptFallback.onerror = function(error) { 1671 var Monorail = { 1672 produce: function produce(monorailDomain, schemaId, payload) { 1673 var currentMs = new Date().getTime(); 1674 var event = { 1675 schema_id: schemaId, 1676 payload: payload, 1677 metadata: { 1678 event_created_at_ms: currentMs, 1679 event_sent_at_ms: currentMs 1680 } 1681 }; 1682 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1683 }, 1684 sendRequest: function sendRequest(endpointUrl, payload) { 1685 // Try the sendBeacon API 1686 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1687 var blobData = new window.Blob([payload], { 1688 type: 'text/plain' 1689 }); 1690 1691 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1692 return true; 1693 } // sendBeacon was not successful 1694 1695 } // XHR beacon 1696 1697 var xhr = new XMLHttpRequest(); 1698 1699 try { 1700 xhr.open('POST', endpointUrl); 1701 xhr.setRequestHeader('Content-Type', 'text/plain'); 1702 xhr.send(payload); 1703 } catch (e) { 1704 console.log(e); 1705 } 1706 1707 return false; 1708 }, 1709 isIos12: function isIos12() { 1710 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1711 } 1712 }; 1713 Monorail.produce('monorail-edge.shopifysvc.com', 1714 'trekkie_storefront_load_errors/1.1', 1715 {shop_id: 108671566162, 1716 theme_id: 202851483986, 1717 app_name: "storefront", 1718 context_url: window.location.href, 1719 source_url: "//chalespirulina.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1720 1721 }; 1722 scriptFallback.async = true; 1723 scriptFallback.src = '//chalespirulina.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1724 first.parentNode.insertBefore(scriptFallback, first); 1725}; 1726script.async = true; 1727script.src = '//chalespirulina.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1728first.parentNode.insertBefore(script, first); 1729 1730 }; 1731 trekkie.load( 1732 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":108671566162,"isMerchantRequest":null,"themeId":202851483986,"themeCityHash":"13893588234195520372","contentLanguage":"en","currency":"EUR","eventMetadataId":"cea13ac6-2de6-4823-b6c6-b70987f81731"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1733 ); 1734 1735 var loaded = false;
1736 trekkie.ready(function() { 1737 if (loaded) return; 1738 loaded = true; 1739 1740 window.ShopifyAnalytics.lib = window.trekkie; 1741 1742 var originalDocumentWrite = document.write; 1743 document.write = customDocumentWrite; 1744 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1745 document.write = originalDocumentWrite; 1746 1747 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1748 var token = match? match[1]: undefined; 1749 if (!hasLoggedConversion(token)) { 1750 setCookieIfConversion(token); 1751 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"EUR","variantId":53828582408530,"productId":10891861033298,"productGid":"gid:\/\/shopify\/Product\/10891861033298","name":"Spirulina Powder","price":"19.99","sku":null,"brand":"Mijn winkel","variant":null,"category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1752 } 1753 }); 1754 1755 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10891861033298,"requestId":"80059c37-6cef-4197-8c2d-24187fedbd39-1791349658","shopifyEmitted":true}); 1756 1757 var eventsListenerScript = document.createElement('script'); 1758 eventsListenerScript.async = true; 1759 eventsListenerScript.src = "//chalespirulina.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1760 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1761})();</script>
vendor: 1 bytes, line 1761
1761
1762<script 1763 defer 1764 src="https://chalespirulina.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 1765 data-application="storefront-renderer" 1766 data-shop-id="108671566162" 1767 data-render-region="gcp-us-west1" 1768 data-page-type="product" 1769 data-theme-instance-id="202851483986" 1770 data-theme-name="Horizon" 1771 data-theme-version="4.1.0" 1772 data-monorail-region="shop_domain" 1773 data-resource-timing-sampling-rate="10" 1774 data-shs="true" 1775 data-shs-beacon="true" 1776 data-shs-export-with-fetch="true" 1777 data-shs-logs-sample-rate="1" 1778 data-shs-beacon-endpoint="https://chalespirulina.com/api/collect" 1779></script>
1779 1780<meta name="shopify-y" content="11a637dc-26aa-4890-9542-4d974b829bcd" data-expiration="1822907259000"><meta name="shopify-s" content="c68786b4-eb5e-4de6-875b-c3ab5a55975b" data-expiration="1791351459000"><meta name="new-cookie-storage-activated" content="t"> 1781</head> 1782 1783 <body class="page-width-narrow card-hover-effect-none"> 1784 <a 1785 class="skip-to-content-link button-secondary" 1786 href="#MainContent" 1787> 1788 Skip to content 1789</a> 1790 1791 1792 1793 1794 1795 1796<theme-drawer id="chat-drawer"> 1797 <dialog 1798 ref="panel" 1799 class="theme-drawer__dialog chat-drawer" 1800 > 1801 <shopify-chat 1802 mode="standalone" 1803 mode-switch 1804 ></shopify-chat> 1805 </dialog> 1806</theme-drawer> 1807
1808<script type="module"> 1809 const chatDrawer = document.querySelector('#chat-drawer'); 1810 const shopifyChat = document.querySelector('shopify-chat'); 1811 1812 document.addEventListener('theme-drawer:open', (event) => { 1813 if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return; 1814 shopifyChat?.setAttribute('mode', 'managed'); 1815 }); 1816 1817 document.addEventListener('theme-drawer:close', (event) => { 1818 if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return; 1819 // If mode is still managed, this is a theme-initiated close (backdrop / 1820 // Escape) â close the chat so the FAB appears. If mode is already 1821 // standalone, the close was triggered by an undock (enter-standalone sets 1822 // mode before closing the drawer) â leave the chat open as a floating panel. 1823 if (shopifyChat?.getAttribute('mode') === 'managed') { 1824 shopifyChat?.removeAttribute('open'); 1825 } 1826 shopifyChat?.setAttribute('mode', 'standalone'); 1827 }); 1828 1829 document.addEventListener('shopify-chat:enter-managed', () => { 1830 // Captured at event-fire time â the dock-transition animation hint below 1831 // depends on state as it was when the event was dispatched. 1832 const isStandaloneAndOpen = shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone'; 1833 1834 // The activator-click path (FAB click on desktop with stored 1835 // preferredMode=managed) dispatches enter-managed *before* calling show(), 1836 // so the chat's `open` attribute at event time understates the imminent 1837 // outcome. Defer to a microtask: by then show() (if any) has run, and we 1838 // can distinguish the viewport-driven mobileâdesktop transition that left 1839 // a minimized FAB (chat stays closed â don't open an empty drawer) from 1840 // an activator click (chat just opened â open the drawer). 1841 queueMicrotask(() => { 1842 if (!shopifyChat?.hasAttribute('open') && !chatDrawer?.hasAttribute('open')) { 1843 return; 1844 } 1845 chatDrawer?.open?.(isStandaloneAndOpen ? { enter: 'inline-start' } : undefined); 1846 }); 1847 }); 1848 1849 document.addEventListener('shopify-chat:enter-standalone', () => { 1850 shopifyChat?.setAttribute('mode', 'standalone'); 1851 chatDrawer?.close?.(); 1852 }); 1853 1854 document.addEventListener('shopify-chat:close', () => { 1855 if (shopifyChat?.getAttribute('mode') === 'managed') { 1856 chatDrawer?.close?.(); 1857 } 1858 }); 1859 1860 document.addEventListener('megaMenu:hover', () => { 1861 if (shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone') { 1862 shopifyChat?.removeAttribute('open'); 1863 } 1864 }); 1865 1866 // After the chat upgrades it self-restores its preferred mode from 1867 // sessionStorage. Reconcile any mismatch with the theme-drawer's state 1868 // â the drawer is the source of truth for which mode the chat should 1869 // be in (open â managed, closed â standalone). 1870 customElements.whenDefined('shopify-chat').then(() => { 1871 const mode = chatDrawer?.hasAttribute('open') ? 'managed' : 'standalone'; 1872 if (shopifyChat?.getAttribute('mode') !== mode) { 1873 // When switching managed â standalone (e.g. narrow viewport skipped 1874 // drawer restore), also close the chat so it renders as the FAB 1875 // rather than an open standalone panel. 1876 if (mode === 'standalone' && shopifyChat?.hasAttribute('open')) { 1877 shopifyChat?.removeAttribute('open'); 1878 } 1879 shopifyChat?.setAttribute('mode', mode); 1880 } 1881 }); 1882</script>
1882 1883 1884 1885 1886 1887 <div class="page-wrapper"> 1888 <div id="header-group"> 1889 <!-- BEGIN sections: header-group --> 1890<section id="shopify-section-sections--30757658329426__chale_header" class="shopify-section shopify-section-group-header-group"><div class="chale chale-headwrap"><div class="chale-ann">The purest spirulina out there · Free NL shipping · Ordered before 3pm, delivered tomorrow</div><header class="chale-head" id="chaleHead" data-home="false"> 1891 <div class="wrap chale-head__bar"> 1892 <button class="chale-burger" id="chaleBurger" aria-label="Open menu"><span></span><span></span><span></span></button> 1893 <div class="chale-logo-wrap"> 1894 <a href="/" class="chale-logo" aria-label="Chalé Spirulina"> 1895 <img class="chale-logo--dark" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-logo-dark.png?v=54313209543978198921782453581" alt="Chalé Spirulina" width="150"> 1896 <img class="chale-logo--mint" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-logo-mint.png?v=113008337858585790851782453579" alt="Chalé Spirulina" width="150"> 1897 </a> 1898 <img class="chale-bcorp" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-bcorp.png?v=151182932329657846131782740689" alt="Certified B Corporation" width="404" height="680" loading="eager"> 1899 </div> 1900 <nav class="chale-nav"><a href="/collections/all" >Products</a><a href="/pages/impact" >Impact</a><a href="/pages/team" >People</a><a href="/pages/recipes" >Recipes</a><a href="/pages/contact" >Contact</a></nav> 1901 <div class="chale-head__actions"> 1902 <a href="/search" class="chale-iconbtn" aria-label="Search"> 1903 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.2-4.2"/></svg> 1904 </a> 1905 <a href="/account" class="chale-iconbtn" aria-label="Account"> 1906 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 3.6-7 8-7s8 3 8 7"/></svg> 1907 </a><button type="button" id="chaleCart" class="chale-iconbtn chale-cart" aria-haspopup="dialog" aria-controls="cart-drawer" aria-expanded="false" aria-label="Open cart"> 1908 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M3 4h2l2.4 12.3a2 2 0 0 0 2 1.7h7.7a2 2 0 0 0 2-1.6L21 8H6"/><circle cx="10" cy="20" r="1.4"/><circle cx="17" cy="20" r="1.4"/></svg> 1909 <span class="chale-cartcount is-empty">0</span> 1910 </button></div> 1911 </div> 1912 </header>
1913 <div class="chale-mnav" id="chaleMnav"> 1914 <button class="chale-mnav__close" id="chaleMclose" aria-label="Close menu">×</button><a href="/collections/all">Products</a><a href="/pages/impact">Impact</a><a href="/pages/team">People</a><a href="/pages/recipes">Recipes</a><a href="/pages/contact">Contact</a><a class="btn btn-bright" href="/collections/all">Shop spirulina</a> 1915 </div> 1916</div>
1917<script> 1918 (function(){ 1919 var head=document.getElementById('chaleHead'); 1920 if(head && head.dataset.home==='true'){ 1921 var onScroll=function(){head.classList.toggle('scrolled', window.scrollY>60);}; 1922 onScroll(); window.addEventListener('scroll',onScroll,{passive:true}); 1923 } 1924 var mnav=document.getElementById('chaleMnav'); 1925 var b=document.getElementById('chaleBurger'); 1926 var c=document.getElementById('chaleMclose'); 1927 if(b&&mnav){b.addEventListener('click',function(){mnav.classList.add('open');});} 1928 if(c&&mnav){c.addEventListener('click',function(){mnav.classList.remove('open');});} 1929 if(mnav){mnav.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){mnav.classList.remove('open');});});} 1930 /* open the Horizon cart drawer from our custom cart icon */ 1931 var cartBtn=document.getElementById('chaleCart'); 1932 if(cartBtn){cartBtn.addEventListener('click',function(){ 1933 var d=document.getElementById('cart-drawer'); 1934 if(d&&typeof d.toggle==='function'){d.toggle();} 1935 else{window.location.href='/cart';} 1936 });} 1937 })(); 1938</script>
1938 1939 1940</section> 1941<!-- END sections: header-group --> 1942 </div> 1943 1944
1944<script> 1945 // Inline header height and menu style calculations to prevent layout shift 1946 // Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function 1947 (function setHeaderHeighCustomProperties() { 1948 /* 1949 * Header calculation functions for maintaining CSS variables 1950 * Mimic calculateHeaderGroupHeight() in utilities.js 1951 */ 1952 const header = document.querySelector('header-component'); 1953 const headerGroup = document.querySelector('#header-group'); 1954 const hasHeaderSection = headerGroup?.querySelector('.header-section'); 1955 1956 if (!header || !headerGroup) return; 1957 1958 const headerTopRow = header.querySelector('.header__row--top'); 1959 const headerHeight = header.offsetHeight; 1960 1961 // Calculate the total height of the header group 1962 let headerGroupHeight = 0; 1963 const children = headerGroup.children; 1964 for (let i = 0; i < children.length; i++) { 1965 const element = children[i]; 1966 if (element === header || !(element instanceof HTMLElement)) continue; 1967 headerGroupHeight += element.offsetHeight; 1968 } 1969 1970 // Check for transparent header special case 1971 if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) { 1972 headerGroupHeight += headerHeight; 1973 } 1974 1975 // Set CSS variables 1976 document.body.style.setProperty('--header-height', `${headerHeight}px`); 1977 document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`); 1978 1979 if (headerTopRow) { 1980 window.requestAnimationFrame(function () { 1981 document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`); 1982 }); 1983 } 1984 1985 /** 1986 * Updates CSS custom properties for transparent header offset calculation 1987 * Mimic updateTransparentHeaderOffset() in utilities.js 1988 */ 1989 1990 if (!hasHeaderSection || !header?.hasAttribute('transparent')) { 1991 document.body.style.setProperty('--transparent-header-offset-boolean', '0'); 1992 return; 1993 } 1994 1995 const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section'); 1996 1997 const shouldApplyOffset = !hasImmediateSection ? '1' : '0'; 1998 document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset); 1999 })(); 2000 2001 (function setHeaderMenuStyle() { 2002 const headerComponent = document.querySelector('#header-component'); 2003 if (headerComponent) { 2004 const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0; 2005 const overflowList = headerComponent?.querySelector('overflow-list'); 2006 const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached'); 2007 headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu'; 2008 } 2009 })(); 2010 </script>
2010 2011 2012 <main 2013 id="MainContent" 2014 class="content-for-layout" 2015 role="main" 2016 data-page-transition-enabled="false" 2017 data-product-transition="false" 2018 data-template="product" 2019 > 2020 <div id="shopify-section-template--30757663539538__main" class="shopify-section"> 2021
2022<script type="application/ld+json"> 2023 {"@context":"http:\/\/schema.org\/","@id":"\/products\/spirulina-powder-30-days#product","@type":"Product","brand":{"@type":"Brand","name":"Mijn winkel"},"category":"Herbal Supplements","description":"Fuel your body with one of nature's most powerful superfoods. Chalé Spirulina Powder is a 100% pure spirulina supplement, a blue-green microalgae and one of the oldest and most nutrient-dense food sources on earth. Rich in plant-based protein, iron, and essential minerals, it's the clean daily boost your body deserves.\nWhat sets Chalé apart is complete transparency from farm to product. Grown on their own farm in Ghana using Dutch technology, every batch is cultivated in a fully controlled, closed environment, ensuring maximum purity, consistent quality, and zero contamination. No additives. No fillers. Just 100% traceable spirulina.","image":"https:\/\/chalespirulina.com\/cdn\/shop\/files\/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126\u0026width=1920","name":"Spirulina Powder","offers":{"@id":"\/products\/spirulina-powder-30-days?variant=53828582408530#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"19.99","priceCurrency":"EUR","url":"https:\/\/chalespirulina.com\/products\/spirulina-powder-30-days?variant=53828582408530"},"url":"https:\/\/chalespirulina.com\/products\/spirulina-powder-30-days"} 2024</script>
2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 <sticky-add-to-cart 2036 class="sticky-add-to-cart" 2037 data-variant-available="true" 2038 data-product-id="10891861033298" 2039 data-current-variant-id="53828582408530" 2040 data-initial-quantity="1" 2041 data-default-variant-title="Default Title" 2042 > 2043 <div 2044 class="sticky-add-to-cart__bar color-custom-popover" 2045 data-stuck="false" 2046 ref="stickyBar" 2047 role="region" 2048 aria-label="Quick add to cart bar" 2049 > 2050 2051 2052 <div 2053 class="sticky-add-to-cart__image" 2054 > 2055 2056 <img src="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=120" alt="Spirulina Powder" width="120" height="161" loading="lazy" class="sticky-add-to-cart__image-img" data-testid="sticky-product-image" ref="productImage"> 2057 </div> 2058 2059 2060 2061 <div 2062 class="sticky-add-to-cart__info" 2063 data-has-image="true" 2064 data-singleton="true" 2065 data-single-option="false" 2066 > 2067 <p 2068 class="sticky-add-to-cart__title" 2069 data-testid="sticky-product-title" 2070 > 2071 Spirulina Powder 2072 </p> 2073 <div 2074 class="sticky-add-to-cart__variant" 2075 data-testid="sticky-variant-title" 2076 2077 style="display: none;" 2078 2079 > 2080 2081 </div> 2082 </div> 2083 2084 <div 2085 class="sticky-add-to-cart__price" 2086 data-testid="sticky-price-display" 2087 > 2088 <div ref="priceContainer"> 2089 2090 2091 <div 2092 class=" 2093 price__regular 2094 2095 " 2096 > 2097 <span class="price">â¬19,99</span> 2098 </div> 2099 <div 2100 class=" 2101 price__sale 2102 2103 price__hidden 2104 2105 " 2106 > 2107 2108 <span class="price-item__group"> 2109 <span class="visually-hidden">Sale price </span> 2110 <span class="price-item--sale price">â¬19,99</span> 2111 </span> 2112 <span class="price-item__group"> 2113 <span class="visually-hidden">Regular price </span> 2114 <span class="price-item--regular compare-at-price"></span> 2115 </span> 2116 2117 </div> 2118 2119</div> 2120 </div> 2121 2122 <button 2123 type="button" 2124 class="sticky-add-to-cart__button add-to-cart-button button" 2125 ref="addToCartButton" 2126 on:click="/handleAddToCartClick" 2127 2128 > 2129 <span 2130 class="add-to-cart-text" 2131 > 2132 2133 <span class="svg-wrapper"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg> 2134</span> 2135 2136 <span class="add-to-cart-text__content"> 2137 <span>Add to cart</span> 2138 <span 2139 ref="quantityDisplay" 2140 2141 style="display: none;" 2142 2143 > (<span ref="quantityNumber">1</span>)</span> 2144 </span> 2145 </span> 2146 <span class="add-to-cart__added"> 2147 <span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2148 <g class="check"> 2149 <circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 2150 <path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 2151 </g> 2152 <g class="burst"> 2153 <g style="--index: 0;"> 2154 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2155 </g> 2156 <g style="--index: 1;"> 2157 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2158 </g> 2159 <g style="--index: 2;"> 2160 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2161 </g> 2162 <g style="--index: 3;"> 2163 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2164 </g> 2165 <g style="--index: 4;"> 2166 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2167 </g> 2168 <g style="--index: 5;"> 2169 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2170 </g> 2171 <g style="--index: 6;"> 2172 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2173 </g> 2174 <g style="--index: 7;"> 2175 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 2176 </g> 2177 </g> 2178</svg> 2179</span> 2180 </span> 2181 </button> 2182 </div> 2183 </sticky-add-to-cart> 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 <style data-shopify> 2196 .color-custom-template--30757663539538__main, 2197 .color-custom-template--30757663539538__main .text-block {
2198 /* Background */ 2199 --color-background: #ffffff; 2200 --color-background-rgb: 255 255 255; 2201 2202 /* Opacity values adjusted for background brightness */ 2203 2204--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 22050.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 2206 2207 2208 2209 /* Foreground / text â explicit or smart-contrasted */ 2210 --color: #0e2c09; 2211 --color-rgb: 14 44 9; 2212 --color-foreground: #0e2c09; 2213 --color-foreground-rgb: 14 44 9; 2214 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 2215 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 2216 --color-border: var(--palette-darkest); 2217 --color-border-rgb: var(--palette-darkest-rgb); 2218 2219 } 2220 2221 2222 .color-custom-template--30757663539538__main { 2223 /* Form-related tokens stay on .color-custom only â .text-block is a prose 2224 container (text/announcement/inline-text/blog-post-description/ 2225 collection-link/price/sku) and never holds form inputs. */ 2226 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 2227 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 2228 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 2229 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 2230 } 2231 2232 2233 .color-custom-template--30757663539538__main { 2234 color: var(--color, var(--color-foreground)); 2235 background-color: var(--color-background); 2236 } 2237 </style> 2238 2239 2240 2241<div 2242 class="section-background color-custom-template--30757663539538__main" 2243></div> 2244<div 2245 class="product-information section section--page-width spacing-style color-custom-template--30757663539538__main relative" 2246 style="--padding-block-start: 0px;--padding-block-end: 0px; --gap: 48px;" 2247 data-testid="product-information" 2248> 2249 2250 2251 <a 2252 class="skip-to-content-link button-secondary" 2253 href="#ProductInformation-template--30757663539538__main" 2254> 2255 Skip to product information 2256</a> 2257 2258 2259 2260 2261 <product-component 2262 class="product-information__grid product-information--media-left" 2263 data-product-grid-content 2264 2265 view-event-payload="{"product":{"id":10891861033298,"title":"Spirulina Powder","handle":"spirulina-powder-30-days","selectedVariant":null},"context":null,"selectedOptions":[]}" 2266 2267 > 2268 2269 2270 2271 2272 2273 2274 <div 2275 class="product-information__media" 2276 data-testid="product-information-media" 2277 > 2278 2279 2280
2281<script 2282 src="//chalespirulina.com/cdn/shop/t/4/assets/zoom-dialog.js?v=102268456213388948961782452301" 2283 type="module" 2284 ></script>
2284<script 2285 src="//chalespirulina.com/cdn/shop/t/4/assets/drag-zoom-wrapper.js?v=49654226587051563631782452301" 2286 type="module" 2287 ></script>
2287<style data-shopify> 2288 2289 2290 2291 .media-fit-contain { 2292 --product-media-fit: contain; 2293 } 2294 2295 /* Media fit for all media elements */ 2296 .media-fit-contain :is(img, video, iframe, .deferred-media__poster-image) { 2297 object-fit: contain; 2298 width: 100%; 2299 height: 100%; 2300 } 2301 2302 /* 3D Models (no object-fit support, just sizing) */ 2303 .media-fit-contain model-viewer { 2304 width: 100%; 2305 height: 100%; 2306 } 2307 2308 2309 2310 2311 /* Add background color so carousel arrows' mix-blend-mode works correctly even on transparent areas. */ 2312 2313 .media-fit-contain :is(img, .deferred-media__poster-image) { 2314 background-color: var(--color-background); 2315 } 2316 2317 2318 2319 2320 2321 2322 ::view-transition-old(gallery-item-open), 2323 ::view-transition-new(gallery-item-open), 2324 ::view-transition-old(gallery-item-close), 2325 ::view-transition-new(gallery-item-close) { 2326 height: auto; 2327 width: 100%; 2328 object-fit: contain; 2329 top: 50%; 2330 transform: translateY(-50%); 2331 } 2332 2333 2334 2335 :root { --gallery-media-border-radius: 0px; } 2336</style> 2337 2338 2339 <media-gallery 2340 class=" 2341 spacing-style 2342 sticky-content 2343 2344 media-gallery--two-column 2345 2346 2347 media-gallery--grid 2348 2349 2350 " 2351 style="--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --thumbnail-width: 44px; --media-radius: 0px;--image-gap: 4px;" 2352 data-presentation="grid" 2353 2354 > 2355 2356 2357 2358 2359 2360 2361 <slideshow-component 2362 2363 ref="slideshow" 2364 2365 2366 class="product-media-gallery__slideshow--single-media slideshow--single-media" 2367 2368 style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;" 2369 2370 initial-slide="0" 2371 2372 2373 infinite 2374 2375 2376 2377> 2378 2379 <slideshow-container ref="slideshowContainer"> 2380 2381 2382 <slideshow-slides 2383 tabindex="-1" 2384 ref="scroller" 2385 2386 > 2387 2388 2389 2390 2391 2392 2393 2394 <slideshow-slide 2395 ref="slides[]" 2396 aria-hidden="false" 2397 style="--slideshow-timeline: --slide-0; --product-media-fit: contain; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" 2398 2399 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable product-media-container--tallest" 2400 2401 on:click="#zoom-dialog-AZzhuYWh2cFZhUmwzN__media-gallery/open/0" 2402 2403 style="--media-preview-ratio: 0.7470709855272226;" 2404 2405 2406 2407 2408 on:click="#zoom-dialog-AZzhuYWh2cFZhUmwzN__media-gallery/open/0" 2409> 2410 2411 2412 2413 2414<div 2415 class="product-media" 2416 style="--ratio: 0.7470709855272226" 2417 data-media-id="59426896281938" 2418> 2419 2420 <img src="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" alt="Spirulina Powder" srcset="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=240 240w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=352 352w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=832 832w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1200 1200w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1600 1600w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1920 1920w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=2560 2560w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840 3840w" width="3840" height="5140" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" data_max_resolution="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 2421 2422 2423 2424 2425</div> 2426 2427 2428 2429 2430</slideshow-slide> 2431 2432 2433 2434 2435 2436 2437 </slideshow-slides> 2438 </slideshow-container> 2439 2440</slideshow-component> 2441 2442 2443 2444 2445 2446 2447 <ul 2448 class="media-gallery__grid list-unstyled" 2449 data-testid="media-gallery-grid" 2450 > 2451 2452 <li 2453 ref="media[]" 2454 class="product-media-container constrain-height media-fit-contain product-media-container--image " 2455 style=" --media-preview-ratio: 0.7470709855272226; --media-radius: 0px;" 2456 2457 2458 data-focal-point="50.0% 50.0%" 2459 2460 ><button 2461 type="button" 2462 class="button button-unstyled product-media-container__zoom-button" 2463 aria-label="Zoom media 1" 2464 on:click="/zoom/0" 2465
2466 on:pointerenter="/preloadImage/0" 2467 2468 ></button> 2469 2470 2471<div 2472 class="product-media" 2473 style="--ratio: 0.7470709855272226" 2474 data-media-id="59426896281938" 2475> 2476 2477 <img src="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" alt="Spirulina Powder" srcset="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=240 240w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=352 352w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=832 832w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1200 1200w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1600 1600w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1920 1920w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=2560 2560w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840 3840w" width="3840" height="5140" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" data_max_resolution="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 2478 2479 2480 2481 2482</div> 2483 2484 2485 2486 </li> 2487 2488 </ul> 2489 2490<zoom-dialog 2491 ref="zoomDialogComponent" 2492 id="zoom-dialog-AZzhuYWh2cFZhUmwzN__media-gallery" 2493 > 2494 <dialog 2495 class="dialog-zoomed-gallery__dialog" 2496 ref="dialog" 2497 on:keydown="/handleKeyDown" 2498 scroll-lock 2499 > 2500 <button 2501 type="button" 2502 class="button button-unstyled close-button dialog-zoomed-gallery__close-button" 2503 aria-label="Close" 2504 on:click="/close" 2505 > 2506 <span class="visually-hidden">Close</span> 2507 <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2508<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 2509</svg> 2510 2511 </button> 2512 <div class="dialog-thumbnails-list-container"> 2513 <scroll-hint 2514 class="dialog-thumbnails-list list-unstyled" 2515 ref="thumbnails" 2516 > 2517 2518 </scroll-hint> 2519 </div> 2520 <ul 2521 class="dialog-zoomed-gallery list-unstyled" 2522 ><li 2523 id="product-59426896281938-1" 2524 class="product-media-container constrain-height media-fit-contain product-media-container--image product-media-container--zoomable" 2525 style=" --media-preview-ratio: 0.7470709855272226;" 2526 ref="media[]" 2527 2528 on:click="/close" 2529 2530 > 2531 2532 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 2533 2534<div 2535 class="product-media" 2536 style="--ratio: 0.7470709855272226" 2537 data-media-id="59426896281938" 2538> 2539 2540 <img src="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" alt="Spirulina Powder" srcset="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=240 240w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=352 352w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=832 832w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1200 1200w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1600 1600w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=1920 1920w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=2560 2560w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840 3840w" width="3840" height="5140" loading="lazy" sizes="100vw" class="product-media__image" ref="image" data_max_resolution="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 2541 2542 2543 2544 2545</div> 2546 2547 2548</drag-zoom-wrapper> 2549 2550 </li></ul> 2551 </dialog> 2552 </zoom-dialog></media-gallery> 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 </div> 2564 2565 2566 2567 2568 2569 2570<div 2571 id="ProductInformation-template--30757663539538__main" 2572 class=" 2573 product-details 2574 sticky-content--desktop 2575 " 2576 style="--details-position: flex-start;"
2577 data-testid="product-information-details" 2578 2579> 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590<div 2591 class=" 2592 group-block 2593 group-block--height-fit 2594 group-block--width-fill 2595 border-style 2596 spacing-style 2597 size-style 2598 2599 2600 " 2601 style=" 2602 2603--border-width: 1px; --border-style: none; --border-color: 2604rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 2605 2606 --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: 0px;--padding-inline-end: 0px; 2607 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 2608 2609 " 2610 2611 data-testid="group-block" 2612><div class="group-block__media-wrapper"> 2613 2614 2615 2616 2617 2618 </div> 2619 2620 <div 2621 class=" 2622 group-block-content 2623 2624 layout-panel-flex 2625 layout-panel-flex--column 2626 2627 " 2628 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 2629 2630--gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 2631 2632--horizontal-alignment: ; --vertical-alignment: ; 2633--vertical-alignment-mobile: ; 2634" 2635 > 2636 <div class="view-product-title"> 2637 <a 2638 href="/products/spirulina-powder-30-days?variant=53828582408530" 2639 >Spirulina Powder 2640 </a> 2641 </div> 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653<div 2654 class=" 2655 group-block 2656 group-block--height-fit 2657 group-block--width-fill 2658 border-style 2659 spacing-style 2660 size-style 2661 2662 2663 " 2664 style=" 2665 2666--border-width: 1px; --border-style: none; --border-color: 2667rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 2668 2669 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 2670 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 2671 2672 " 2673 2674 data-testid="group-block" 2675><div class="group-block__media-wrapper"> 2676 2677 2678 2679 2680 2681 </div> 2682 2683 <div 2684 class=" 2685 group-block-content 2686 2687 layout-panel-flex 2688 layout-panel-flex--column 2689 mobile-column 2690 " 2691 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 2692 2693--gap: 12px; 2694 2695--horizontal-alignment: flex-start; --vertical-alignment: center; 2696--vertical-alignment-mobile: center; 2697" 2698 > 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 <div class=" spacing-style text-block text-block--ATjRtdENkNlB1NmpCL__text_xrnftG h3 text-block--align-left " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; "> 2709 <h1>Spirulina Powder</h1> 2710 </div> 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720<product-price 2721 class="text-block text-block--align-left rte text-left paragraph spacing-style" 2722 data-block-id="AZzcyYjIwcGhWczYvb__price_tVjtKg" 2723 data-product-id="10891861033298" 2724 style=" 2725 2726 2727 --padding-block-start: 4px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 2728 2729 --width: 100%; 2730 " 2731 2732> 2733 <div ref="priceContainer"> 2734 2735 2736 <div 2737 class=" 2738 price__regular 2739 2740 " 2741 > 2742 <span class="price">â¬19,99</span> 2743 </div> 2744 <div 2745 class=" 2746 price__sale 2747 2748 price__hidden 2749 2750 " 2751 > 2752 2753 <span class="price-item__group"> 2754 <span class="visually-hidden">Sale price </span> 2755 <span class="price-item--sale price">â¬19,99</span> 2756 </span> 2757 <span class="price-item__group"> 2758 <span class="visually-hidden">Regular price </span> 2759 <span class="price-item--regular compare-at-price"></span> 2760 </span> 2761 2762 </div> 2763 2764</div> 2765 2766 2767</product-price> 2768 2769 2770 2771</div> 2772</div> 2773 2774 2775 2776 2777 2778<div class="chale-usp" style=" 2779 --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:0px; --padding-inline-end:0px; 2780 2781 --usp-accent: #056b03; 2782 --usp-text: #0e2c09; 2783"><p class="chale-usp__head">Why you'll love it</p><ul class="chale-usp__list" role="list"><li class="chale-usp__item"> 2784 <span class="chale-usp__tick" aria-hidden="true"> 2785 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg> 2786 </span>
2787 <span class="chale-usp__txt">100% pure spirulina - zero additives</span> 2788 </li><li class="chale-usp__item"> 2789 <span class="chale-usp__tick" aria-hidden="true"> 2790 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg> 2791 </span> 2792 <span class="chale-usp__txt">Grown & processed on our own farm in Ghana</span> 2793 </li><li class="chale-usp__item"> 2794 <span class="chale-usp__tick" aria-hidden="true"> 2795 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg> 2796 </span> 2797 <span class="chale-usp__txt">100% vegan & fully traceable, batch by batch</span> 2798 </li><li class="chale-usp__item"> 2799 <span class="chale-usp__tick" aria-hidden="true"> 2800 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg> 2801 </span> 2802 <span class="chale-usp__txt">20 school meals enriched for every kg sold</span> 2803 </li></ul> 2804</div> 2805 2806 2807 2808 2809 2810 2811<div 2812 class="divider divider-Ab0tEVEtYZWgyMDNTW__divider_VJhene spacing-style" 2813 style=" 2814 --divider-justify-content: center; 2815 2816 --padding-block-start: 0px;--padding-block-end: 0px; 2817 " 2818 2819 2820> 2821 <span 2822 class="divider__line" 2823 style=" 2824 --divider-border-thickness: 1px; 2825 2826 --divider-border-rounded: 0; 2827 2828 --divider-flex-basis: 100%; 2829 " 2830 ></span> 2831</div> 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859<span 2860 class="buy-buttons-block buy-buttons-block--AVCtUZ2pxaVpnRThCN__buy_buttons_eYQEYi" 2861 2862 2863><product-form-component 2864 data-section-id="template--30757663539538__main" 2865 data-product-id="10891861033298" 2866 data-product-url="/products/spirulina-powder-30-days" 2867 on:submit="/handleSubmit" 2868 data-quantity-default="1" 2869 data-quantity-error-max="This item has a maximum of {{ maximum }}" 2870 > 2871 <div 2872 class="visually-hidden" 2873 aria-live="assertive" 2874 role="status" 2875 aria-atomic="true" 2876 ref="liveRegion" 2877 ></div><form method="post" action="/cart/add" id="BuyButtons-ProductForm-template--30757663539538__main" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 2878 type="hidden" 2879 name="id" 2880 ref="variantId" 2881 value="53828582408530" 2882 ><div 2883 class="product-form-buttons spacing-style product-form-buttons--stacked" 2884 style="--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 2885 ref="productFormButtons" 2886 ><span 2887 class="product-form-text__error hidden" 2888 ref="addToCartTextError" 2889 > 2890 <span class="svg-wrapper"><svg aria-hidden="true" class="icon icon-error" viewBox="0 0 13 13"> 2891 <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/> 2892 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/> 2893 <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/> 2894 <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/> 2895</svg> 2896</span> 2897 </span> 2898 2899 2900<div 2901 class="quantity-selector-wrapper" 2902 ref="quantitySelectorWrapper" 2903> 2904 <quantity-selector-component 2905 class="quantity-selector" 2906 data-variant-id="53828582408530" 2907 2908ref="quantitySelector" 2909 2910 > 2911 <button 2912 class="button quantity-minus button-unstyled" 2913 type="button" 2914 name="minus" 2915 on:click="/decreaseQuantity" 2916 ref="minusButton" 2917 2918 >
2919 <span class="visually-hidden">Decrease quantity</span 2920 ><span class="svg-wrapper icon-plus"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2921 <path d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2922</svg> 2923</span> 2924 </button> 2925 <input 2926 type="number" 2927 name="quantity" 2928 value="1" 2929 data-cart-quantity="0" 2930 min="1" 2931 data-min="1" 2932 on:blur="/setQuantity" 2933 on:focus="/selectInputValue" 2934 ref="quantityInput" 2935 aria-live="polite" 2936 aria-label="Quantity" 2937 2938 2939 step="1" 2940 2941 > 2942 <button 2943 class="button quantity-plus button-unstyled" 2944 type="button" 2945 name="plus" 2946 on:click="/increaseQuantity" 2947 ref="plusButton" 2948 2949 > 2950 <span class="visually-hidden">Increase quantity</span 2951 ><span class="svg-wrapper icon-plus"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2952 <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2953 <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2954</svg> 2955</span> 2956 </button> 2957 </quantity-selector-component></div> 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973<span 2974 2975 style="--add-to-cart-font-case: ;" 2976> 2977 <add-to-cart-component 2978 ref="addToCartButtonContainer" 2979 data-product-variant-media="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=100" 2980 data-add-to-cart-animation="true" 2981> 2982 <button 2983 2984 id="BuyButtons-ProductSubmitButton-AU1FDMWpYQmMrNU40e__add-to-cart" 2985 2986 type="submit" 2987 name="add" 2988 ref="addToCartButton" 2989 on:click="/handleClick" 2990 class="button add-to-cart-button button button--AU1FDMWpYQmMrNU40e__add-to-cart" 2991 2992 data-testid="standalone-add-to-cart" 2993 2994 2995 > 2996 <span 2997 class="add-to-cart-text" 2998 > 2999 3000 <span 3001 aria-hidden="true" 3002 class="svg-wrapper add-to-cart-icon" 3003 ><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg> 3004</span> 3005 3006 <span class="add-to-cart-text__content"> 3007 <span> 3008 <span>Add to cart</span> 3009 </span> 3010 </span> 3011 </span> 3012 3013 <span class="add-to-cart__added"> 3014 <span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3015 <g class="check"> 3016 <circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3017 <path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 3018 </g> 3019 <g class="burst"> 3020 <g style="--index: 0;"> 3021 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3022 </g> 3023 <g style="--index: 1;"> 3024 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3025 </g> 3026 <g style="--index: 2;"> 3027 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3028 </g> 3029 <g style="--index: 3;"> 3030 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3031 </g> 3032 <g style="--index: 4;"> 3033 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3034 </g> 3035 <g style="--index: 5;"> 3036 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3037 </g> 3038 <g style="--index: 6;"> 3039 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3040 </g> 3041 <g style="--index: 7;"> 3042 <line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/> 3043 </g> 3044 </g> 3045</svg> 3046</span> 3047 </span> 3048 </button> 3049</add-to-cart-component> 3050 3051</span> 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 <div 3063 class="accelerated-checkout-block" 3064 ref="acceleratedCheckoutButtonContainer" 3065 3066 3067 3068 > 3069 3070 3071 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":108671566162,"merchantName":"Chalé Spirulina","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="ca121699a9d5c856bf3b6a907ac56a2a" buyer-country="NL" buyer-locale="en" buyer-currency="EUR" variant-params="[{"id":53828582408530,"requiresShipping":true}]" shop-id="108671566162" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div> 3072 3073 3074 </div> 3075 3076 3077 3078 3079 3080 3081 3082 </div><input type="hidden" name="product-id" value="10891861033298" /><input type="hidden" name="section-id" value="template--30757663539538__main" /></form></product-form-component></span> 3083 3084 3085 3086 3087 3088 3089 3090<div class="chale-pays" style=" 3091 --padding-block-start: 14px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 3092 3093 --pay-gap: 8px; 3094 --pay-align: flex-start; 3095"><p class="chale-pays__label">Secure checkout, pay your way</p><ul class="chale-payrow chale-pays__list" role="list"><li><svg viewBox="0 0 48 30" role="img" aria-label="iDEAL"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="25" y="20" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="12" fill="#CC0066">iDEAL</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Visa"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="20" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-style="italic" font-size="12" fill="#1A1F71">VISA</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Mastercard"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><circle cx="20" cy="15" r="7.5" fill="#EB001B"/><circle cx="28" cy="15" r="7.5" fill="#F79E1B" fill-opacity=".9"/></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="American Express"><rect width="48" height="30" rx="4" fill="#1F72CD"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="8" fill="#fff">AMEX</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Maestro"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><circle cx="20" cy="15" r="7.5" fill="#0099DF"/><circle cx="28" cy="15" r="7.5" fill="#ED0006" fill-opacity=".85"/></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="PayPal"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-style="italic" font-size="9.5"><tspan fill="#253B80">Pay</tspan><tspan fill="#179BD7">Pal</tspan></text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Apple Pay"><rect width="48" height="30" rx="4" fill="#000"/><text x="25" y="19" text-anchor="middle" font-family="-apple-system,Arial,sans-serif" font-weight="600" font-size="9" fill="#fff"> Pay</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Google Pay"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="600" font-size="9"><tspan fill="#4285F4">G</tspan><tspan fill="#5F6368"> Pay</tspan></text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Shop Pay"><rect width="48" height="30" rx="4" fill="#5A31F4"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="8.5" fill="#fff">shop Pay</text></svg></li></ul> 3096 3097</div> 3098 3099 3100 3101 3102<div class="chale-acc" style=" 3103 --padding-block-start: 10px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 3104 3105 --acc-accent: #056b03; 3106"><details class="chale-acc__row" open> 3107 <summary class="chale-acc__head">
3108 <span>Description</span> 3109 <svg class="chale-acc__chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg> 3110 </summary> 3111 <div class="chale-acc__body rte"><p>Fuel your body with one of nature's most powerful superfoods. Chalé Spirulina Powder is a 100% pure spirulina supplement, a blue-green microalgae and one of the oldest and most nutrient-dense food sources on earth. Rich in plant-based protein, iron, and essential minerals, it's the clean daily boost your body deserves.</p> 3112<p>What sets Chalé apart is complete transparency from farm to product. Grown on their own farm in Ghana using Dutch technology, every batch is cultivated in a fully controlled, closed environment, ensuring maximum purity, consistent quality, and zero contamination. No additives. No fillers. Just 100% traceable spirulina.</p></div> 3113 </details><details class="chale-acc__row"> 3114 <summary class="chale-acc__head"> 3115 <span>How to use</span> 3116 <svg class="chale-acc__chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg> 3117 </summary> 3118 <div class="chale-acc__body rte"><p>Add 1 teaspoon (about 3g) a day to smoothies, juice, yoghurt, pesto or sprinkle over salads & bowls. Neutral in taste, mighty in nutrition - start small and build up to taste.</p></div> 3119 </details><details class="chale-acc__row"> 3120 <summary class="chale-acc__head"> 3121 <span>Key benefits</span> 3122 <svg class="chale-acc__chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg> 3123 </summary> 3124 <div class="chale-acc__body rte"><ul><li>Rich in plant-based protein - supports maintenance of muscle mass</li><li>Contains iron - helps reduce tiredness and fatigue</li><li>Contains essential minerals: magnesium, zinc, copper, and manganese</li><li>Supports the immune system*</li><li>100% pure - no additives or fillers</li><li>Grown on their own farm in a fully controlled, closed system</li><li>Suitable for vegetarians and vegans</li><li>Neutral taste - easy to mix into smoothies, salads, yoghurt, and more</li><li>Works in both cold and warm preparations</li></ul><p><em>*Health claims pending European approval.</em></p></div> 3125 </details><details class="chale-acc__row"> 3126 <summary class="chale-acc__head"> 3127 <span>Shipping & returns</span> 3128 <svg class="chale-acc__chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"/></svg> 3129 </summary> 3130 <div class="chale-acc__body rte"><p>Free EU shipping over â¬34,99. Orders are dispatched within 1â2 working days. Not happy? Return unopened items within 14 days for a full refund.</p></div> 3131 </details></div> 3132 3133 3134 3135 3136<div class="chale-collab" style=" 3137 --padding-block-start: 14px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; 3138 3139 --col-line: #dceacf; 3140 --col-label: #4b6147; 3141"><span class="chale-collab__rule" aria-hidden="true"></span><p class="chale-collab__label">In good company</p><div class="chale-collab__logos"><img src="//chalespirulina.com/cdn/shop/t/4/assets/chale-partners.png?v=105380565514697661011782453581" alt="Our partners" loading="lazy"></div> 3142</div> 3143 3144 3145 3146 3147 3148 </div> 3149</div> 3150 3151 3152 3153</div> 3154 3155 3156 3157 3158 3159 3160 3161 3162 </product-component> 3163 3164 3165 3166<div 3167 class="disclosures__container" 3168><div 3169 hidden 3170 shopify-block-empty 3171 ></div> 3172 3173 3174</div> 3175 3176 3177 3178 3179</div> 3180 3181 3182 3183 3184 3185 3186 3187</div><div id="shopify-section-template--30757663539538__17834892162c18bc83" class="shopify-section section-wrapper"> 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201<div class="section-background color-custom-template--30757663539538__17834892162c18bc83"></div> 3202<div 3203 class="section section--page-width color-custom-template--30757663539538__17834892162c18bc83" 3204 data-testid="ui-test-section" 3205 3206 3207 3208 style=" 3209 3210 3211 3212 " 3213> 3214 <div class="custom-section-background"> 3215 3216 3217 3218 3219 </div> 3220 3221 <div 3222 class="border-style custom-section-content" 3223 style=" 3224--border-width: 1px; --border-style: none; --border-color: 3225rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 3226" 3227 > 3228 3229 3230 <div 3231 class=" 3232 spacing-style 3233 layout-panel-flex 3234 layout-panel-flex--column 3235 section-content-wrapper 3236 mobile-column 3237 " 3238 style=" 3239 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 3240 3241--gap: 12px; 3242 3243--horizontal-alignment: flex-start; --vertical-alignment: center; 3244--vertical-alignment-mobile: center; 3245 3246 --padding-block-start: 0px;--padding-block-end: 0px; 3247 " 3248 data-testid="section-content" 3249 > 3250 3251 <div id="shopify-block-ANmtRT08rNEJHRllpd__judge_me_reviews_cards_carousel_K6GBKh" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: cards_carousel_content --><!-- BEGIN app snippet: carousel_styles --><style>.jdgm-cards-carousel.jdgm-hidden,.jdgm-videos-carousel.jdgm-hidden,.jdgm-testimonials-carousel.jdgm-hidden{display:none}</style> 3252<link rel="stylesheet" type="text/css" media="nope!" onload="this.media='all'" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/carousels.css"> 3253<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/carousels.css"></noscript> 3254<!-- END app snippet --> 3255 3256 3257 3258 <div class="jdgm-widget jdgm-cards-carousel jdgm-hidden" data-jdgm-block-id="ANmtRT08rNEJHRllpd__judge_me_reviews_cards_carousel_K6GBKh" data-transition-speed="5" data-autoplay-media="false" 3259 data-widget="cards-carousel" data-entry-point="carousel_lightbox.js" data-entry-key="carousel-lightbox/main.js" data-has-revamp="1" 3260 style="--max-width: 1100px; --text-color: #000000; --card-color: #EFF8E9; --header-color: #152A19; --border-radius: 8px; 3261 --text-size: 16px; --stars-color: #1F6D2F; --arrows-color: #1F6D2F; --clamp: 4; --image-ratio: 1; --jm-arrows-mobile: none;"> 3262 <!-- BEGIN app snippet: carousel_header --> 3263 3264<div class="jdgm-header"> 3265 <h2 class="jdgm-title">Customers are saying</h2> 3266 3267 3268 3269 3270 3271 <div class="jdgm-header-info"> 3272 <div class="jdgm-average-rating"> 3273 <div class="jdgm-stars" role="img" aria-label="5.00 out of 5 stars"></div>
3274 <span class="jdgm-rating-text">5.00 <span class="jdgm-rating-star">â </span> (<span class="jdgm-reviews-count">9</span>)</span> 3275 </div> 3276 <div class="jdgm-verified-badge-header jdgm-hidden"> 3277 <svg class="jdgm-verified-checkmark" viewBox="0 0 20 20"> 3278 <path d="M1.14026 0C0.510511 0 0 0.510511 0 1.14026V18.8599C0 19.4896 0.510511 20.0001 1.14026 20.0001H18.8597C19.4895 20.0001 20 19.4896 20 18.8599V11.3685C20 11.008 19.5606 10.8315 19.3112 11.0918L15.3614 15.2135C13.6736 16.9747 11.912 17.8504 10.0763 17.8407C8.25519 17.8454 6.52568 17.0288 4.8878 15.391C3.14847 13.6516 2.23211 11.7644 2.13874 9.72917C2.06539 7.84992 2.79892 6.0381 4.33936 4.29371C4.5345 4.07273 4.86976 4.0698 5.07804 4.27808L8.5462 7.74623C8.75271 7.95274 8.75486 8.28861 8.57448 8.51907C7.73628 9.59004 7.70456 10.5129 8.47933 11.2877C9.26203 12.0704 10.1356 11.9585 11.1 10.9521L19.8888 1.78078C19.9602 1.70632 20 1.60716 20 1.50403V1.14026C20 0.510511 19.4895 0 18.8597 0H1.14026Z"/> 3279 </svg> 3280 <span class="jdgm-verified-text">Verified</span> 3281 </div> 3282 </div> 3283 3284</div> 3285<!-- END app snippet --> 3286 <div class="jdgm-content"> 3287 <!-- BEGIN app snippet: side_left_arrow --> 3288<button class="jdgm-arrow" aria-label="Previous slide" onclick="window.jdgmPreviousCard('ANmtRT08rNEJHRllpd__judge_me_reviews_cards_carousel_K6GBKh')"> 3289 <svg viewBox="0 0 20 34"> 3290 3291 <path d="M16 6L6 17L16 28" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> 3292 3293 </svg> 3294</button> 3295 3296<!-- END app snippet --> 3297 <div class="jdgm-cards-wrapper"><div class="jdgm-videos-container"> 3298 3299 </div></div> 3300 <!-- BEGIN app snippet: side_right_arrow --> 3301<button class="jdgm-arrow" aria-label="Next slide" onclick="window.jdgmNextCard('ANmtRT08rNEJHRllpd__judge_me_reviews_cards_carousel_K6GBKh')"> 3302 <svg viewBox="0 0 20 34"> 3303 3304 <path d="M4 6L14 17L4 28" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> 3305 3306 </svg> 3307</button> 3308 3309<!-- END app snippet --> 3310 </div> 3311 <!-- BEGIN app snippet: bottom_arrows --> 3312<!-- END app snippet --> 3313 </div> 3314 3315
3315<script> 3316 if (window.jdgm && jdgm.docReady) { 3317 jdgm.docReady(function() { 3318 (function loadVideoCarousel() { 3319 if (jdgm.loadScript) { jdgm.loadScript('video_carousel.js'); } 3320 else { setTimeout(loadVideoCarousel, 50); } 3321 })(); 3322 }); 3323 } 3324 </script>
3324 3325<!-- END app snippet --> 3326<!-- BEGIN app snippet: init_carousel --> 3327 3328 3329 3330
3330<script> 3331 window.jdgmPlayButtonSVG = "\u003c!-- BEGIN app snippet: play-button --\u003e\u003csvg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M0 20C0 8.95431 8.95431 0 20 0C31.0457 0 40 8.95431 40 20C40 31.0457 31.0457 40 20 40C8.95431 40 0 31.0457 0 20Z\" fill=\"black\" fill-opacity=\"0.36\"\/\u003e\u003cpath d=\"M16 13L28 20L16 27V13Z\" fill=\"white\"\/\u003e\u003c\/svg\u003e\u003c!-- END app snippet --\u003e"; 3332 </script>
3332 3333 3334
3335<script> 3336 (function() { 3337 // INF-1976 3338 if (window.jdgm && window.jdgm._blocked) return; 3339 const shared = { 3340 reviews_selection: "all", 3341 carousel_type: "cards" 3342 }; 3343 3344 const settings = { 3345 ...shared, 3346 quote_marks_size: "", 3347 stars_size: "", 3348 stars_color: "#1F6D2F", 3349 verified_badge_style: "", 3350 product_name_text_size: "", 3351 transition_speed: "5", 3352 show_sample_reviews: "true", 3353 min_reviews: shared.carousel_type === 'videos' ? 3 : 1, 3354 design_mode: "false", 3355 collection_id: "", 3356 product_id: "10891861033298", 3357 product_ids: "[]", 3358 show_reviewer_name: "true", 3359 carousel_style: "", 3360 autoplay_media: "null", 3361 primary_lang: 'en',cart_eligible_template: false, 3362 shop_aggregates: { reviewCount: 9 }, 3363 3364 show_product_name: "true", 3365 show_review_media: "true", 3366 no_image_fallback: "review_text_only", 3367 reviews_shown: "4", 3368 3369 }; 3370 const averageRating = 5.00;const params = { 3371 ...shared, 3372 star_rating: 'all', 3373 custom_tags: "", 3374 tag_filter: "", 3375 3376 max_reviews: '20', 3377 url: 'https://chalespirulina.com', 3378 shop_domain: 'cc5ii1-qg.myshopify.com', 3379 platform: 'shopify', 3380 primary_language: document.documentElement.lang, 3381 display_order: "media_first", 3382 }; 3383 const blockId = "ANmtRT08rNEJHRllpd__judge_me_reviews_cards_carousel_K6GBKh"; 3384 function loadSpecificScript() { 3385 const scriptSrc = shared.carousel_type === 'videos' || shared.carousel_type === 'cards' ? 'https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/media_carousel.js' : 'https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/testimonials_carousel.js'; 3386 if (document.querySelector(`script[src="${scriptSrc}"]`)) { initializeCarousel(); return; } 3387 const script = document.createElement('script'); 3388 script.src = scriptSrc; 3389 script.onload = function() { setTimeout(initializeCarousel, 50); }; 3390 script.onerror = function() { console.error('Error loading script:'); setTimeout(initializeCarousel, 100); }; 3391 document.head.appendChild(script); 3392 } 3393 3394 function initializeCarousel() { 3395 if (!window.jdgmCarouselUtils || !window.jdgmCarouselMode) { setTimeout(initializeCarousel, 50); return; } 3396 const buildFunction = shared.carousel_type === 'videos' || shared.carousel_type === 'cards' ? window.jdgmBuildMediaCards : window.jdgmBuildTestimonialCards; 3397 if (buildFunction) { 3398 const start = function() { window.jdgmCarouselUtils.initCarousel(blockId, settings, averageRating, params, buildFunction); }; 3399 start(); 3400 } else { 3401 setTimeout(initializeCarousel, 100); 3402 } 3403 } 3404 loadSpecificScript(); 3405 })(); 3406</script>
3406 3407<!-- END app snippet --> 3408 3409</div><div id="shopify-block-Aa0VmVlZnc00zNERQT__judge_me_reviews_review_widget_EGK4W4" class="shopify-block shopify-app-block"> 3410 3411 3412<div style='clear:both'></div> 3413<div id='judgeme_product_reviews' 3414 class='jdgm-widget jdgm-review-widget' 3415 data-product-title='Spirulina Powder' 3416 data-id='10891861033298' 3417 data-product-id='10891861033298' 3418 data-widget="review" 3419 data-shop-reviews="false" 3420 data-shop-reviews-count="0" 3421 data-cart-eligible-template="false" 3422 data-shop-average-rating="5.00" 3423 data-shop-review-count="9" 3424 data-empty-state="empty_widget" 3425 data-entry-point="review_widget.js" 3426 data-entry-key="review-widget/main.js" 3427 data-block-id="Aa0VmVlZnc00zNERQT__judge_me_reviews_review_widget_EGK4W4" 3428 data-customer-logged-in="false" 3429 3430 3431 style='max-width: 1200px; margin: 0 auto;'> 3432 3433 3434 3435 3436 3437 <div class='jdgm-ssr-reviews'> 3438 <div class="jdgm-ssr-reviews"><div class="jdgm-ssr-ai-content"><div class="jdgm-ssr-rating-distribution"><ul><li>5 stars: 3 (100%)</li><li>4 stars: 0 (0%)</li><li>3 stars: 0 (0%)</li><li>2 stars: 0 (0%)</li><li>1 star: 0 (0%)</li></ul></div></div><div class="jdgm-ssr-reviews__list"><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='true' data-review-id='962adae1-c709-4dcc-a79f-41fcd38a0b0b' data-review-language='' data-product-title='Spirulina Powder' data-product-url='/products/spirulina-powder-30-days' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-09-14T18:31:32Z' data-content='2026-09-14 18:31:32 UTC'></time> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> <span class='jdgm-rev__buyer-badge'></span> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Abigail</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>Al jaren last van darmklachten(PDS), om de dag een theelepel spirulina doet wonderen. Kan zelfs zo nu en dan gluten eten zonder klachten!!</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> <div class='jdgm-rev__transparency-badge-wrapper'> <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_via_store_invitation></div> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='true' data-review-id='b4f9d96d-eb81-4bd6-a52d-d7e69fd0b7da' data-review-language='' data-product-title='Spirulina Powder' data-product-url='/products/spirulina-powder-30-days' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-09-01T13:49:33Z' data-content='2026-09-01 13:49:33 UTC'></time> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> <span class='jdgm-rev__buyer-badge'></span> </span> <span class='jdgm-rev__author-wrapper' data-is-anonymous='true'> <span class='jdgm-rev__author'>Anoniem</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'>
3438 <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>The powder blends easily into smoothies and I feel like it has a positive impact on my gut.</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> <div class='jdgm-rev__transparency-badge-wrapper'> <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_via_store_invitation></div> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='66d7c765-1a64-4659-b496-3bcba3988791' data-review-language='' data-product-title='Spirulina Powder' data-product-url='/products/spirulina-powder-30-days' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > J </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-02-12T23:00:00Z' data-content='2026-02-12 23:00:00 UTC'></time> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Jeroen</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>I visited the impressive production facility in Ghana and have already ordered my first bags. Highly recommended! Both for the local impact theyâre making and the high quality of the final product.</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> <div class='jdgm-rev__transparency-badge-wrapper'> <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_from_another_provider></div> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div></div></div> 3439 </div> 3440 3441 3442 3443 3444</div> 3445 3446
3447<script class='jdgm-review-widget-data'> 3448 jdgm.data ||= {}; jdgm.data.reviewWidget ||= {}; 3449 3450 jdgm.data.reviewWidget[10891861033298] = {"number_of_reviews":3,"average_rating":"5.00","number_of_questions":0,"product_name":"Spirulina Powder","product_external_id":10891861033298,"product_coupons_enabled":true,"image_url":"https://cdn.shopify.com/s/files/1/1086/7156/6162/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126","histogram":[{"rating":5,"frequency":3,"percentage":100,"extra_class":null},{"rating":4,"frequency":0,"percentage":0,"extra_class":null},{"rating":3,"frequency":0,"percentage":0,"extra_class":null},{"rating":2,"frequency":0,"percentage":0,"extra_class":null},{"rating":1,"frequency":0,"percentage":0,"extra_class":null}],"review_keywords":null,"product_medals":[],"custom_form_filters_and_averages":null,"photo_gallery":null,"review_summary_text":"Based on 3 reviews","ai_summary_text":"","sort_key":"created_at","multi_language_sorting_enabled":false,"metafield_updated_at":"2026-09-15T11:54:10Z","reviews":[{"uuid":"962adae1-c709-4dcc-a79f-41fcd38a0b0b","title":"","rating":5,"body_html":"<p>Al jaren last van darmklachten(PDS), om de dag een theelepel spirulina doet wonderen. Kan zelfs zo nu en dan gluten eten zonder klachten!!<\/p>","body":"Al jaren last van darmklachten(PDS), om de dag een theelepel spirulina doet wonderen. Kan zelfs zo nu en dan gluten eten zonder klachten!!","verified_buyer":true,"created_at":"2026-09-14T18:31:32.703Z","reviewer_name":"Abigail","reviewer_initial":"A","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Spirulina Powder","encoded_product_id":"WoEZxLwp","encoded_shop_id":"vg1rdeqD","is_shopify_lite":false,"product_url":"/products/spirulina-powder-30-days","product_url_with_utm":"https://chalespirulina.com/products/spirulina-powder-30-days?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Chalé Spirulina","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":false,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/1086/7156/6162/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126","is_for_product_from_bundle":false,"product_title_localized":null},{"uuid":"b4f9d96d-eb81-4bd6-a52d-d7e69fd0b7da","title":"","rating":5,"body_html":"<p>The powder blends easily into smoothies and I feel like it has a positive impact on my gut.<\/p>","body":"The powder blends easily into smoothies and I feel like it has a positive impact on my gut.","verified_buyer":true,"created_at":"2026-09-01T13:49:33.880Z","reviewer_name":"Anoniem","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Spirulina Powder","encoded_product_id":"WoEZxLwp","encoded_shop_id":"vg1rdeqD","is_shopify_lite":false,"product_url":"/products/spirulina-powder-30-days","product_url_with_utm":"https://chalespirulina.com/products/spirulina-powder-30-days?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":7,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Chalé Spirulina","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":false,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/1086/7156/6162/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126","is_for_product_from_bundle":false,"product_title_localized":null},{"uuid":"66d7c765-1a64-4659-b496-3bcba3988791","title":"","rating":5,"body_html":"<p>I visited the impressive production facility in Ghana and have already ordered my first bags. Highly recommended! Both for the local impact theyâre making and the high quality of the final product.<\/p>","body":"I visited the impressive production facility in Ghana and have already ordered my first bags. Highly recommended! Both for the local impact theyâre making and the high quality of the final product.","verified_buyer":false,"created_at":"2026-02-12T23:00:00.000Z","reviewer_name":"Jeroen","reviewer_initial":"J","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Spirulina Powder","encoded_product_id":"WoEZxLwp","encoded_shop_id":"vg1rdeqD","is_shopify_lite":false,"product_url":"/products/spirulina-powder-30-days","product_url_with_utm":"https://chalespirulina.com/products/spirulina-powder-30-days?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":0,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Chalé Spirulina","transparency_badges":["review_collected_from_another_provider"],"language":null,"is_for_product_from_group":false,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/1086/7156/6162/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126","is_for_product_from_bundle":false,"product_title_localized":null}],"pagination":{"total_pages":1,"current_page":1,"per_page":5}} 3451</script>
3451 3452 3453 3454 3455 3456
3457<script type="application/ld+json" class="jdgm-server-jld"> 3458 {"@context":"https://schema.org/","@type":"Product","@id":"/products/spirulina-powder-30-days#product","name":"Spirulina Powder","aggregateRating":{"@type":"AggregateRating","ratingValue":"5.00","reviewCount":3,"bestRating":5,"worstRating":1},"image":"https://cdn.shopify.com/s/files/1/1086/7156/6162/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126","review":[{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5,"worstRating":1},"author":{"@type":"Person","name":"Abigail"},"reviewBody":"Al jaren last van darmklachten(PDS), om de dag een theelepel spirulina doet wonderen. Kan zelfs zo nu en dan gluten eten zonder klachten!!","datePublished":"2026-09-14T18:31:32Z"},{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5,"worstRating":1},"author":{"@type":"Person","name":"Anoniem"},"reviewBody":"The powder blends easily into smoothies and I feel like it has a positive impact on my gut.","datePublished":"2026-09-01T13:49:33Z"},{"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5,"worstRating":1},"author":{"@type":"Person","name":"Jeroen"},"reviewBody":"I visited the impressive production facility in Ghana and have already ordered my first bags. Highly recommended! Both for the local impact theyâre making and the high quality of the final product.","datePublished":"2026-02-12T23:00:00Z"}]} 3459</script>
3459 3460 3461 3462 3463</div> 3464 3465 </div> 3466 </div> 3467</div> 3468 3469 3470 3471 3472 3473</div><section id="shopify-section-template--30757663539538__why" class="shopify-section"><div class="chale"> 3474 <section class="chale-section" style="background:var(--green-050)"> 3475 <div class="wrap"> 3476 <div class="sec-head center" style="margin-inline:auto;margin-bottom:2.6rem"><span class="kicker center">Why Chalé</span><h2>Pure spirulina, real impact.</h2></div> 3477 <div class="chl-grid g-3 chale-cards bcards"><div class="chale-benefit " > 3478 <div class="b-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z"/><path d="M9 12l2 2 4-4"/></svg></div> 3479 <h3>100% pure</h3> 3480 <p>Zero additives, contamination-free â just spirulina.</p> 3481 </div><div class="chale-benefit dark" > 3482 <div class="b-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M4 20C4 11 11 4 20 4c0 9-7 16-16 16z"/><path d="M9 15c2-3 5-5 8-6"/></svg></div> 3483 <h3>From our own farm</h3> 3484 <p>Grown & processed by us in Kumasi, Ghana â fully traceable.</p> 3485 </div><div class="chale-benefit " > 3486 <div class="b-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M12 20s-7-4.5-7-9.5A3.5 3.5 0 0 1 12 7a3.5 3.5 0 0 1 7 3.5C19 15.5 12 20 12 20z"/></svg></div> 3487 <h3>Real impact</h3> 3488 <p>20 school meals enriched for every kg sold.</p> 3489 </div></div> 3490 </div> 3491 </section> 3492</div> 3493 3494</section><section id="shopify-section-template--30757663539538__howto" class="shopify-section"><div class="chale"> 3495 <section class="chale-section" style="background:var(--cream)"> 3496 <div class="wrap chale-split rev"> 3497 <div class="chale-split__media blob sq"><img src="//chalespirulina.com/cdn/shop/files/Chale_ReneedeLaat_12312025-06_4__jpg.jpg?v=1782474265&width=1600" srcset="//chalespirulina.com/cdn/shop/files/Chale_ReneedeLaat_12312025-06_4__jpg.jpg?v=1782474265&width=800 800w, //chalespirulina.com/cdn/shop/files/Chale_ReneedeLaat_12312025-06_4__jpg.jpg?v=1782474265&width=1200 1200w, //chalespirulina.com/cdn/shop/files/Chale_ReneedeLaat_12312025-06_4__jpg.jpg?v=1782474265&width=1600 1600w" sizes="(max-width: 749px) 92vw, 46vw" alt="How to use your spirulina." loading="lazy" width="1600" height="1200"></div> 3498 <div> 3499 <div class="chale-feat__card"><span class="kicker">Cook, sprinkle, eat, repeat</span><h2>How to use your spirulina.</h2><div class="lead"><p>Effortless to add to your daily ritual, possibilities are endless.</p></div><ul class="chale-flist"><li > 3500 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M12 3c4 5 6 8 6 11a6 6 0 0 1-12 0c0-3 2-6 6-11z"/></svg></span> 3501 <div><b>1 teaspoon a day</b><p>Around 3g - start small and build up to taste.</p></div> 3502 </li><li > 3503 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M13 2 4 14h6l-1 8 9-12h-6z"/></svg></span> 3504 <div><b>Blend or sprinkle</b><p>Into smoothies, juice, yoghurt, pesto or over salads & bowls.</p></div> 3505 </li><li > 3506 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M4 20C4 11 11 4 20 4c0 9-7 16-16 16z"/><path d="M9 15c2-3 5-5 8-6"/></svg></span> 3507 <div><b>Neutral taste</b><p>Mighty in nutrition, easy on the palate - goes with almost anything.</p></div> 3508 </li></ul><a class="btn btn-ghost dark" href="/pages/recipes" style="margin-top:1.6rem">See recipes 3509 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div> 3510 </div> 3511 </div> 3512 </section> 3513</div> 3514 3515</section><div id="shopify-section-template--30757663539538__product_recommendations_qggXJq" class="shopify-section">
3516<script 3517 src="//chalespirulina.com/cdn/shop/t/4/assets/product-recommendations.js?v=127096830375957167321782452301" 3518 type="module" 3519 fetchpriority="low" 3520></script>
3520 3521 3522 3523 3524<style data-shopify> 3525 .custom-color-quick-add { 3526 --quick-add-background: #ffffff; 3527 --quick-add-foreground: #0e2c09; 3528 } 3529</style> 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539<product-recommendations 3540 id="product-recommendations-template--30757663539538__product_recommendations_qggXJq" 3541 class="product-recommendations" 3542 data-url="/recommendations/products?limit=4" 3543 data-section-id="template--30757663539538__product_recommendations_qggXJq" 3544 data-product-id="10891861033298" 3545 data-intent="related" 3546 data-testid="product-recommendations-section" 3547 data-recommendations-performed="false" 3548 data-hydration-key="product-recommendations-template--30757663539538__product_recommendations_qggXJq" 3549 3550> 3551 3552 3553 3554 3555 3556 <style data-shopify> 3557 .color-custom-template--30757663539538__product_recommendations_qggXJq, 3558 .color-custom-template--30757663539538__product_recommendations_qggXJq .text-block { 3559 /* Background */ 3560 --color-background: #ffffff; 3561 --color-background-rgb: 255 255 255; 3562 3563 /* Opacity values adjusted for background brightness */ 3564 3565--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60: 35660.4; --opacity-30-60: 0.3; --opacity-60: 0.6; 3567 3568 3569 3570 /* Foreground / text â explicit or smart-contrasted */ 3571 --color: #0e2c09; 3572 --color-rgb: 14 44 9; 3573 --color-foreground: #0e2c09; 3574 --color-foreground-rgb: 14 44 9; 3575 --color-foreground-muted: rgb(14 44 9 / var(--opacity-muted-text)); 3576 --color-foreground-subdued: rgb(14 44 9 / var(--opacity-subdued-text)); 3577 --color-border: var(--palette-darkest); 3578 --color-border-rgb: var(--palette-darkest-rgb); 3579 3580 } 3581 3582 3583 .color-custom-template--30757663539538__product_recommendations_qggXJq { 3584 /* Form-related tokens stay on .color-custom only â .text-block is a prose 3585 container (text/announcement/inline-text/blog-post-description/ 3586 collection-link/price/sku) and never holds form inputs. */ 3587 --input-disabled-background-color: rgb(14 44 9 / var(--opacity-10)); 3588 --input-disabled-border-color: rgb(14 44 9 / var(--opacity-5)); 3589 --input-disabled-text-color: rgb(14 44 9 / var(--opacity-50)); 3590 --checkbox-border: 1px solid rgb(14 44 9 / var(--opacity-35-55)); 3591 } 3592 3593 3594 .color-custom-template--30757663539538__product_recommendations_qggXJq { 3595 color: var(--color, var(--color-foreground)); 3596 background-color: var(--color-background); 3597 } 3598 </style> 3599 3600 3601 3602 <div 3603 class="section-background color-custom-template--30757663539538__product_recommendations_qggXJq" 3604 ></div> 3605 <div 3606 class=" 3607 section 3608 section--page-width 3609 color-custom-template--30757663539538__product_recommendations_qggXJq 3610 section-resource-list 3611 spacing-style 3612 gap-style 3613 " 3614 style=" 3615 --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); 3616 --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 3617 --column-count-mobile: 2;--resource-list-column-gap-desktop: 12px;--resource-list-row-gap-desktop: 24px;--resource-list-columns: repeat(4, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--resource-list-column-gap-desktop: 12px;--column-count: 4;--column-count-mobile: 2; 3618 " 3619 > 3620 <div class="section-resource-list__content"> 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 <div class=" spacing-style text-block text-block--ANXlHZ1lHNUZ5eVlEU__text_cbcgyb h4 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); "> 3631 <h3>You may also like </h3> 3632 </div> 3633 3634 3635 3636 3637 3638 3639 3640 </div><div 3641 class="resource-list resource-list--grid" 3642 > 3643 3644 <div 3645 class="product-recommendations__skeleton-item" 3646 aria-label="Loading product recommendations" 3647 ></div> 3648 3649 <div 3650 class="product-recommendations__skeleton-item" 3651 aria-label="Loading product recommendations" 3652 ></div> 3653 3654 <div 3655 class="product-recommendations__skeleton-item" 3656 aria-label="Loading product recommendations" 3657 ></div> 3658 3659 <div 3660 class="product-recommendations__skeleton-item" 3661 aria-label="Loading product recommendations" 3662 ></div> 3663 3664 </div></div> 3665</product-recommendations> 3666 3667 3668</div> 3669 </main> 3670 3671 <footer> 3672 <!-- BEGIN sections: footer-group --> 3673<section id="shopify-section-sections--30757658198354__chale_footer" class="shopify-section shopify-section-group-footer-group"><div class="chale"> 3674 <footer class="chale-foot"> 3675 <div class="wrap"> 3676 <div class="chale-foot__top"> 3677 <div class="chale-foot__brand"> 3678 <img class="chale-foot__logo" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-logo-mint.png?v=113008337858585790851782453579" alt="Chalé Spirulina" width="150"><p>Pure, premium spirulina, grown on our own farm in Ghana with Dutch technology. Done right, naturally.</p><div class="chale-foot__social"><a href="https://www.instagram.com/chalespirulina/" aria-label="Instagram" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"/></svg></a><a href="https://www.tiktok.com/@chalespirulina" aria-label="TikTok" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M16 3c.3 2.3 1.7 3.9 4 4.2v3c-1.5 0-2.9-.5-4-1.3v6.4A6.3 6.3 0 1 1 9.7 9v3.1A3.2 3.2 0 1 0 13 15.3V3h3z"/></svg></a><a href="https://www.linkedin.com/company/chalespirulina" aria-label="LinkedIn" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M4.98 3.5A2.5 2.5 0 1 1 0 3.5a2.5 2.5 0 0 1 4.98 0zM.5 8h4V24h-4zM8 8h3.8v2.2h.05c.53-1 1.83-2.2 3.77-2.2 4 0 4.75 2.65 4.75 6.1V24h-4v-6.9c0-1.65-.03-3.8-2.3-3.8-2.3 0-2.65 1.8-2.65 3.66V24H8z"/></svg></a></div> 3679 <div class="chale-foot__badges"> 3680 <img class="chale-foot__logobadge" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-bcorp-white.png?v=146930688225386572901783763138" alt="Certified B Corporation" loading="lazy"> 3681 <img class="chale-foot__logobadge" src="//chalespirulina.com/cdn/shop/t/4/assets/chale-vegan-white.png?v=10086117607774301
36817901783763138" alt="Certified Vegan" loading="lazy"> 3682 </div> 3683 </div> 3684 3685 <div class="chale-foot__col"> 3686 <h4>Shop</h4><a href="/collections/all" >Shop spirulina</a><a href="/pages/recipes" >Recipes</a><a href="/pages/faq" >FAQ</a></div> 3687 <div class="chale-foot__col"> 3688 <h4>Company</h4><a href="/pages/impact" >Our impact</a><a href="/pages/team" >Meet the team</a><a href="/pages/wholesale" >Wholesale</a><a href="/pages/contact" >Contact</a></div> 3689 3690 <div class="chale-foot__news"> 3691 <h4>Stay in the loop</h4><p>Recipes, drops & impact updates - straight to your inbox.</p><form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[tags]" value="newsletter"> 3692 <div class="chale-foot__form"> 3693 <input type="email" name="contact[email]" placeholder="Your email" aria-label="Email" required> 3694 <button type="submit" class="btn btn-bright">Join</button> 3695 </div></form></div> 3696 </div> 3697 3698 <div class="chale-foot__bottom"> 3699 <span>© 2026 Chalé Spirulina B.V. · Amsterdam, The Netherlands â All rights reserved.</span> 3700 <ul class="chale-payrow chale-foot__payrow" role="list"><li><svg viewBox="0 0 48 30" role="img" aria-label="iDEAL"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="25" y="20" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="12" fill="#CC0066">iDEAL</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Visa"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="20" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-style="italic" font-size="12" fill="#1A1F71">VISA</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Mastercard"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><circle cx="20" cy="15" r="7.5" fill="#EB001B"/><circle cx="28" cy="15" r="7.5" fill="#F79E1B" fill-opacity=".9"/></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="American Express"><rect width="48" height="30" rx="4" fill="#1F72CD"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="8" fill="#fff">AMEX</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Maestro"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><circle cx="20" cy="15" r="7.5" fill="#0099DF"/><circle cx="28" cy="15" r="7.5" fill="#ED0006" fill-opacity=".85"/></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="PayPal"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-style="italic" font-size="9.5"><tspan fill="#253B80">Pay</tspan><tspan fill="#179BD7">Pal</tspan></text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Apple Pay"><rect width="48" height="30" rx="4" fill="#000"/><text x="25" y="19" text-anchor="middle" font-family="-apple-system,Arial,sans-serif" font-weight="600" font-size="9" fill="#fff"> Pay</text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Google Pay"><rect width="48" height="30" rx="4" fill="#fff" stroke="#e6e6e6"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="600" font-size="9"><tspan fill="#4285F4">G</tspan><tspan fill="#5F6368"> Pay</tspan></text></svg></li><li><svg viewBox="0 0 48 30" role="img" aria-label="Shop Pay"><rect width="48" height="30" rx="4" fill="#5A31F4"/><text x="24" y="19" text-anchor="middle" font-family="Arial,Helvetica,sans-serif" font-weight="700" font-size="8.5" fill="#fff">shop Pay</text></svg></li></ul> 3701 3702 <span class="chale-foot__policies"><a href="/policies/privacy-policy">Privacy policy</a><a href="/policies/terms-of-service">Terms of service</a></span> 3703 </div> 3704 </div> 3705 </footer> 3706</div> 3707 3708</section> 3709<!-- END sections: footer-group --> 3710 </footer> 3711 </div> 3712 3713 3714 3715 <div 3716 id="shopify-section-cart-drawer-section" 3717 class="shopify-section" 3718 > 3719 3720 3721
3721<script 3722 type="module" 3723 src="//chalespirulina.com/cdn/shop/t/4/assets/cart-drawer.js?v=101430053943909765251782452301" 3724 fetchpriority="low" 3725 ></script>
3725 3726 3727 3728 3729 <theme-drawer 3730 id="cart-drawer" 3731 data-skip-node-update 3732 > 3733 <dialog 3734 ref="panel" 3735 class="theme-drawer__dialog color-custom-drawer" 3736 aria-labelledby="cart-drawer-heading" 3737 cart-summary-sticky="true" 3738 > 3739 <cart-drawer-component 3740 3741 auto-open 3742 3743 > 3744 <template id="empty-cart-template"> 3745 3746 <div 3747 class="cart-drawer__content" 3748 aria-label="Cart" 3749 > 3750 <h2 3751 class="theme-drawer__title h4" 3752 id="cart-drawer-heading" 3753 > 3754 Your cart is empty 3755 </h2> 3756 3757 <div class="cart-drawer__items"> 3758 3759 3760
3761<script 3762 src="//chalespirulina.com/cdn/shop/t/4/assets/component-cart-items.js?v=14476580701730542761782452301" 3763 type="module" 3764 fetchpriority="low" 3765></script>
vendor: 1 bytes, line 3765
3765
3766<script 3767 src="//chalespirulina.com/cdn/shop/t/4/assets/component-cart-quantity-selector.js?v=168493463479860323171782452301" 3768 type="module" 3769 fetchpriority="low" 3770></script>
vendor: 1 bytes, line 3770
3770
3771<script 3772 src="//chalespirulina.com/cdn/shop/t/4/assets/volume-pricing-info.js?v=94479640769665442661782452301" 3773 type="module" 3774 fetchpriority="low" 3775></script>
3775 3776 3777<div 3778 3779 class="cart-items__wrapper cart-items__wrapper--drawer-empty" 3780 3781 data-cart-drawer-empty 3782 3783 style="" 3784> 3785 3786<p> 3787 Have an account? <a href="https://chalespirulina.com/customer_authentication/redirect?locale=en®ion_country=NL">Log in</a> to check out faster. 3788 </p><a 3789 class="button cart-items__empty-button" 3790 href="/collections/all" 3791 > 3792 <span class="button-text"> 3793 Continue shopping 3794 </span> 3795 </a></div> 3796 3797 3798 3799 </div> 3800 </div> 3801 3802 </template> 3803 3804 <div 3805 class="cart-drawer__inner cart-drawer--empty" 3806 data-hydration-key="cart-drawer-inner" 3807 ><div class="theme-drawer__header"> 3808 <button 3809 on:click="#cart-drawer/close" 3810 class="theme-drawer__close-button cart-drawer__close-button--empty" 3811 type="button" 3812 aria-label="Close" 3813 > 3814 <span class="svg-wrapper"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 3815<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 3816</svg> 3817</span> 3818 </button> 3819 </div> 3820 3821 3822<cart-items-component 3823 class="cart-items-component" 3824 3825 data-drawer 3826 view-event-trigger="dialog" 3827 3828 data-section-id="cart-drawer-section" 3829 3830 view-event-payload="{"context":null,"cart":null}" 3831 3832> 3833 3834 3835 <div 3836 class="cart-drawer__content" 3837 aria-label="Cart" 3838 > 3839 <h2 3840 class="theme-drawer__title h4" 3841 id="cart-drawer-heading" 3842 > 3843 Your cart is empty 3844 </h2> 3845 3846 <div class="cart-drawer__items"> 3847 3848 3849
3850<script 3851 src="//chalespirulina.com/cdn/shop/t/4/assets/component-cart-items.js?v=14476580701730542761782452301" 3852 type="module" 3853 fetchpriority="low" 3854></script>
vendor: 1 bytes, line 3854
3854
3855<script 3856 src="//chalespirulina.com/cdn/shop/t/4/assets/component-cart-quantity-selector.js?v=168493463479860323171782452301" 3857 type="module" 3858 fetchpriority="low" 3859></script>
vendor: 1 bytes, line 3859
3859
3860<script 3861 src="//chalespirulina.com/cdn/shop/t/4/assets/volume-pricing-info.js?v=94479640769665442661782452301" 3862 type="module" 3863 fetchpriority="low" 3864></script>
3864 3865 3866<div 3867 3868 class="cart-items__wrapper cart-items__wrapper--drawer-empty" 3869 3870 data-cart-drawer-empty 3871 3872 style="" 3873> 3874 3875<p> 3876 Have an account? <a href="https://chalespirulina.com/customer_authentication/redirect?locale=en®ion_country=NL">Log in</a> to check out faster. 3877 </p><a 3878 class="button cart-items__empty-button" 3879 href="/collections/all" 3880 > 3881 <span class="button-text"> 3882 Continue shopping 3883 </span> 3884 </a></div> 3885 3886 3887 3888 </div> 3889 </div> 3890 3891 3892</cart-items-component> 3893 3894 3895 3896 </div> 3897 </cart-drawer-component> 3898 </dialog> 3899 </theme-drawer> 3900 3901 3902 </div> 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912
3913<script 3914 type="module" 3915 src="//chalespirulina.com/cdn/shop/t/4/assets/theme-drawer.js?v=155110645205299884131782452301" 3916 fetchpriority="low" 3917></script>
3917 3918
3919<script> 3920 /* Runs synchronously during HTML parsing â opens the correct drawer on first 3921 paint if navigation state was saved, so it renders with the rest of the page. */ 3922 (function () { 3923 var drawerIds = (sessionStorage.getItem('theme-drawer-open') || '').split(',').filter(Boolean); 3924 if (!drawerIds.length) return; 3925 3926 // Only restore on wide viewports (squeeze mode). On narrow viewports the 3927 // drawer is a modal overlay â let it start closed after navigation rather 3928 // than re-opening a fullscreen dialog the user may have left behind. 3929 if (!window.matchMedia('(min-width: 990px)').matches) return; 3930 3931 var dialogs = []; 3932 for (var i = 0; i < drawerIds.length; i++) { 3933 var drawer = document.getElementById(drawerIds[i]); 3934 if (!drawer) continue; 3935 3936 drawer.setAttribute('open', ''); 3937 3938 // Set [open] directly so the CSS slide-in applies without triggering 3939 // the browser's dialog focusing steps â on wide viewports the drawer is 3940 // a sidebar, not a modal, so focus should stay where it is. 3941 // The instant class suppresses the slide-in transition for the initial restore. 3942 // Set --drawer-stack-order so z-index layering matches the original order. 3943 drawer.style.setProperty('--drawer-stack-order', String(i + 1)); 3944 3945 var dialog = drawer.querySelector('dialog'); 3946 if (dialog) { 3947 dialog.setAttribute('open', ''); 3948 dialog.classList.add('theme-drawer__dialog-instant'); 3949 dialogs.push(dialog); 3950 } 3951 3952 // Let each drawer type handle its own restore (e.g. shopify-chat mode). 3953 // Synchronous dispatch â listeners attached during earlier parsing run immediately. 3954 drawer.dispatchEvent(new CustomEvent('theme-drawer:restoring')); 3955 } 3956 3957 // Apply squeeze immediately, bypassing the margin transition. 3958 // Only squeeze if at least one drawer was actually restored â saved 3959 // drawer IDs may not exist on every page (e.g. cart-drawer on /cart). 3960 var pageWrapper = document.querySelector('.page-wrapper'); 3961 if (pageWrapper && dialogs.length > 0) { 3962 pageWrapper.style.transition = 'none'; 3963 pageWrapper.classList.add('page-wrapper--drawer-open'); 3964 } 3965 3966 // Re-enable transitions after one paint so the instant state is rendered first. 3967 requestAnimationFrame(function () { 3968 requestAnimationFrame(function () { 3969 if (pageWrapper) pageWrapper.style.transition = ''; 3970 for (var j = 0; j < dialogs.length; j++) { 3971 dialogs[j].classList.remove('theme-drawer__dialog-instant'); 3972 } 3973 }); 3974 }); 3975 })(); 3976</script>
3976 3977
3978<script 3979 type="module" 3980> 3981 const pageWrapper = document.querySelector('.page-wrapper'); 3982 const squeezeQuery = window.matchMedia('(min-width: 990px)'); 3983 3984 // ââ Squeeze coordination ââ 3985 // Listens to all drawers. Only squeezes on wide viewports. 3986 document.addEventListener('theme-drawer:open', () => { 3987 if (squeezeQuery.matches) { 3988 pageWrapper?.classList.add('page-wrapper--drawer-open'); 3989 } 3990 }); 3991 3992 document.addEventListener('theme-drawer:close', () => { 3993 const openDrawer = document.querySelector('theme-drawer[open]'); 3994 if (!openDrawer) { 3995 pageWrapper?.classList.remove('page-wrapper--drawer-open'); 3996 } 3997 }); 3998 3999 squeezeQuery.addEventListener('change', () => { 4000 const openDrawer = document.querySelector('theme-drawer[open]'); 4001 pageWrapper?.classList.toggle('page-wrapper--drawer-open', Boolean(openDrawer) && squeezeQuery.matches); 4002 }); 4003 4004 // ââ State persistence ââ 4005 // Store open drawer IDs sorted by their visual stack order so 4006 // the restore script can recreate the same z-index layering. 4007 function persistDrawerState() { 4008 const openDrawers = Array.from(document.querySelectorAll('theme-drawer[open]:not([no-persist])')); 4009 if (!openDrawers.length) { 4010 sessionStorage.removeItem('theme-drawer-open'); 4011 return; 4012 } 4013 4014 openDrawers.sort((a, b) => { 4015 const orderA = Number(a.style.getPropertyValue('--drawer-stack-order') || 0); 4016 const orderB = Number(b.style.getPropertyValue('--drawer-stack-order') || 0); 4017 return orderA - orderB; 4018 }); 4019 4020 sessionStorage.setItem('theme-drawer-open', openDrawers.map((d) => d.id).join(',')); 4021 } 4022 4023 document.addEventListener('theme-drawer:open', persistDrawerState); 4024 document.addEventListener('theme-drawer:close', persistDrawerState); 4025</script>
4025 4026 4027 4028 4029 4030 4031 4032 4033 4034
4035<script 4036 src="//chalespirulina.com/cdn/shop/t/4/assets/dialog.js?v=144816527575655702281782452301" 4037 type="module" 4038></script>
4038 4039
4040<script 4041 src="//chalespirulina.com/cdn/shop/t/4/assets/predictive-search.js?v=162722252387887966571782452301" 4042 type="module" 4043 fetchpriority="low" 4044></script>
4044 4045 4046<dialog-component 4047 id="search-modal" 4048 class="search-modal" 4049 4050> 4051 <dialog 4052 ref="dialog" 4053 on:click="/closeDialogOnClickOutside" 4054 on:keydown="/closeDialogOnEscapePress" 4055 class="search-modal__content dialog-modal" 4056 scroll-lock 4057 aria-labelledby="search-modal-heading" 4058 > 4059 <h2 4060 id="search-modal-heading" 4061 class="visually-hidden" 4062 > 4063 Search 4064 </h2> 4065 <predictive-search-component 4066 class="predictive-search color-custom-popover" 4067 style="--product-corner-radius: 8px; --card-corner-radius: 8px;" 4068 data-section-id="predictive-search" 4069 data-testid="search-component--modal" 4070 role="search" 4071 aria-label="Search" 4072 > 4073 <form 4074 action="/search" 4075 method="get" 4076 role="search" 4077 class="predictive-search-form" 4078 ref="form" 4079 on:keydown="/onSearchKeyDown" 4080 > 4081 <div 4082 class="predictive-search-form__header" 4083 > 4084 <div class="predictive-search-form__header-inner"> 4085 <label 4086 for="cmdk-input" 4087 class="visually-hidden" 4088 >Search</label> 4089 <input 4090 class="search-input" 4091 id="cmdk-input" 4092 type="search" 4093 name="q" 4094 role="combobox" 4095 aria-expanded="false" 4096 aria-owns="predictive-search-results" 4097 aria-controls="predictive-search-results" 4098 aria-haspopup="listbox" 4099 aria-autocomplete="list" 4100 autocomplete="off" 4101 placeholder="Search" 4102 ref="searchInput" 4103 on:input="/search" 4104 on:keydown="/onSearchKeyDown" 4105 > 4106 <input 4107 name="options[prefix]" 4108 type="hidden" 4109 value="last" 4110 > 4111 <span class="svg-wrapper predictive-search__icon"> 4112 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 4113 4114 </span> 4115 <button 4116 type="button" 4117 class="button-unstyled predictive-search__reset-button" 4118 ref="resetButton" 4119 hidden 4120 on:click="/resetSearch" 4121 > 4122 Clear 4123 </button> 4124 </div> 4125 <button 4126 type="button" 4127 class="button predictive-search__close-modal-button" 4128 aria-label="Close dialog" 4129 on:click="dialog-component/closeDialog" 4130 ref="closeModalButton" 4131 > 4132 <span class="svg-wrapper"> 4133 <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 4134<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 4135</svg> 4136 4137 </span> 4138 </button> 4139 </div> 4140 4141 <div class="predictive-search-form__content-wrapper"> 4142 <div 4143 class="predictive-search-form__content" 4144 ref="predictiveSearchResults" 4145 on:click="/handleModalClick" 4146 > 4147 4148 4149<div 4150 id="predictive-search-results" 4151 class="predictive-search-dropdown" 4152 role="listbox" 4153 aria-expanded="true" 4154 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 4155> 4156 4157 <div class="predictive-search-results__inner"> 4158 4159 4160 4161 4162 4163 <div 4164 id="predictive-search-products" 4165 class="predictive-search-results__products" 4166 4167 data-testid="products-list-default--modal" 4168 4169> 4170 4171 <h4 class="predictive-search-results__title"> 4172 Products 4173 </h4> 4174 <ul 4175 class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled" 4176 > 4177 4178 4179 <li 4180 class="predictive-search-results__card predictive-search-results__card--product" 4181 ref="resultsItems[]" 4182 > 4183 4184<product-component 4185 class="resource-card__wrapper" 4186 4187 4188 view-event-payload="{"product":{"id":10891861033298,"title":"Spirulina Powder","handle":"spirulina-powder-30-days","selectedVariant":null},"context":"search","selectedOptions":[]}" 4189 4190 ><div 4191 class="resource-card" 4192 data-resource-type="product" 4193> 4194 <a 4195 class="resource-card__link" 4196 href="/products/spirulina-powder-30-days" 4197 > 4198 <span class="visually-hidden"> 4199 Spirulina Powder 4200 </span> 4201 </a> 4202 <div 4203 class="resource-card__media" 4204 style="--resource-card-aspect-ratio: 4 / 5;" 4205 4206 > 4207 4208 4209 4210 <img src="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=500" alt="" srcset="//chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=240 240w, //chalespirulina.com/cdn/shop/files/ChatGPT_Image_14_jul_2026_10_49_53.png?v=1784019126&width=352 352w" width="500" height="669" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4211</div> 4212 4213 <div class="resource-card__content"> 4214 <p class="resource-card__title paragraph">Spirulina Powder</p> 4215 4216 4217 <div ref="priceContainer"> 4218 4219 4220 <div 4221 class=" 4222 price__regular 4223 4224 " 4225 >
4226 <span class="price">â¬19,99</span> 4227 </div> 4228 <div 4229 class=" 4230 price__sale 4231 4232 price__hidden 4233 4234 " 4235 > 4236 4237 <span class="price-item__group"> 4238 <span class="visually-hidden">Regular price </span> 4239 <span class="price-item--regular compare-at-price"></span> 4240 </span> 4241 <span class="price-item__group"> 4242 <span class="visually-hidden">Sale price </span> 4243 <span class="price-item--sale price">â¬19,99</span> 4244 </span> 4245 4246 </div> 4247 4248</div> 4249 4250 </div> 4251</div></product-component> 4252 4253 </li> 4254 4255 <li 4256 class="predictive-search-results__card predictive-search-results__card--product" 4257 ref="resultsItems[]" 4258 > 4259 4260<product-component 4261 class="resource-card__wrapper" 4262 4263 4264 view-event-payload="{"product":{"id":11023260057938,"title":"Spirulina powder 1.5kg BULK","handle":"spirulina-powder-1-5kg-bulk","selectedVariant":null},"context":"search","selectedOptions":[]}" 4265 4266 ><div 4267 class="resource-card" 4268 data-resource-type="product" 4269> 4270 <a 4271 class="resource-card__link" 4272 href="/products/spirulina-powder-1-5kg-bulk" 4273 > 4274 <span class="visually-hidden"> 4275 Spirulina powder 1.5kg BULK 4276 </span> 4277 </a> 4278 <div 4279 class="resource-card__media" 4280 style="--resource-card-aspect-ratio: 4 / 5;" 4281 4282 > 4283 4284 4285<div 4286 aria-hidden="true" 4287 class="resource-card__image-placeholder" 4288 >Spirulina powder 1.5kg BULK</div></div> 4289 4290 <div class="resource-card__content"> 4291 <p class="resource-card__title paragraph">Spirulina powder 1.5kg BULK</p> 4292 4293 4294 <div ref="priceContainer"> 4295 4296 4297 <div 4298 class=" 4299 price__regular 4300 4301 " 4302 > 4303 <span class="price">â¬0,00</span> 4304 </div> 4305 <div 4306 class=" 4307 price__sale 4308 4309 price__hidden 4310 4311 " 4312 > 4313 4314 <span class="price-item__group"> 4315 <span class="visually-hidden">Regular price </span> 4316 <span class="price-item--regular compare-at-price"></span> 4317 </span> 4318 <span class="price-item__group"> 4319 <span class="visually-hidden">Sale price </span> 4320 <span class="price-item--sale price">â¬0,00</span> 4321 </span> 4322 4323 </div> 4324 4325</div> 4326 4327 </div> 4328</div></product-component> 4329 4330 </li> 4331 4332 <li 4333 class="predictive-search-results__card predictive-search-results__card--product" 4334 ref="resultsItems[]" 4335 > 4336 4337<product-component 4338 class="resource-card__wrapper" 4339 4340 4341 view-event-payload="{"product":{"id":10891863556434,"title":"Spirulina Sprinkles","handle":"spirulina-sprinkles-30-days","selectedVariant":null},"context":"search","selectedOptions":[]}" 4342 4343 ><div 4344 class="resource-card" 4345 data-resource-type="product" 4346> 4347 <a 4348 class="resource-card__link" 4349 href="/products/spirulina-sprinkles-30-days" 4350 > 4351 <span class="visually-hidden"> 4352 Spirulina Sprinkles 4353 </span> 4354 </a> 4355 <div 4356 class="resource-card__media" 4357 style="--resource-card-aspect-ratio: 4 / 5;" 4358 4359 > 4360 4361 4362 4363 <img src="//chalespirulina.com/cdn/shop/files/hf_20260714_084110_f032e4ff-ea78-49b8-b522-6201aa03bfaf_1.png?v=1784019127&width=500" alt="" srcset="//chalespirulina.com/cdn/shop/files/hf_20260714_084110_f032e4ff-ea78-49b8-b522-6201aa03bfaf_1.png?v=1784019127&width=240 240w, //chalespirulina.com/cdn/shop/files/hf_20260714_084110_f032e4ff-ea78-49b8-b522-6201aa03bfaf_1.png?v=1784019127&width=352 352w" width="500" height="670" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4364</div> 4365 4366 <div class="resource-card__content"> 4367 <p class="resource-card__title paragraph">Spirulina Sprinkles</p> 4368 4369 4370 <div ref="priceContainer"> 4371 4372 4373 <div 4374 class=" 4375 price__regular 4376 4377 " 4378 >
4379 <span class="price">â¬19,99</span> 4380 </div> 4381 <div 4382 class=" 4383 price__sale 4384 4385 price__hidden 4386 4387 " 4388 > 4389 4390 <span class="price-item__group"> 4391 <span class="visually-hidden">Regular price </span> 4392 <span class="price-item--regular compare-at-price"></span> 4393 </span> 4394 <span class="price-item__group"> 4395 <span class="visually-hidden">Sale price </span> 4396 <span class="price-item--sale price">â¬19,99</span> 4397 </span> 4398 4399 </div> 4400 4401</div> 4402 4403 </div> 4404</div></product-component> 4405 4406 </li> 4407 4408 <li 4409 class="predictive-search-results__card predictive-search-results__card--product" 4410 ref="resultsItems[]" 4411 > 4412 4413<product-component 4414 class="resource-card__wrapper" 4415 4416 4417 view-event-payload="{"product":{"id":11023259828562,"title":"Spirulina sprinkles 1.5kg BULK","handle":"spirulina-sprinkles-1-5kg-bulk","selectedVariant":null},"context":"search","selectedOptions":[]}" 4418 4419 ><div 4420 class="resource-card" 4421 data-resource-type="product" 4422> 4423 <a 4424 class="resource-card__link" 4425 href="/products/spirulina-sprinkles-1-5kg-bulk" 4426 > 4427 <span class="visually-hidden"> 4428 Spirulina sprinkles 1.5kg BULK 4429 </span> 4430 </a> 4431 <div 4432 class="resource-card__media" 4433 style="--resource-card-aspect-ratio: 4 / 5;" 4434 4435 > 4436 4437 4438<div 4439 aria-hidden="true" 4440 class="resource-card__image-placeholder" 4441 >Spirulina sprinkles 1.5kg BULK</div></div> 4442 4443 <div class="resource-card__content"> 4444 <p class="resource-card__title paragraph">Spirulina sprinkles 1.5kg BULK</p> 4445 4446 4447 <div ref="priceContainer"> 4448 4449 4450 <div 4451 class=" 4452 price__regular 4453 4454 " 4455 > 4456 <span class="price">â¬0,00</span> 4457 </div> 4458 <div 4459 class=" 4460 price__sale 4461 4462 price__hidden 4463 4464 " 4465 > 4466 4467 <span class="price-item__group"> 4468 <span class="visually-hidden">Regular price </span> 4469 <span class="price-item--regular compare-at-price"></span> 4470 </span> 4471 <span class="price-item__group"> 4472 <span class="visually-hidden">Sale price </span> 4473 <span class="price-item--sale price">â¬0,00</span> 4474 </span> 4475 4476 </div> 4477 4478</div> 4479 4480 </div> 4481</div></product-component> 4482 4483 </li> 4484 4485 </ul> 4486 4487</div> 4488 4489 4490 4491 </div> 4492 4493</div> 4494 4495 </div> 4496 4497 <div class="predictive-search-form__footer"> 4498 <button 4499 class="button predictive-search__search-button" 4500 ref="viewAllButton" 4501 > 4502 View all 4503 </button> 4504 </div> 4505 </div> 4506 </form> 4507 </predictive-search-component> 4508 </dialog> 4509</dialog-component> 4510 4511 4512 4513 4514 4515
4515<script 4516 src="//chalespirulina.com/cdn/shop/t/4/assets/gift-card-recipient-form.js?v=170482155849799299241782452301" 4517 type="module" 4518 fetchpriority="low" 4519></script>
4519 4520<quick-add-dialog id="quick-add-dialog"> 4521 <dialog 4522 class="quick-add-modal dialog-modal color-custom-popover" 4523 ref="dialog" 4524 scroll-lock 4525 > 4526 <button 4527 ref="closeButton" 4528 on:click="/closeDialog" 4529 class="button button-unstyled close-button quick-add-modal__close" 4530 aria-label="Close dialog" 4531 ><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 4532<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/> 4533</svg> 4534</button> 4535 4536 <product-component 4537 id="quick-add-modal-content" 4538 class="quick-add-modal__content" 4539 view-event-trigger="dialog" 4540 ></product-component> 4541 </dialog> 4542</quick-add-dialog> 4543 4544 4545 4546 4547 4548 4549 4550 <div id="shopify-block-AbXlxMFBiZSt3TUI4V__17198465164502963513" class="shopify-block shopify-app-block"> 4551<link rel="stylesheet" href="https://insurance-widget-prod.pages.dev/ins-theme-app.css" media="print" onload="this.media='all'" data-insurance-tag="load-theme-app-css"> 4552
4553<script defer="defer" src="https://insurance-widget-prod.pages.dev/ins-theme-app.js" type="text/javascript"></script>
4553 4554 4555 4556</div>
4556<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4556 4557</body> 4558</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.